Diff
Not logged in

Differences From Artifact [ddfe5bff4f]:

To Artifact [18641460a2]:


2564
2565
2566
2567
2568
2569
2570
2571

2572
2573
2574
2575
2576
2577


2578
2579
2580

2581
2582
2583
2584
2585
2586
2587
2564
2565
2566
2567
2568
2569
2570

2571
2572
2573
2574
2575


2576
2577
2578
2579

2580
2581
2582
2583
2584
2585
2586
2587







-
+




-
-
+
+


-
+







 *----------------------------------------------------------------------
 */

static int
BinaryEncodeUu(
    ClientData clientData,
    Tcl_Interp *interp,
    int objc,
    size_t objc,
    Tcl_Obj *const objv[])
{
    Tcl_Obj *resultObj;
    unsigned char *data, *start, *cursor;
    int offset, count, rawLength, n, i, j, bits, index;
    int lineLength = 61;
    int offset, n, i, j, bits, index, lineLength = 61;
    size_t count, rawLength;
    const unsigned char SingleNewline[] = { (unsigned char) '\n' };
    const unsigned char *wrapchar = SingleNewline;
    int wrapcharlen = sizeof(SingleNewline);
    size_t wrapcharlen = sizeof(SingleNewline);
    enum { OPT_MAXLEN, OPT_WRAPCHAR };
    static const char *const optStrings[] = { "-maxlen", "-wrapchar", NULL };

    if (objc < 2 || objc%2 != 0) {
	Tcl_WrongNumArgs(interp, 1, objv,
		"?-maxlen len? ?-wrapchar char? data");
	return TCL_ERROR;
2966
2967
2968
2969
2970
2971
2972
2973
2974


2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2966
2967
2968
2969
2970
2971
2972


2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985







-
-
+
+











    }
    Tcl_SetByteArrayLength(resultObj, cursor - begin - cut);
    Tcl_SetObjResult(interp, resultObj);
    return TCL_OK;

  bad64:
    Tcl_SetObjResult(interp, Tcl_ObjPrintf(
	    "invalid base64 character \"%c\" at position %d",
	    (char) c, data - datastart - 1));
	    "invalid base64 character \"%c\" at position %lu",
	    (char) c, (unsigned long) (data - datastart - 1)));
    TclDecrRefCount(resultObj);
    return TCL_ERROR;
}

/*
 * Local Variables:
 * mode: c
 * c-basic-offset: 4
 * fill-column: 78
 * End:
 */