char * QMkString(char * source) { char * string; if(source) { int len = 0; int i, j = 0; char ch; for(i = 0; (ch = source[i]); i++) { len++; if(ch == '\"' || ch == '\\') len++; } string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (len + 3)); string[j++] = '\"'; for(i = 0; (ch = source[i]); i++) { if(ch == '\"' || ch == '\\') string[j++] = '\\'; string[j++] = ch; } string[j++] = '\"'; string[j] = '\0'; } else string = __ecereNameSpace__ecere__sys__CopyString("0"); return string; }
char * System_GetWorkingDir(char * buf, int size) { #if defined(__WIN32__) uint16 * _wbuf = __ecereNameSpace__ecere__com__eSystem_New(sizeof(uint16) * size); _wgetcwd(_wbuf, size); __ecereNameSpace__ecere__sys__UTF16toUTF8Buffer(_wbuf, (byte *)buf, size); __ecereNameSpace__ecere__com__eSystem_Delete(_wbuf); return buf; #else return getcwd(buf, size); #endif }
char * __ecereNameSpace__ecere__sys__CopyString(char * string) { if(string) { int len = strlen(string); char * destination = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (len + 1)); if(destination) memcpy(destination, string, len + 1); return destination; } else return (((void *)0)); }