Diff
Not logged in

Differences From Artifact [4712c38c40]:

To Artifact [7be8e01ce6]:


327
328
329
330
331
332
333

334
335
336
337
338
339
340
static void
AppendEnvironment(
    Tcl_Obj *pathPtr,
    const char *lib)
{
    Tcl_Size pathc;
    WCHAR wBuf[MAX_PATH];

    char buf[MAX_PATH * 3];
    Tcl_Obj *objPtr;
    Tcl_DString ds;
    const char **pathv;
    char *shortlib;

    /*







>







327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
static void
AppendEnvironment(
    Tcl_Obj *pathPtr,
    const char *lib)
{
    Tcl_Size pathc;
    WCHAR wBuf[MAX_PATH];
    DWORD dw;
    char buf[MAX_PATH * 3];
    Tcl_Obj *objPtr;
    Tcl_DString ds;
    const char **pathv;
    char *shortlib;

    /*
351
352
353
354
355
356
357
358
359

360
361
362
363

364


365
366
367
368
369
370
371
	    break;
	}
    }
    if (shortlib == lib) {
	Tcl_Panic("no '/' character found in lib");
    }

    /*
     * The "L" preceding the TCL_LIBRARY string is used to tell VC++ that

     * this is a Unicode string.
     */

    GetEnvironmentVariableW(L"TCL_LIBRARY", wBuf, MAX_PATH);

    WideCharToMultiByte(CP_UTF8, 0, wBuf, -1, buf, MAX_PATH * 3, NULL, NULL);



    if (buf[0] != '\0') {
	objPtr = Tcl_NewStringObj(buf, TCL_INDEX_NONE);
	Tcl_ListObjAppendElement(NULL, pathPtr, objPtr);

	TclWinNoBackslash(buf);
	Tcl_SplitPath(buf, &pathc, &pathv);







<
|
>
|
<
|
<
>
|
>
>







352
353
354
355
356
357
358

359
360
361

362

363
364
365
366
367
368
369
370
371
372
373
	    break;
	}
    }
    if (shortlib == lib) {
	Tcl_Panic("no '/' character found in lib");
    }


    dw = GetEnvironmentVariableW(L"TCL_LIBRARY", wBuf, MAX_PATH);
    if (dw <= 0 || dw >= MAX_PATH) {
	return;

    }

    if (WideCharToMultiByte(
	    CP_UTF8, 0, wBuf, -1, buf, MAX_PATH * 3, NULL, NULL) == 0) {
	return;
    }

    if (buf[0] != '\0') {
	objPtr = Tcl_NewStringObj(buf, TCL_INDEX_NONE);
	Tcl_ListObjAppendElement(NULL, pathPtr, objPtr);

	TclWinNoBackslash(buf);
	Tcl_SplitPath(buf, &pathc, &pathv);
521
522
523
524
525
526
527
528

529
530
531
532
533
534
535

    Tcl_SetSystemEncoding(NULL,
	    Tcl_GetEncodingNameFromEnvironment(&encodingName));
    Tcl_DStringFree(&encodingName);
}

const char *
Tcl_GetEncodingNameForUser(Tcl_DString *bufPtr)

{
    Tcl_DStringInit(bufPtr);
    Tcl_DStringAppend(bufPtr, TclpGetCodePage(), -1);
    return Tcl_DStringValue(bufPtr);
}

const char *







|
>







523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538

    Tcl_SetSystemEncoding(NULL,
	    Tcl_GetEncodingNameFromEnvironment(&encodingName));
    Tcl_DStringFree(&encodingName);
}

const char *
Tcl_GetEncodingNameForUser(
    Tcl_DString *bufPtr)
{
    Tcl_DStringInit(bufPtr);
    Tcl_DStringAppend(bufPtr, TclpGetCodePage(), -1);
    return Tcl_DStringValue(bufPtr);
}

const char *