git-svn-id: svn://db.shs.com.ru/pip@221 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2016-08-15 14:09:06 +00:00
parent 9623206621
commit 16052b501c
4 changed files with 15 additions and 10 deletions

View File

@@ -85,9 +85,7 @@ void android_thread_exit_handler(int sig) {
PIInit::PIInit() {
PISystemInfo * sinfo = PISystemInfo::instance();
sinfo->execDateTime = PIDateTime::current();
file_charset = new char[1024];
memset(file_charset, 0, 1024);
strcpy(file_charset, "UTF-8");
setFileCharset("UTF-8");
#ifndef ANDROID
PISignals::setSlot(__sighandler__);
PISignals::grabSignals(PISignals::UserDefined1);
@@ -276,6 +274,17 @@ PIInit::~PIInit() {
}
void PIInit::setFileCharset(const char *charset) {
if (file_charset) delete file_charset;
file_charset = 0;
if (charset) {
file_charset = new char[1024];
memset(file_charset, 0, 1024);
strcpy(file_charset, charset);
}
}
bool PIInit::fileExists(const PIString & p) {
FILE * f = fopen(p.data(), "r");
if (f == 0)

View File

@@ -47,6 +47,7 @@ public:
~PIInit();
static PIInit * instance() {return __PIInit_Initializer__::__instance__;}
private:
void setFileCharset(const char *charset);
bool fileExists(const PIString & p);
#ifdef WINDOWS
HMODULE ntlib;

View File

@@ -263,7 +263,7 @@ void PIString::trimsubstr(int &st, int &fn) const {
for (int i = length() - 1; i >= 0; --i)
if (at(i) != ' ' && at(i) != '\t' && at(i) != '\n' && at(i) != '\r' && at(i) != char(12))
{fn = i; break;}
piCout << "trim" << st << fn;
// piCout << "trim" << st << fn;
}

View File

@@ -412,12 +412,7 @@ const char * PIFile::defaultCharset() {
void PIFile::setDefaultCharset(const char * c) {
if (PIInit::instance()->file_charset) delete PIInit::instance()->file_charset;
PIInit::instance()->file_charset = 0;
if (!c) return;
PIInit::instance()->file_charset = new char[1024];
memset(PIInit::instance()->file_charset, 0, 1024);
strcpy(PIInit::instance()->file_charset, c);
PIInit::instance()->setFileCharset(c);
}