Tcl Source Code

Check-in [111464a29c]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:[Bug 3603434] Make sure TclpObjNormalizePath() properly declares "a:/" to be normalized, even when no "A:" drive is present on the system.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | core-8-5-branch
Files: files | file ages | folders
SHA1: 111464a29c143a2d10e31f0340d5390a23451642
User & Date: dgp 2013-02-05 16:55:32
Context
2013-02-07
13:53
Tcl_InvalidateStringRep -> TclInvalidateStringRep check-in: c7fb5aa3b9 user: jan.nijtmans tags: core-8-5-branch
2013-02-05
16:56
[Bug 3603434] Make sure TclpObjNormalizePath() properly declares "a:/" to be normalized, even when n... check-in: aba7ba3b9f user: dgp tags: trunk
16:55
[Bug 3603434] Make sure TclpObjNormalizePath() properly declares "a:/" to be normalized, even when n... check-in: 111464a29c user: dgp tags: core-8-5-branch
16:54
[Bug 3603434] Make sure TclpObjNormalizePath() properly declares "a:/" to be normalized, even when n... check-in: fa19dfa605 user: dgp tags: core-8-4-branch
09:17
[Bug 3433012]: Added dummy version of TclpLoadMemory to use in the event that a platform thinks it c... check-in: f8694d903a user: dkf tags: core-8-5-branch
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ChangeLog.







1
2
3
4
5
6
7






2013-02-05  Donal K. Fellows  <[email protected]>

	* generic/tclLoadNone.c (TclpLoadMemory): [Bug 3433012]: Added dummy
	version of this function to use in the event that a platform thinks it
	can load from memory but cannot actually do so due to it being
	disabled at configuration time.

>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
2013-02-05  Don Porter  <[email protected]>

	* win/tclWinFile.c:	[Bug 3603434] Make sure TclpObjNormalizePath() 
	properly declares "a:/" to be normalized, even when no "A:" drive is
	present on the system.

2013-02-05  Donal K. Fellows  <[email protected]>

	* generic/tclLoadNone.c (TclpLoadMemory): [Bug 3433012]: Added dummy
	version of this function to use in the event that a platform thinks it
	can load from memory but cannot actually do so due to it being
	disabled at configuration time.

Changes to win/tclWinFile.c.

2566
2567
2568
2569
2570
2571
2572






2573
2574
2575
2576
2577
2578
2579
				for (i=0 ; i<len ; i++) {
				    if (nativePath[i] >= 'a') {
					((char *) nativePath)[i] -= ('a'-'A');
				    }
				}
				Tcl_DStringAppend(&dsNorm, nativePath, len);
				lastValidPathEnd = currentPathEndPosition;






			    }
			}
			Tcl_DStringFree(&ds);
			break;
		    }
		    if (nativePath[0] >= 'a') {
			((char *) nativePath)[0] -= ('a' - 'A');







>
>
>
>
>
>







2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
				for (i=0 ; i<len ; i++) {
				    if (nativePath[i] >= 'a') {
					((char *) nativePath)[i] -= ('a'-'A');
				    }
				}
				Tcl_DStringAppend(&dsNorm, nativePath, len);
				lastValidPathEnd = currentPathEndPosition;
			    } else if (nextCheckpoint == 0) {
				/* Path starts with a drive designation
				 * that's not actually on the system.
				 * We still must normalize up past the
				 * first separator.  [Bug 3603434] */
				currentPathEndPosition++;
			    }
			}
			Tcl_DStringFree(&ds);
			break;
		    }
		    if (nativePath[0] >= 'a') {
			((char *) nativePath)[0] -= ('a' - 'A');
2708
2709
2710
2711
2712
2713
2714






2715
2716
2717
2718
2719
2720
2721
				    wc -= (L'a' - L'A');
				    ((WCHAR *) nativePath)[i] = wc;
				}
			    }
			    Tcl_DStringAppend(&dsNorm, nativePath,
				    (int)(sizeof(WCHAR) * len));
			    lastValidPathEnd = currentPathEndPosition;






			}
		    }
		    Tcl_DStringFree(&ds);
		    break;
		}

		/*







>
>
>
>
>
>







2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
				    wc -= (L'a' - L'A');
				    ((WCHAR *) nativePath)[i] = wc;
				}
			    }
			    Tcl_DStringAppend(&dsNorm, nativePath,
				    (int)(sizeof(WCHAR) * len));
			    lastValidPathEnd = currentPathEndPosition;
			} else if (nextCheckpoint == 0) {
			    /* Path starts with a drive designation
			     * that's not actually on the system.
			     * We still must normalize up past the
			     * first separator.  [Bug 3603434] */
			    currentPathEndPosition++;
			}
		    }
		    Tcl_DStringFree(&ds);
		    break;
		}

		/*