tony2001 Mon Jan 16 19:47:07 2006 UTC Modified files: /php-src/main/streams plain_wrapper.c Log: fix bug #35999 (recursive mkdir() does not work with relative path like "foo/bar") http://cvs.php.net/viewcvs.cgi/php-src/main/streams/plain_wrapper.c?r1=1.56&r2=1.57&diff_format=u Index: php-src/main/streams/plain_wrapper.c diff -u php-src/main/streams/plain_wrapper.c:1.56 php-src/main/streams/plain_wrapper.c:1.57 --- php-src/main/streams/plain_wrapper.c:1.56 Sun Jan 1 13:09:57 2006 +++ php-src/main/streams/plain_wrapper.c Mon Jan 16 19:47:07 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: plain_wrapper.c,v 1.56 2006/01/01 13:09:57 sniper Exp $ */ +/* $Id: plain_wrapper.c,v 1.57 2006/01/16 19:47:07 tony2001 Exp $ */ #include "php.h" #include "php_globals.h" @@ -1095,12 +1095,17 @@ offset = p - buf + 1; } - /* find a top level directory we need to create */ - while ((p = strrchr(buf + offset, DEFAULT_SLASH))) { - *p = '\0'; - if (VCWD_STAT(buf, &sb) == 0) { - *p = DEFAULT_SLASH; - break; + if (p && dir_len == 1) { + /* buf == "DEFAULT_SLASH" */ + } + else { + /* find a top level directory we need to create */ + while ( (p = strrchr(buf + offset, DEFAULT_SLASH)) || (p = strrchr(buf, DEFAULT_SLASH)) ) { + *p = '\0'; + if (VCWD_STAT(buf, &sb) == 0) { + *p = DEFAULT_SLASH; + break; + } } }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php