--- misc/libxml2-2.9.4/uri.c 2015-11-02 23:28:09.000000000 -0800 +++ misc/build/libxml2-2.9.4/uri.c 2016-03-26 10:19:45.838472000 -0700 @@ -2412,6 +2412,15 @@ return xmlStrdup((const xmlChar *) path); #endif +#if defined(_WIN32) + //We must not change the backslashes to slashes if the the path starts with + // \\?\ + //Those paths can be up to 32k characters long. + len = xmlStrlen(path); + if ((len > 3) && (path[0] == '\\') && (path[1] == '\\') && (path[2] == '?') && (path[3] == '\\') ) + return xmlStrdup((const xmlChar *) path); +#endif + /* sanitize filename starting with // so it can be used as URI */ if ((path[0] == '/') && (path[1] == '/') && (path[2] != '/')) path++;