Tcl Source Code

Artifact [5ac0b81751]
Login

Artifact 5ac0b817510cfb0cdf6b8407a8b64cd88b12a481:

Attachment "dlconst.patch" to ticket [465833ffff] added by kennykb 2001-09-28 05:30:08.
? tip27.tclBasic.fileList
? tip27.tclBasic.patch
? win/efile
? win/outdata
Index: doc/FileSystem.3
===================================================================
RCS file: /cvsroot/tcl/tcl/doc/FileSystem.3,v
retrieving revision 1.6
diff -u -r1.6 FileSystem.3
--- doc/FileSystem.3	2001/09/08 14:05:09	1.6
+++ doc/FileSystem.3	2001/09/27 22:25:13
@@ -180,9 +180,9 @@
 checking for the existence of the file.
 .AP stat *statPtr out
 The structure that contains the result of a stat or lstat operation.
-.AP char *sym1 in
+.AP "CONST char" *sym1 in
 Name of a procedure to look up in the file's symbol table
-.AP char *sym2 in
+.AP "CONST char" *sym2 in
 Name of a procedure to look up in the file's symbol table
 .AP Tcl_PackageInitProc **proc1Ptr out
 Filled with the init function for this code.
@@ -1150,8 +1150,8 @@
 typedef int Tcl_FSLoadFileProc(
 	Tcl_Interp * \fIinterp\fR, 
 	Tcl_Obj *\fIpathPtr\fR, 
-	char * \fIsym1\fR, 
-	char * \fIsym2\fR, 
+	CONST char * \fIsym1\fR, 
+	CONST char * \fIsym2\fR, 
 	Tcl_PackageInitProc ** \fIproc1Ptr\fR, 
 	Tcl_PackageInitProc ** \fIproc2Ptr\fR, 
 	ClientData * \fIclientDataPtr\fR,
Index: generic/tcl.decls
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tcl.decls,v
retrieving revision 1.62
diff -u -r1.62 tcl.decls
--- generic/tcl.decls	2001/09/27 20:32:35	1.62
+++ generic/tcl.decls	2001/09/27 22:25:13
@@ -1560,7 +1560,7 @@
 }
 declare 444 generic {
     int	Tcl_FSLoadFile(Tcl_Interp * interp, \
-		    Tcl_Obj *pathPtr, char * sym1, char * sym2, \
+		    Tcl_Obj *pathPtr, CONST char * sym1, CONST char * sym2, \
 		    Tcl_PackageInitProc ** proc1Ptr, \
 		    Tcl_PackageInitProc ** proc2Ptr, \
 		    ClientData * clientDataPtr, \
Index: generic/tcl.h
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tcl.h,v
retrieving revision 1.102
diff -u -r1.102 tcl.h
--- generic/tcl.h	2001/09/17 21:32:30	1.102
+++ generic/tcl.h	2001/09/27 22:25:13
@@ -1543,7 +1543,8 @@
 typedef Tcl_Obj* (Tcl_FSLinkProc) _ANSI_ARGS_((Tcl_Obj *pathPtr, 
 					       Tcl_Obj *toPtr));
 typedef int (Tcl_FSLoadFileProc) _ANSI_ARGS_((Tcl_Interp * interp, 
-			    Tcl_Obj *pathPtr, char * sym1, char * sym2, 
+			    Tcl_Obj *pathPtr,
+			    CONST char * sym1, CONST char * sym2, 
 			    Tcl_PackageInitProc ** proc1Ptr, 
 			    Tcl_PackageInitProc ** proc2Ptr, 
 			    ClientData * clientDataPtr,
Index: generic/tclDecls.h
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tclDecls.h,v
retrieving revision 1.62
diff -u -r1.62 tclDecls.h
--- generic/tclDecls.h	2001/09/27 20:32:35	1.62
+++ generic/tclDecls.h	2001/09/27 22:25:14
@@ -1392,7 +1392,8 @@
 EXTERN int		Tcl_FSDeleteFile _ANSI_ARGS_((Tcl_Obj * pathPtr));
 /* 444 */
 EXTERN int		Tcl_FSLoadFile _ANSI_ARGS_((Tcl_Interp * interp, 
-				Tcl_Obj * pathPtr, char * sym1, char * sym2, 
+				Tcl_Obj * pathPtr, CONST char * sym1, 
+				CONST char * sym2, 
 				Tcl_PackageInitProc ** proc1Ptr, 
 				Tcl_PackageInitProc ** proc2Ptr, 
 				ClientData * clientDataPtr, 
@@ -2009,7 +2010,7 @@
     int (*tcl_FSCopyDirectory) _ANSI_ARGS_((Tcl_Obj * srcPathPtr, Tcl_Obj * destPathPtr, Tcl_Obj ** errorPtr)); /* 441 */
     int (*tcl_FSCreateDirectory) _ANSI_ARGS_((Tcl_Obj * pathPtr)); /* 442 */
     int (*tcl_FSDeleteFile) _ANSI_ARGS_((Tcl_Obj * pathPtr)); /* 443 */
-    int (*tcl_FSLoadFile) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * pathPtr, char * sym1, char * sym2, Tcl_PackageInitProc ** proc1Ptr, Tcl_PackageInitProc ** proc2Ptr, ClientData * clientDataPtr, Tcl_FSUnloadFileProc ** unloadProcPtr)); /* 444 */
+    int (*tcl_FSLoadFile) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * pathPtr, CONST char * sym1, CONST char * sym2, Tcl_PackageInitProc ** proc1Ptr, Tcl_PackageInitProc ** proc2Ptr, ClientData * clientDataPtr, Tcl_FSUnloadFileProc ** unloadProcPtr)); /* 444 */
     int (*tcl_FSMatchInDirectory) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * result, Tcl_Obj * pathPtr, char * pattern, Tcl_GlobTypeData * types)); /* 445 */
     Tcl_Obj* (*tcl_FSLink) _ANSI_ARGS_((Tcl_Obj * pathPtr, Tcl_Obj * toPtr)); /* 446 */
     int (*tcl_FSRemoveDirectory) _ANSI_ARGS_((Tcl_Obj * pathPtr, int recursive, Tcl_Obj ** errorPtr)); /* 447 */
Index: generic/tclIOUtil.c
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tclIOUtil.c,v
retrieving revision 1.20
diff -u -r1.20 tclIOUtil.c
--- generic/tclIOUtil.c	2001/09/08 14:05:09	1.20
+++ generic/tclIOUtil.c	2001/09/27 22:25:15
@@ -2236,7 +2236,7 @@
     Tcl_Interp *interp;		/* Used for error reporting. */
     Tcl_Obj *pathPtr;		/* Name of the file containing the desired
 				 * code. */
-    char *sym1, *sym2;		/* Names of two procedures to look up in
+    CONST char *sym1, *sym2;	/* Names of two procedures to look up in
 				 * the file's symbol table. */
     Tcl_PackageInitProc **proc1Ptr, **proc2Ptr;
 				/* Where to return the addresses corresponding
@@ -2300,8 +2300,9 @@
 		FsDivertLoad *tvdlPtr;
 		int retVal;
 		
-		retVal = Tcl_FSLoadFile(interp, copyToPtr, sym1, sym2, proc1Ptr, 
-			       proc2Ptr, &newClientData, &newUnloadProcPtr);
+		retVal = Tcl_FSLoadFile(interp, copyToPtr, sym1, sym2,
+					proc1Ptr, proc2Ptr, &newClientData,
+					&newUnloadProcPtr);
 	        if (retVal == -1) {
 		    /* The file didn't load successfully */
 		    Tcl_FSDeleteFile(copyToPtr);
Index: generic/tclInt.h
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tclInt.h,v
retrieving revision 1.67
diff -u -r1.67 tclInt.h
--- generic/tclInt.h	2001/09/27 20:32:35	1.67
+++ generic/tclInt.h	2001/09/27 22:25:16
@@ -1790,7 +1790,8 @@
 EXTERN void		TclpInitPlatform _ANSI_ARGS_((void));
 EXTERN void		TclpInitUnlock _ANSI_ARGS_((void));
 EXTERN int              TclpLoadFile _ANSI_ARGS_((Tcl_Interp *interp, 
-				Tcl_Obj *pathPtr, char *sym1, char *sym2, 
+				Tcl_Obj *pathPtr,
+				CONST char *sym1, CONST char *sym2, 
 				Tcl_PackageInitProc **proc1Ptr,
 				Tcl_PackageInitProc **proc2Ptr, 
 				ClientData *clientDataPtr,
Index: generic/tclLoadNone.c
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tclLoadNone.c,v
retrieving revision 1.5
diff -u -r1.5 tclLoadNone.c
--- generic/tclLoadNone.c	2001/08/30 08:53:15	1.5
+++ generic/tclLoadNone.c	2001/09/27 22:25:16
@@ -39,7 +39,7 @@
     Tcl_Interp *interp;		/* Used for error reporting. */
     Tcl_Obj *pathPtr;		/* Name of the file containing the desired
 				 * code. */
-    char *sym1, *sym2;		/* Names of two procedures to look up in
+    CONST char *sym1, *sym2;	/* Names of two procedures to look up in
 				 * the file's symbol table. */
     Tcl_PackageInitProc **proc1Ptr, **proc2Ptr;
 				/* Where to return the addresses corresponding
Index: generic/tclTest.c
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tclTest.c,v
retrieving revision 1.31
diff -u -r1.31 tclTest.c
--- generic/tclTest.c	2001/09/20 01:00:10	1.31
+++ generic/tclTest.c	2001/09/27 22:25:17
@@ -5404,7 +5404,7 @@
     Tcl_Interp *interp;		/* Used for error reporting. */
     Tcl_Obj *fileName;		/* Name of the file containing the desired
 				 * code. */
-    char *sym1, *sym2;		/* Names of two procedures to look up in
+    CONST char *sym1, *sym2;	/* Names of two procedures to look up in
 				 * the file's symbol table. */
     Tcl_PackageInitProc **proc1Ptr, **proc2Ptr;
 				/* Where to return the addresses corresponding
Index: library/ldAout.tcl
===================================================================
RCS file: /cvsroot/tcl/tcl/library/ldAout.tcl,v
retrieving revision 1.4
diff -u -r1.4 ldAout.tcl
--- library/ldAout.tcl	1999/08/19 02:59:40	1.4
+++ library/ldAout.tcl	2001/09/27 22:25:17
@@ -182,7 +182,7 @@
     append C {typedef int Tcl_PackageInitProc (Tcl_Interp *);} \n
     append C {Tcl_PackageInitProc *} \n
     append C TclLoadDictionary_ $modName { (symbol)} \n
-    append C {    char * symbol;} \n
+    append C {    CONST char * symbol;} \n
     append C {
 	{
 	    int i;
Index: mac/tclMacLoad.c
===================================================================
RCS file: /cvsroot/tcl/tcl/mac/tclMacLoad.c,v
retrieving revision 1.6
diff -u -r1.6 tclMacLoad.c
--- mac/tclMacLoad.c	2001/09/04 18:06:34	1.6
+++ mac/tclMacLoad.c	2001/09/27 22:25:17
@@ -101,7 +101,8 @@
     Tcl_Interp *interp,		/* Used for error reporting. */
     Tcl_Obj *pathPtr,		/* Name of the file containing the desired
 				 * code. */
-    char *sym1, char *sym2,	/* Names of two procedures to look up in
+    CONST char *sym1,
+    CONST char *sym2,		/* Names of two procedures to look up in
 				 * the file's symbol table. */
     Tcl_PackageInitProc **proc1Ptr,
     Tcl_PackageInitProc **proc2Ptr,
Index: unix/tclLoadAout.c
===================================================================
RCS file: /cvsroot/tcl/tcl/unix/tclLoadAout.c,v
retrieving revision 1.6
diff -u -r1.6 tclLoadAout.c
--- unix/tclLoadAout.c	2001/09/04 18:06:34	1.6
+++ unix/tclLoadAout.c	2001/09/27 22:25:18
@@ -84,7 +84,7 @@
  * Type of the dictionary function that begins each load module.
  */
 
-typedef Tcl_PackageInitProc * (* DictFn) _ANSI_ARGS_ ((char * symbol));
+typedef Tcl_PackageInitProc * (* DictFn) _ANSI_ARGS_ ((CONST char * symbol));
 
 /*
  * Prototypes for procedures referenced only in this file:
@@ -141,7 +141,7 @@
     Tcl_Interp *interp;		/* Used for error reporting. */
     Tcl_Obj *pathPtr;		/* Name of the file containing the desired
 				 * code (UTF-8). */
-    char *sym1, *sym2;		/* Names of two procedures to look up in
+    CONST char *sym1, *sym2;	/* Names of two procedures to look up in
 				 * the file's symbol table. */
     Tcl_PackageInitProc **proc1Ptr, **proc2Ptr;
 				/* Where to return the addresses corresponding
Index: unix/tclLoadDl.c
===================================================================
RCS file: /cvsroot/tcl/tcl/unix/tclLoadDl.c,v
retrieving revision 1.6
diff -u -r1.6 tclLoadDl.c
--- unix/tclLoadDl.c	2001/09/24 21:10:32	1.6
+++ unix/tclLoadDl.c	2001/09/27 22:25:18
@@ -62,7 +62,7 @@
     Tcl_Interp *interp;		/* Used for error reporting. */
     Tcl_Obj *pathPtr;		/* Name of the file containing the desired
 				 * code. */
-    char *sym1, *sym2;		/* Names of two procedures to look up in
+    CONST char *sym1, *sym2;	/* Names of two procedures to look up in
 				 * the file's symbol table. */
     Tcl_PackageInitProc **proc1Ptr, **proc2Ptr;
 				/* Where to return the addresses corresponding
Index: unix/tclLoadDld.c
===================================================================
RCS file: /cvsroot/tcl/tcl/unix/tclLoadDld.c,v
retrieving revision 1.5
diff -u -r1.5 tclLoadDld.c
--- unix/tclLoadDld.c	2001/09/04 18:06:34	1.5
+++ unix/tclLoadDld.c	2001/09/27 22:25:18
@@ -54,7 +54,7 @@
     Tcl_Interp *interp;		/* Used for error reporting. */
     Tcl_Obj *pathPtr;		/* Name of the file containing the desired
 				 * code. */
-    char *sym1, *sym2;		/* Names of two procedures to look up in
+    CONST char *sym1, *sym2;	/* Names of two procedures to look up in
 				 * the file's symbol table. */
     Tcl_PackageInitProc **proc1Ptr, **proc2Ptr;
 				/* Where to return the addresses corresponding
Index: unix/tclLoadDyld.c
===================================================================
RCS file: /cvsroot/tcl/tcl/unix/tclLoadDyld.c,v
retrieving revision 1.4
diff -u -r1.4 tclLoadDyld.c
--- unix/tclLoadDyld.c	2001/09/04 18:06:34	1.4
+++ unix/tclLoadDyld.c	2001/09/27 22:25:18
@@ -45,7 +45,7 @@
     Tcl_Interp *interp;		/* Used for error reporting. */
     Tcl_Obj *pathPtr;		/* Name of the file containing the desired
 				 * code. */
-    char *sym1, *sym2;		/* Names of two procedures to look up in
+    CONST char *sym1, *sym2;	/* Names of two procedures to look up in
 				 * the file's symbol table. */
     Tcl_PackageInitProc **proc1Ptr, **proc2Ptr;
 				/* Where to return the addresses corresponding
Index: unix/tclLoadNext.c
===================================================================
RCS file: /cvsroot/tcl/tcl/unix/tclLoadNext.c,v
retrieving revision 1.5
diff -u -r1.5 tclLoadNext.c
--- unix/tclLoadNext.c	2001/09/04 18:06:34	1.5
+++ unix/tclLoadNext.c	2001/09/27 22:25:18
@@ -44,7 +44,7 @@
     Tcl_Interp *interp;		/* Used for error reporting. */
     Tcl_Obj *pathPtr;		/* Name of the file containing the desired
 				 * code. */
-    char *sym1, *sym2;		/* Names of two procedures to look up in
+    CONST char *sym1, *sym2;	/* Names of two procedures to look up in
 				 * the file's symbol table. */
     Tcl_PackageInitProc **proc1Ptr, **proc2Ptr;
 				/* Where to return the addresses corresponding
Index: unix/tclLoadOSF.c
===================================================================
RCS file: /cvsroot/tcl/tcl/unix/tclLoadOSF.c,v
retrieving revision 1.5
diff -u -r1.5 tclLoadOSF.c
--- unix/tclLoadOSF.c	2001/09/04 18:06:34	1.5
+++ unix/tclLoadOSF.c	2001/09/27 22:25:18
@@ -65,7 +65,7 @@
     Tcl_Interp *interp;		/* Used for error reporting. */
     Tcl_Obj *pathPtr;		/* Name of the file containing the desired
 				 * code. */
-    char *sym1, *sym2;		/* Names of two procedures to look up in
+    CONST char *sym1, *sym2;	/* Names of two procedures to look up in
 				 * the file's symbol table. */
     Tcl_PackageInitProc **proc1Ptr, **proc2Ptr;
 				/* Where to return the addresses corresponding
Index: unix/tclLoadShl.c
===================================================================
RCS file: /cvsroot/tcl/tcl/unix/tclLoadShl.c,v
retrieving revision 1.7
diff -u -r1.7 tclLoadShl.c
--- unix/tclLoadShl.c	2001/09/10 21:18:19	1.7
+++ unix/tclLoadShl.c	2001/09/27 22:25:18
@@ -52,7 +52,7 @@
     Tcl_Interp *interp;		/* Used for error reporting. */
     Tcl_Obj *pathPtr;		/* Name of the file containing the desired
 				 * code. */
-    char *sym1, *sym2;		/* Names of two procedures to look up in
+    CONST char *sym1, *sym2;	/* Names of two procedures to look up in
 				 * the file's symbol table. */
     Tcl_PackageInitProc **proc1Ptr, **proc2Ptr;
 				/* Where to return the addresses corresponding
Index: win/tclWinFCmd.c
===================================================================
RCS file: /cvsroot/tcl/tcl/win/tclWinFCmd.c,v
retrieving revision 1.12
diff -u -r1.12 tclWinFCmd.c
--- win/tclWinFCmd.c	2001/09/04 18:06:35	1.12
+++ win/tclWinFCmd.c	2001/09/27 22:25:18
@@ -832,13 +832,13 @@
 	     */
 
 	    if (TclWinGetPlatformId() != VER_PLATFORM_WIN32_NT) {
-		char *path, *find;
+		CONST char *path, *find;
 		HANDLE handle;
 		WIN32_FIND_DATAA data;
 		Tcl_DString buffer;
 		int len;
 
-		path = (char *) nativePath;
+		path = (CONST char *) nativePath;
 
 		Tcl_DStringInit(&buffer);
 		len = strlen(path);
Index: win/tclWinLoad.c
===================================================================
RCS file: /cvsroot/tcl/tcl/win/tclWinLoad.c,v
retrieving revision 1.8
diff -u -r1.8 tclWinLoad.c
--- win/tclWinLoad.c	2001/09/04 18:06:35	1.8
+++ win/tclWinLoad.c	2001/09/27 22:25:18
@@ -41,7 +41,7 @@
     Tcl_Interp *interp;		/* Used for error reporting. */
     Tcl_Obj *pathPtr;		/* Name of the file containing the desired
 				 * code. */
-    char *sym1, *sym2;		/* Names of two procedures to look up in
+    CONST char *sym1, *sym2;	/* Names of two procedures to look up in
 				 * the file's symbol table. */
     Tcl_PackageInitProc **proc1Ptr, **proc2Ptr;
 				/* Where to return the addresses corresponding