From: Vlad S. <ser...@us...> - 2005-04-27 20:54:36
|
Update of /cvsroot/naviserver/naviserver/nsd In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19412/nsd Modified Files: tclmisc.c Log Message: updated ns_uudecode to return possibly binary decoded data in the Tcl_Obj result instead of string result Index: tclmisc.c =================================================================== RCS file: /cvsroot/naviserver/naviserver/nsd/tclmisc.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** tclmisc.c 2 Apr 2005 20:29:46 -0000 1.3 --- tclmisc.c 27 Apr 2005 20:54:28 -0000 1.4 *************** *** 393,409 **** NsTclHTUUDecodeObjCmd(ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj **objv) { ! int n; char *string, *decoded; ! if (objc != 2) { Tcl_WrongNumArgs(interp, 1, objv, "string"); return TCL_ERROR; } ! string = Tcl_GetStringFromObj(objv[1], &n); ! n += 3; ! decoded = ns_malloc((size_t)n); ! n = Ns_HtuuDecode(string, (unsigned char *) decoded, n); ! decoded[n] = '\0'; ! Tcl_SetResult(interp, decoded, (Tcl_FreeProc *) ns_free); return TCL_OK; } --- 393,410 ---- NsTclHTUUDecodeObjCmd(ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj **objv) { ! int size; char *string, *decoded; ! if (objc != 2) { Tcl_WrongNumArgs(interp, 1, objv, "string"); return TCL_ERROR; } ! string = Tcl_GetStringFromObj(objv[1], &size); ! size += 3; ! decoded = ns_malloc((size_t)size); ! size = Ns_HtuuDecode(string, (unsigned char *) decoded, size); ! decoded[size] = '\0'; ! Tcl_SetObjResult(interp, Tcl_NewByteArrayObj(decoded,size)); ! ns_free(decoded); return TCL_OK; } |