Check-in [ab2836e6c1]
Not logged in

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

Overview
Comment:improve fix from [d74c9c42c0]
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: ab2836e6c1dc53b8004b8f9d02bc673fb125f2c6
User & Date: chw 2019-07-07 05:18:14
Context
2019-07-07
08:21
cleanup missing pieces in tbcload and tclcompiler check-in: 7a110bb514 user: chw tags: trunk
05:18
improve fix from [d74c9c42c0] check-in: ab2836e6c1 user: chw tags: trunk
04:51
use curl option -sslverifypeer 0 in TSB's Northwind example check-in: 39ee1aca6e user: chw tags: trunk
Changes

Changes to undroid/tclcompiler/cmpWrite.c.

631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
....
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
....
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565

4566
4567
4568
4569
4570
4571
4572
    Interp *iPtr = (Interp *) interp;
    Tcl_DString inBuffer, outBuffer;
    char *nativeInName;
    char *nativeOutName;
    Tcl_Channel chan;
    int result;
    struct stat statBuf;
	unsigned short fileMode;
    Tcl_Obj *cmdObjPtr;
    LiteralTable glt; /* Save buffer for global literals */

    Tcl_ResetResult(interp);

    Tcl_DStringInit(&inBuffer);
    Tcl_DStringInit(&outBuffer);
................................................................................
            if (numChars > 50) {
                numChars = 50;
                ellipsis = "...";
            }
            sprintf(buf, "\n    (compiling body of proc \"%.*s%s\", line %d)",
                    numChars, fullName, ellipsis, ERRORLINE(interp));
            Tcl_AddObjErrorInfo(interp, buf, -1);
	    }
        goto cleanAndReturn;
    }

    ctxPtr->numCompiledBodies += 1;

    /*
     * Now that we have compiled the procedure, create a new TCL object
................................................................................

        /*
         * We emit from least significant to most significant char, so that
         * the 0 chars from an incomplete 4-tuple are the last ones in the
         * sequence and can be omitted (for the last 4-tuple in the array).
         */

        toEmit[4] = EN(word / (85UL * 85 * 85 * 85));
        word %= (85UL * 85 * 85 * 85);
        toEmit[3] = EN(word / (85UL * 85 * 85));
        word %= (85UL * 85 * 85);
        toEmit[2] = EN(word / (85UL * 85));
        word %= (85UL * 85);
        toEmit[1] = EN(word / 85UL);
        word %= 85UL;
        toEmit[0] = EN(word);


        /*
         * Emit only 'numBytes+1' chars, since the extra ones are all '!'
         * and can therefore be reconstructed by the decoder (if we know the
         * number of bytes that were encoded).
         */








|







 







|







 







|
<
<
<
<
<
|
|
<
>







631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
....
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
....
4550
4551
4552
4553
4554
4555
4556
4557





4558
4559

4560
4561
4562
4563
4564
4565
4566
4567
    Interp *iPtr = (Interp *) interp;
    Tcl_DString inBuffer, outBuffer;
    char *nativeInName;
    char *nativeOutName;
    Tcl_Channel chan;
    int result;
    struct stat statBuf;
    unsigned short fileMode;
    Tcl_Obj *cmdObjPtr;
    LiteralTable glt; /* Save buffer for global literals */

    Tcl_ResetResult(interp);

    Tcl_DStringInit(&inBuffer);
    Tcl_DStringInit(&outBuffer);
................................................................................
            if (numChars > 50) {
                numChars = 50;
                ellipsis = "...";
            }
            sprintf(buf, "\n    (compiling body of proc \"%.*s%s\", line %d)",
                    numChars, fullName, ellipsis, ERRORLINE(interp));
            Tcl_AddObjErrorInfo(interp, buf, -1);
        }
        goto cleanAndReturn;
    }

    ctxPtr->numCompiledBodies += 1;

    /*
     * Now that we have compiled the procedure, create a new TCL object
................................................................................

        /*
         * We emit from least significant to most significant char, so that
         * the 0 chars from an incomplete 4-tuple are the last ones in the
         * sequence and can be omitted (for the last 4-tuple in the array).
         */

        for (i=0 ; i < 5 ; i++) {





            toEmit[i] = EN(word % 85UL);
            word /= 85UL;

        }

        /*
         * Emit only 'numBytes+1' chars, since the extra ones are all '!'
         * and can therefore be reconstructed by the decoder (if we know the
         * number of bytes that were encoded).
         */