- if(!strcmp(path, "files.xml") || !strcmp(path, "files.xml.bz2") || !strcmp(path, "MyList.DcLst"))
- return(sstrdup(path));
- ret = NULL;
- retsize = retdata = 0;
- addtobuf(ret, '/');
- for(; *path; path++)
- {
- if(*path == '\\')
- addtobuf(ret, '/');
- else
- addtobuf(ret, *path);
+ if((ret = icmbstowcs(nmdc, charset)) == NULL)
+ return(NULL);
+ for(p = ret; *p != L'\0'; p++) {
+ if(*p == L'\\')
+ *p = L'/';
+ }
+ return(ret);
+}
+
+static char *path2nmdc(wchar_t *path, char *charset)
+{
+ char *ret, *p;
+
+ if((ret = icwcstombs(path, charset)) == NULL)
+ return(NULL);
+ for(p = ret; *p; p++) {
+ if(*p == '/')
+ *p = '\\';