--- libxml2/xmlIO.c.orig 2018-03-07 15:31:01.821589739 +0100 +++ libxml2/xmlIO.c 2018-03-07 15:31:21.717589238 +0100 @@ -3709,44 +3709,7 @@ */ char * xmlParserGetDirectory(const char *filename) { - char *ret = NULL; - char dir[1024]; - char *cur; - -#ifdef _WIN32_WCE /* easy way by now ... wince does not have dirs! */ return NULL; -#endif - - if (xmlInputCallbackInitialized == 0) - xmlRegisterDefaultInputCallbacks(); - - if (filename == NULL) return(NULL); - -#if defined(_WIN32) && !defined(__CYGWIN__) -# define IS_XMLPGD_SEP(ch) ((ch=='/')||(ch=='\\')) -#else -# define IS_XMLPGD_SEP(ch) (ch=='/') -#endif - - strncpy(dir, filename, 1023); - dir[1023] = 0; - cur = &dir[strlen(dir)]; - while (cur > dir) { - if (IS_XMLPGD_SEP(*cur)) break; - cur --; - } - if (IS_XMLPGD_SEP(*cur)) { - if (cur == dir) dir[1] = 0; - else *cur = 0; - ret = xmlMemStrdup(dir); - } else { - if (getcwd(dir, 1024) != NULL) { - dir[1023] = 0; - ret = xmlMemStrdup(dir); - } - } - return(ret); -#undef IS_XMLPGD_SEP } /****************************************************************