1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
-
+
|
/*
* tclUnixInit.c --
*
* Contains the Unix-specific interpreter initialization functions.
*
* Copyright (c) 1995-1997 Sun Microsystems, Inc.
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
* RCS: @(#) $Id: tclUnixInit.c,v 1.1.2.8 1999/03/12 23:29:20 surles Exp $
* RCS: @(#) $Id: tclUnixInit.c,v 1.1.2.9 1999/03/13 03:09:34 surles Exp $
*/
#include "tclInt.h"
#include "tclPort.h"
#include <locale.h>
#if defined(__FreeBSD__)
# include <floatingpoint.h>
|
| ︙ | | |
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
|
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
|
-
+
|
TclpInitLibraryPath(path)
CONST char *path; /* Path to the executable in native
* multi-byte encoding. */
{
#define LIBRARY_SIZE 32
Tcl_Obj *pathPtr, *objPtr;
char *str;
Tcl_DString ds;
Tcl_DString buffer, ds;
int pathc;
char **pathv;
char installLib[LIBRARY_SIZE], developLib[LIBRARY_SIZE];
Tcl_DStringInit(&ds);
pathPtr = Tcl_NewObj();
|
| ︙ | | |
218
219
220
221
222
223
224
225
226
227
228
229
230
231
|
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
|
+
+
+
|
* Look for the library relative to the TCL_LIBRARY env variable.
* If the last dirname in the TCL_LIBRARY path does not match the
* last dirname in the installLib variable, use the last dir name
* of installLib in addition to the orginal TCL_LIBRARY path.
*/
str = getenv("TCL_LIBRARY"); /* INTL: Native. */
Tcl_ExternalToUtfDString(NULL, str, -1, &buffer);
str = Tcl_DStringValue(&buffer);
if ((str != NULL) && (str[0] != '\0')) {
/*
* If TCL_LIBRARY is set, search there.
*/
objPtr = Tcl_NewStringObj(str, -1);
Tcl_ListObjAppendElement(NULL, pathPtr, objPtr);
|
| ︙ | | |
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
|
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
|
-
+
+
|
objPtr = Tcl_NewStringObj(path, Tcl_DStringLength(&ds));
Tcl_ListObjAppendElement(NULL, pathPtr, objPtr);
Tcl_DStringFree(&ds);
}
ckfree((char *) pathv);
}
TclSetLibraryPath(pathPtr);
TclSetLibraryPath(pathPtr);
Tcl_DStringFree(&buffer);
}
/*
*---------------------------------------------------------------------------
*
* TclpSetInitialEncodings --
*
|
| ︙ | | |