summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--generic/tclDisassemble.c4
-rw-r--r--generic/tclExecute.c2
-rw-r--r--generic/tclGet.c2
-rw-r--r--generic/tclInt.h6
-rw-r--r--generic/tclObj.c4
-rw-r--r--generic/tclUtil.c2
-rw-r--r--generic/tclVar.c4
-rw-r--r--win/nmakehlp.c29
8 files changed, 27 insertions, 26 deletions
diff --git a/generic/tclDisassemble.c b/generic/tclDisassemble.c
index 7181164..ff6d0a0 100644
--- a/generic/tclDisassemble.c
+++ b/generic/tclDisassemble.c
@@ -817,7 +817,7 @@ static void
UpdateStringOfInstName(
Tcl_Obj *objPtr)
{
- int inst = objPtr->internalRep.wideValue;
+ int inst = (int)objPtr->internalRep.wideValue;
char *s, buf[20];
int len;
@@ -825,7 +825,7 @@ UpdateStringOfInstName(
sprintf(buf, "inst_%d", inst);
s = buf;
} else {
- s = (char *) tclInstructionTable[objPtr->internalRep.wideValue].name;
+ s = (char *) tclInstructionTable[inst].name;
}
len = strlen(s);
objPtr->bytes = ckalloc(len + 1);
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index f82ee6f..67a6d98 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -6395,7 +6395,7 @@ TEBCresume(
iterVarPtr = LOCAL(infoPtr->loopCtTemp);
valuePtr = iterVarPtr->value.objPtr;
- iterNum = valuePtr->internalRep.wideValue + 1;
+ iterNum = (int)valuePtr->internalRep.wideValue + 1;
TclSetIntObj(valuePtr, iterNum);
/*
diff --git a/generic/tclGet.c b/generic/tclGet.c
index 727db0a..2d611fa 100644
--- a/generic/tclGet.c
+++ b/generic/tclGet.c
@@ -142,7 +142,7 @@ Tcl_GetBoolean(
Tcl_Panic("invalid sharing of Tcl_Obj on C stack");
}
if (code == TCL_OK) {
- *boolPtr = obj.internalRep.wideValue;
+ *boolPtr = (int)obj.internalRep.wideValue;
}
return code;
}
diff --git a/generic/tclInt.h b/generic/tclInt.h
index 08632b0..8c35e47 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -2392,7 +2392,7 @@ typedef struct List {
* WARNING: these macros eval their args more than once.
*/
-#if (LONG_MAX == LLONG_MAX)
+#ifdef TCL_WIDE_INT_IS_LONG
#define TclGetLongFromObj(interp, objPtr, longPtr) \
(((objPtr)->typePtr == &tclIntType) \
? ((*(longPtr) = (objPtr)->internalRep.wideValue), TCL_OK) \
@@ -2410,13 +2410,13 @@ typedef struct List {
(((objPtr)->typePtr == &tclIntType \
&& (objPtr)->internalRep.wideValue >= -(Tcl_WideInt)(UINT_MAX) \
&& (objPtr)->internalRep.wideValue <= (Tcl_WideInt)(UINT_MAX)) \
- ? ((*(intPtr) = (objPtr)->internalRep.wideValue), TCL_OK) \
+ ? ((*(intPtr) = (int)(objPtr)->internalRep.wideValue), TCL_OK) \
: Tcl_GetIntFromObj((interp), (objPtr), (intPtr)))
#define TclGetIntForIndexM(interp, objPtr, endValue, idxPtr) \
(((objPtr)->typePtr == &tclIntType \
&& (objPtr)->internalRep.wideValue >= INT_MIN \
&& (objPtr)->internalRep.wideValue <= INT_MAX) \
- ? ((*(idxPtr) = (objPtr)->internalRep.wideValue), TCL_OK) \
+ ? ((*(idxPtr) = (int)(objPtr)->internalRep.wideValue), TCL_OK) \
: TclGetIntForIndex((interp), (objPtr), (endValue), (idxPtr)))
/*
diff --git a/generic/tclObj.c b/generic/tclObj.c
index 79cfdb8..6b1ed2d 100644
--- a/generic/tclObj.c
+++ b/generic/tclObj.c
@@ -2336,7 +2336,7 @@ Tcl_GetLongFromObj(
register long *longPtr) /* Place to store resulting long. */
{
do {
-#if (LONG_MAX == LLONG_MAX)
+#ifdef TCL_WIDE_INT_IS_LONG
if (objPtr->typePtr == &tclIntType) {
*longPtr = objPtr->internalRep.wideValue;
return TCL_OK;
@@ -2399,7 +2399,7 @@ Tcl_GetLongFromObj(
return TCL_OK;
}
}
-#if (LONG_MAX != LLONG_MAX)
+#ifndef TCL_WIDE_INT_IS_LONG
tooLarge:
#endif
if (interp != NULL) {
diff --git a/generic/tclUtil.c b/generic/tclUtil.c
index 527e41a..f9b92c8 100644
--- a/generic/tclUtil.c
+++ b/generic/tclUtil.c
@@ -3335,7 +3335,7 @@ TclGetIntForIndex(
* be converted to one, use it.
*/
- *indexPtr = endValue + objPtr->internalRep.wideValue;
+ *indexPtr = endValue + (int)objPtr->internalRep.wideValue;
return TCL_OK;
}
diff --git a/generic/tclVar.c b/generic/tclVar.c
index 4f2d435..c7857db 100644
--- a/generic/tclVar.c
+++ b/generic/tclVar.c
@@ -280,7 +280,7 @@ CleanupVar(
{
if (TclIsVarUndefined(varPtr) && TclIsVarInHash(varPtr)
&& !TclIsVarTraced(varPtr)
- && (VarHashRefCount(varPtr) == !TclIsVarDeadHash(varPtr))) {
+ && (VarHashRefCount(varPtr) == (unsigned)!TclIsVarDeadHash(varPtr))) {
if (VarHashRefCount(varPtr) == 0) {
ckfree(varPtr);
} else {
@@ -289,7 +289,7 @@ CleanupVar(
}
if (arrayPtr != NULL && TclIsVarUndefined(arrayPtr) &&
TclIsVarInHash(arrayPtr) && !TclIsVarTraced(arrayPtr) &&
- (VarHashRefCount(arrayPtr) == !TclIsVarDeadHash(arrayPtr))) {
+ (VarHashRefCount(arrayPtr) == (unsigned)!TclIsVarDeadHash(arrayPtr))) {
if (VarHashRefCount(arrayPtr) == 0) {
ckfree(arrayPtr);
} else {
diff --git a/win/nmakehlp.c b/win/nmakehlp.c
index 025bb99..b759020 100644
--- a/win/nmakehlp.c
+++ b/win/nmakehlp.c
@@ -14,13 +14,8 @@
#define _CRT_SECURE_NO_DEPRECATE
#include <windows.h>
-#define NO_SHLWAPI_GDI
-#define NO_SHLWAPI_STREAM
-#define NO_SHLWAPI_REG
-#include <shlwapi.h>
#pragma comment (lib, "user32.lib")
#pragma comment (lib, "kernel32.lib")
-#pragma comment (lib, "shlwapi.lib")
#include <stdio.h>
#include <math.h>
@@ -74,7 +69,7 @@ main(
char msg[300];
DWORD dwWritten;
int chars;
- char *s;
+ const char *s;
/*
* Make sure children (cl.exe and link.exe) are kept quiet.
@@ -688,6 +683,17 @@ SubstituteFile(
return 0;
}
+BOOL FileExists(LPCTSTR szPath)
+{
+#ifndef INVALID_FILE_ATTRIBUTES
+ #define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
+#endif
+ DWORD pathAttr = GetFileAttributes(szPath);
+ return (pathAttr != INVALID_FILE_ATTRIBUTES &&
+ !(pathAttr & FILE_ATTRIBUTE_DIRECTORY));
+}
+
+
/*
* QualifyPath --
*
@@ -701,13 +707,8 @@ QualifyPath(
const char *szPath)
{
char szCwd[MAX_PATH + 1];
- char szTmp[MAX_PATH + 1];
- char *p;
- GetCurrentDirectory(MAX_PATH, szCwd);
- while ((p = strchr(szPath, '/')) && *p)
- *p = '\\';
- PathCombine(szTmp, szCwd, szPath);
- PathCanonicalize(szCwd, szTmp);
+
+ GetFullPathName(szPath, sizeof(szCwd)-1, szCwd, NULL);
printf("%s\n", szCwd);
return 0;
}
@@ -765,7 +766,7 @@ static int LocateDependencyHelper(const char *dir, const char *keypath)
strncpy(path+dirlen+1, finfo.cFileName, sublen);
path[dirlen+1+sublen] = '\\';
strncpy(path+dirlen+1+sublen+1, keypath, keylen+1);
- if (PathFileExists(path)) {
+ if (FileExists(path)) {
/* Found a match, print to stdout */
path[dirlen+1+sublen] = '\0';
QualifyPath(path);