On 2012-01-27 10:28, cori...@cygwin.com wrote:
CVSROOT: /cvs/src
Module name: src
Changes by: cori...@sourceware.org 2012-01-27 09:28:38
Modified files:
winsup/cygwin : ChangeLog dcrt0.cc
Log message:
* dcrt0.cc (is_dos_path): New macro to recognize drive letter and
UNC
DOS paths.
(globify): Call is_dos_path instead of isdrive.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/ChangeLog.diff?cvsroot=src&r1=1.5666&r2=1.5667
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/dcrt0.cc.diff?cvsroot=src&r1=1.422&r2=1.423
--- src/winsup/cygwin/dcrt0.cc 2011/12/21 17:19:48 1.422
+++ src/winsup/cygwin/dcrt0.cc 2012/01/27 09:28:38 1.423
@@ -194,6 +194,14 @@
/* Perform a glob on word if it contains wildcard characters.
Also quote every character between quotes to force glob to
treat the characters literally. */
+
+/* Either X:[...] or \\server\[...] */
+#define is_dos_path(s) (isdrive(s) \
+ || ((s)[0] == '\\' \
+ && (s)[1] == '\\' \
+ && isalpha ((s)[2]) \
+ && strchr ((s) + 3, '\\')))
Is it safe to access 2nd, 3rd and 4th characters of the word without
checking the length first?
Also, why a macro and not an inline function instead?
--
VZ
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple