> -----Original Message----- > From: Branko Čibej [mailto:br...@xbc.nu] > Sent: woensdag 20 januari 2010 10:17 > To: William A. Rowe Jr. > Cc: Bert Huijben; dev@apr.apache.org; 'Philip Martin'; 'Bert Huijben'; > d...@subversion.apache.org > Subject: Re: [Patch] RE: Windows drive letter check fails on lower case > current working drive > > William A. Rowe Jr. wrote: > > On 1/19/2010 5:19 AM, Bert Huijben wrote: > > > >> The patch was written on the 1.4.x branch but I svn switch'ed it to trunk > for easy application. > >> > > > > I would suggest one bit of alternate code that is a bit more condensed, any > > concern?; > > > > +static int same_drive(const char *path1, const char *path2) > > +{ > > + if ((path1[0] < 'A' || (path1[0] > 'Z' && path1[0] < 'a') || path1[0] > > > 'Z') > > + || (path2[0] < 'A' || (path2[0] > 'Z' && path2[0] < 'a') || path2[0] > > > 'Z') > > + || path1[1] != ':' || path2[1] != ':') > > + return 0; > > > > + /* Once in the domain of ASCII alpha, compare these case insensitive */ > > + return ((path1[0] & 0x1f) == (path2[0] & 0x1f)); > > +} > > > Whatever you do, those last Z's should be z's or it all breaks.
No, problem... I initially wrote a more condensed form myself and just made it a bit more readable later. But please fix that 'Z' ;) Thanks, Bert