in tcl_cmds.c [1540:1563]
int cmd_base64_decode(ClientData cd, Tcl_Interp *ixx, int objc, Tcl_Obj *CONST objv[])
{
uint8_t *enc_data, *ws_data, *data;
size_t length;
Tcl_Obj *obj;
if (objc != 2) {
Tcl_WrongNumArgs(interp, 1, objv, "string");
return TCL_ERROR;
}
enc_data = (uint8_t*) Tcl_GetString(objv[1]);
ws_data = base64_remove_whitespace(enc_data, 0);
data = base64_to_buf(data, &length);
obj = Tcl_NewObj();
Tcl_SetByteArrayObj(obj, (unsigned char*) data, length);
free(ws_data);
free(data);
return TCL_OK;
}