Tcl Source Code

Check-in [0bde6cbf35]
Login

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

Overview
Comment:use cygwin_conv_path() in stead of deprecated cygwin_conv_to_full_posix_path
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 0bde6cbf35418840a1620ec6db89670a7ad5e2b1
User & Date: jan.nijtmans 2012-06-26 14:31:02
Context
2012-06-26
19:44
fix some gcc 64-bit warnings quoting improvements eliminate unused variable check-in: 5ce6ec5402 user: jan.nijtmans tags: trunk
14:31
use cygwin_conv_path() in stead of deprecated cygwin_conv_to_full_posix_path check-in: 0bde6cbf35 user: jan.nijtmans tags: trunk
14:29
use cygwin_conv_path() in stead of deprecated cygwin_conv_to_full_posix_path check-in: 23aec1435f user: jan.nijtmans tags: core-8-5-branch
09:41
Let Cygwin shared build link with zlib1.dll, not cygz.dll (two less dependencies on cygwin-specific ... check-in: 00e39c13a5 user: jan.nijtmans tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to generic/tclEnv.c.

768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
	unsetenv("Path");

	if (value == NULL) {
	    buf = NULL;
	} else {
	    int size;

	    size = cygwin_posix_to_win32_path_list_buf_size(value);
	    buf = alloca(size + 1);
	    cygwin_posix_to_win32_path_list(value, buf);
	}

	SetEnvironmentVariableA(name, buf);
    }
}
#endif /* __CYGWIN__ */








|

|







768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
	unsetenv("Path");

	if (value == NULL) {
	    buf = NULL;
	} else {
	    int size;

	    size = cygwin_conv_path_list(0, value, NULL, 0);
	    buf = alloca(size + 1);
	    cygwin_conv_path_list(0, value, buf, size);
	}

	SetEnvironmentVariableA(name, buf);
    }
}
#endif /* __CYGWIN__ */


Changes to unix/tclUnixFile.c.

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
TclpFindExecutable(
    const char *argv0)		/* The value of the application's argv[0]
				 * (native). */
{
    Tcl_Encoding encoding;
#ifdef __CYGWIN__
    int length;
    char buf[PATH_MAX * TCL_UTF_MAX + 1];
    char name[PATH_MAX * TCL_UTF_MAX + 1];
    GetModuleFileNameW(NULL, name, PATH_MAX);
    WideCharToMultiByte(CP_UTF8, 0, name, -1, buf, PATH_MAX, NULL, NULL);
    cygwin_conv_to_full_posix_path(buf, name);
    length = strlen(name);
    if ((length > 4) && !strcasecmp(name + length - 4, ".exe")) {
	/* Strip '.exe' part. */
	length -= 4;
    }
	encoding = Tcl_GetEncoding(NULL, NULL);
	TclSetObjNameOfExecutable(







|

|
<
|







38
39
40
41
42
43
44
45
46
47

48
49
50
51
52
53
54
55
TclpFindExecutable(
    const char *argv0)		/* The value of the application's argv[0]
				 * (native). */
{
    Tcl_Encoding encoding;
#ifdef __CYGWIN__
    int length;
    char buf[PATH_MAX * 2];
    char name[PATH_MAX * TCL_UTF_MAX + 1];
    GetModuleFileNameW(NULL, buf, PATH_MAX);

    cygwin_conv_path(3, buf, name, PATH_MAX);
    length = strlen(name);
    if ((length > 4) && !strcasecmp(name + length - 4, ".exe")) {
	/* Strip '.exe' part. */
	length -= 4;
    }
	encoding = Tcl_GetEncoding(NULL, NULL);
	TclSetObjNameOfExecutable(

Changes to unix/tclUnixPort.h.

94
95
96
97
98
99
100
101

102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
    DLLIMPORT extern __stdcall int WideCharToMultiByte(int, int, const char *, int,
	    const char *, int, const char *, const char *);
    DLLIMPORT extern __stdcall int MultiByteToWideChar(int, int, const char *, int,
	    WCHAR *, int);
    DLLIMPORT extern __stdcall void OutputDebugStringW(const WCHAR *);
    DLLIMPORT extern __stdcall int IsDebuggerPresent();

    DLLIMPORT extern int cygwin_conv_to_full_posix_path(const char *, char *);

#   define USE_PUTENV 1
#   define USE_PUTENV_FOR_UNSET 1
/* On Cygwin, the environment is imported from the Cygwin DLL. */
#   define environ __cygwin_environ
#   define timezone _timezone
    DLLIMPORT extern char **__cygwin_environ;
    DLLIMPORT extern int cygwin_conv_to_win32_path(const char *, char *);
    DLLIMPORT extern int cygwin_posix_to_win32_path_list_buf_size(char *value);
    DLLIMPORT extern void cygwin_posix_to_win32_path_list(char *buf, char *value);
    MODULE_SCOPE int TclOSstat(const char *name, Tcl_StatBuf *statBuf);
    MODULE_SCOPE int TclOSlstat(const char *name, Tcl_StatBuf *statBuf);
#elif defined(HAVE_STRUCT_STAT64)
#   define TclOSstat		stat64
#   define TclOSlstat		lstat64
#else
#   define TclOSstat		stat







|
>






<
<
<







94
95
96
97
98
99
100
101
102
103
104
105
106
107
108



109
110
111
112
113
114
115
    DLLIMPORT extern __stdcall int WideCharToMultiByte(int, int, const char *, int,
	    const char *, int, const char *, const char *);
    DLLIMPORT extern __stdcall int MultiByteToWideChar(int, int, const char *, int,
	    WCHAR *, int);
    DLLIMPORT extern __stdcall void OutputDebugStringW(const WCHAR *);
    DLLIMPORT extern __stdcall int IsDebuggerPresent();

    DLLIMPORT extern int cygwin_conv_path(int, const void *, void *, int);
    DLLIMPORT extern int cygwin_conv_path_list(int, const void *, void *, int);
#   define USE_PUTENV 1
#   define USE_PUTENV_FOR_UNSET 1
/* On Cygwin, the environment is imported from the Cygwin DLL. */
#   define environ __cygwin_environ
#   define timezone _timezone
    DLLIMPORT extern char **__cygwin_environ;



    MODULE_SCOPE int TclOSstat(const char *name, Tcl_StatBuf *statBuf);
    MODULE_SCOPE int TclOSlstat(const char *name, Tcl_StatBuf *statBuf);
#elif defined(HAVE_STRUCT_STAT64)
#   define TclOSstat		stat64
#   define TclOSlstat		lstat64
#else
#   define TclOSstat		stat