Hex Artifact Content
Not logged in

Artifact 782f8afcae76d1c9236ac31d94daeeb915322317:

Ticket change [782f8afcae] - Ticket cdd360438d Fossil does not handle absolute paths without disk drives in Windows. status still Open with 2 other changes by drh on 2009-09-13 11:47:15.

0000: 44 20 32 30 30 39 2d 30 39 2d 31 33 54 31 31 3a  D 2009-09-13T11:
0010: 34 37 3a 31 35 0a 4a 20 2b 63 6f 6d 6d 65 6e 74  47:15.J +comment
0020: 20 5c 6e 5c 6e 3c 68 72 3e 3c 69 3e 64 72 68 5c   \n\n<hr><i>drh\
0030: 73 61 64 64 65 64 5c 73 6f 6e 5c 73 32 30 30 39  sadded\son\s2009
0040: 2d 30 39 2d 31 33 5c 73 31 31 3a 34 37 3a 31 35  -09-13\s11:47:15
0050: 3a 3c 2f 69 3e 3c 62 72 3e 5c 6e 49 5c 73 74 68  :</i><br>\nI\sth
0060: 69 6e 6b 5c 73 74 68 61 74 5c 73 74 68 65 5c 73  ink\sthat\sthe\s
0070: 66 6f 6c 6c 6f 77 69 6e 67 5c 73 70 61 74 63 68  following\spatch
0080: 5c 73 6d 61 79 5c 73 62 65 5c 73 73 75 66 66 69  \smay\sbe\ssuffi
0090: 63 69 65 6e 74 5c 73 74 6f 5c 73 66 69 78 5c 73  cient\sto\sfix\s
00a0: 74 68 69 73 3a 5c 72 5c 6e 5c 72 5c 6e 3c 76 65  this:\r\n\r\n<ve
00b0: 72 62 61 74 69 6d 3e 5c 72 5c 6e 2d 2d 2d 5c 73  rbatim>\r\n---\s
00c0: 73 72 63 2f 66 69 6c 65 2e 63 5c 72 5c 6e 2b 2b  src/file.c\r\n++
00d0: 2b 5c 73 73 72 63 2f 66 69 6c 65 2e 63 5c 72 5c  +\ssrc/file.c\r\
00e0: 6e 40 40 5c 73 2d 32 34 34 2c 31 30 5c 73 2b 32  n@@\s-244,10\s+2
00f0: 34 34 2c 31 31 5c 73 40 40 5c 72 5c 6e 5c 73 2a  44,11\s@@\r\n\s*
0100: 2a 5c 73 43 6f 6e 76 65 72 74 5c 73 2f 41 2f 2e  *\sConvert\s/A/.
0110: 2e 2f 5c 73 74 6f 5c 73 6a 75 73 74 5c 73 2f 5c  ./\sto\sjust\s/\
0120: 72 5c 6e 5c 73 2a 2f 5c 72 5c 6e 5c 73 76 6f 69  r\n\s*/\r\n\svoi
0130: 64 5c 73 66 69 6c 65 5f 63 61 6e 6f 6e 69 63 61  d\sfile_canonica
0140: 6c 5f 6e 61 6d 65 28 63 6f 6e 73 74 5c 73 63 68  l_name(const\sch
0150: 61 72 5c 73 2a 7a 4f 72 69 67 4e 61 6d 65 2c 5c  ar\s*zOrigName,\
0160: 73 42 6c 6f 62 5c 73 2a 70 4f 75 74 29 7b 5c 72  sBlob\s*pOut){\r
0170: 5c 6e 5c 73 5c 73 5c 73 69 66 28 5c 73 7a 4f 72  \n\s\s\sif(\szOr
0180: 69 67 4e 61 6d 65 5b 30 5d 3d 3d 27 2f 27 5c 72  igName[0]=='/'\r
0190: 5c 6e 5c 73 23 69 66 64 65 66 5c 73 5f 5f 4d 49  \n\s#ifdef\s__MI
01a0: 4e 47 57 33 32 5f 5f 5c 72 5c 6e 2b 5c 73 5c 73  NGW32__\r\n+\s\s
01b0: 5c 73 5c 73 5c 73 5c 73 7c 7c 5c 73 7a 4f 72 69  \s\s\s\s||\szOri
01c0: 67 4e 61 6d 65 5b 30 5d 3d 3d 27 5c 5c 5c 5c 27  gName[0]=='\\\\'
01d0: 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73  \r\n\s\s\s\s\s\s
01e0: 5c 73 7c 7c 5c 73 28 73 74 72 6c 65 6e 28 7a 4f  \s||\s(strlen(zO
01f0: 72 69 67 4e 61 6d 65 29 3e 33 5c 73 26 26 5c 73  rigName)>3\s&&\s
0200: 7a 4f 72 69 67 4e 61 6d 65 5b 31 5d 3d 3d 27 3a  zOrigName[1]==':
0210: 27 5c 72 5c 6e 5c 73 5c 73 5c 73 5c 73 5c 73 5c  '\r\n\s\s\s\s\s\
0220: 73 5c 73 5c 73 5c 73 5c 73 5c 73 5c 73 26 26 5c  s\s\s\s\s\s\s&&\
0230: 73 28 7a 4f 72 69 67 4e 61 6d 65 5b 32 5d 3d 3d  s(zOrigName[2]==
0240: 27 5c 5c 5c 5c 27 5c 73 7c 7c 5c 73 7a 4f 72 69  '\\\\'\s||\szOri
0250: 67 4e 61 6d 65 5b 32 5d 3d 3d 27 2f 27 29 29 5c  gName[2]=='/'))\
0260: 72 5c 6e 5c 73 23 65 6e 64 69 66 5c 72 5c 6e 5c  r\n\s#endif\r\n\
0270: 73 5c 73 5c 73 29 7b 5c 72 5c 6e 5c 73 5c 73 5c  s\s\s){\r\n\s\s\
0280: 73 5c 73 5c 73 62 6c 6f 62 5f 73 65 74 28 70 4f  s\s\sblob_set(pO
0290: 75 74 2c 5c 73 7a 4f 72 69 67 4e 61 6d 65 29 3b  ut,\szOrigName);
02a0: 5c 72 5c 6e 3c 2f 76 65 72 62 61 74 69 6d 3e 5c  \r\n</verbatim>\
02b0: 72 5c 6e 5c 72 5c 6e 49 5c 73 77 69 6c 6c 5c 73  r\n\r\nI\swill\s
02c0: 73 74 72 69 76 65 5c 73 74 6f 5c 73 62 6f 6f 74  strive\sto\sboot
02d0: 5c 73 75 70 5c 73 61 5c 73 63 6f 70 79 5c 73 6f  \sup\sa\scopy\so
02e0: 66 5c 73 77 69 6e 64 6f 77 73 5c 73 74 68 69 73  f\swindows\sthis
02f0: 5c 73 61 66 74 65 72 6e 6f 6f 6e 5c 73 61 6e 64  \safternoon\sand
0300: 5c 73 74 72 79 5c 73 69 74 5c 73 6f 75 74 2e 5c  \stry\sit\sout.\
0310: 72 5c 6e 49 6e 5c 73 74 68 65 5c 73 6d 65 61 6e  r\nIn\sthe\smean
0320: 74 69 6d 65 2c 5c 73 61 5c 73 77 6f 72 6b 2d 61  time,\sa\swork-a
0330: 72 6f 75 6e 64 5c 73 6d 69 67 68 74 5c 73 62 65  round\smight\sbe
0340: 5c 73 74 6f 5c 73 75 73 65 5c 73 66 6f 72 77 61  \sto\suse\sforwa
0350: 72 64 5c 73 73 6c 61 73 68 65 73 5c 73 28 22 2f  rd\sslashes\s("/
0360: 22 29 5c 73 69 6e 73 74 65 61 64 5c 73 6f 66 5c  ")\sinstead\sof\
0370: 72 5c 6e 62 61 63 6b 73 6c 61 73 68 65 73 5c 73  r\nbackslashes\s
0380: 28 22 5c 5c 22 29 5c 73 69 6e 5c 73 74 68 65 5c  ("\\")\sin\sthe\
0390: 73 70 61 74 68 6e 61 6d 65 2c 5c 73 61 74 5c 73  spathname,\sat\s
03a0: 6c 65 61 73 74 5c 73 66 6f 72 5c 73 74 68 65 5c  least\sfor\sthe\
03b0: 73 66 69 72 73 74 5c 73 63 68 61 72 61 63 74 65  sfirst\scharacte
03c0: 72 5c 73 6f 66 5c 72 5c 6e 61 6e 5c 73 61 62 73  r\sof\r\nan\sabs
03d0: 6f 6c 75 74 65 5c 73 70 61 74 68 6e 61 6d 65 2e  olute\spathname.
03e0: 5c 72 5c 6e 0a 4a 20 72 65 73 6f 6c 75 74 69 6f  \r\n.J resolutio
03f0: 6e 20 4f 70 65 6e 0a 4b 20 63 64 64 33 36 30 34  n Open.K cdd3604
0400: 33 38 64 65 31 33 33 31 62 38 33 38 37 34 66 62  38de1331b83874fb
0410: 62 37 30 66 34 65 30 64 32 32 66 64 62 61 65 37  b70f4e0d22fdbae7
0420: 39 0a 55 20 64 72 68 0a 5a 20 62 34 31 36 35 62  9.U drh.Z b4165b
0430: 33 64 36 33 39 30 34 61 38 64 34 31 39 62 31 30  3d63904a8d419b10
0440: 38 30 32 38 31 31 31 35 30 38 0a                 8028111508.