On 6/10/05, Zoran Vasiljevic <[EMAIL PROTECTED]> wrote:
>
> Am 10.06.2005 um 17:50 schrieb Vlad Seryakov:
>
> > Second try :-)))
>
> You'd get (probably) a sigsegv if somebody says:
>
> ns_return -binary 200
>
> Yes, this arg parsing can be a PITA. Therefore I like
> Stephens tclobjv code :-)
> Unfortunately, it won't do the boolean flags, but we've
> discussed that already many times.
Yes it will! ns_parseargs doesn't expose this, but it's avaialble to C code.
> I'd still strenghten out the parsing with objc checking.
>
> Zoran
>
> >
> > int
> > NsTclReturnObjCmd(ClientData arg, Tcl_Interp *interp, int objc,
> > Tcl_Obj *CONST objv[])
> > {
> > Ns_Conn *conn;
> > unsigned char *data = 0, *type = 0;
> > int result, param = 1, status = 0, len = 0, binary = 0;
> >
> > if (!strcmp(Tcl_GetString(objv[param]),"-binary")) {
> > binary = 1;
> > param++;
> > }
> > if (Tcl_GetIntFromObj(interp, objv[param++], &status) != TCL_OK) {
> > return TCL_ERROR;
> > }
> > type = Tcl_GetString(objv[param++]);
> > if (binary != 0) {
> > data = Tcl_GetByteArrayFromObj(objv[param], &len);
> > } else {
> > data = Tcl_GetStringFromObj(objv[param], &len);
> > }
> > if (data == NULL || type == NULL || status == 0) {
> > Tcl_WrongNumArgs(interp, 1, objv, "?-binary? status type
> > string");
> > return TCL_ERROR;
> > }
> > if (GetConn(arg, interp, &conn) != TCL_OK) {
> > return TCL_ERROR;
> > }
> > if(binary != 0) {
> > result = Ns_ConnReturnData(conn, status, data, len, type);
> > } else {
> > result = Ns_ConnReturnCharData(conn, status, data, len, type);
> > }
> > return Result(interp, result);
> > }
> >
> >
> > Zoran Vasiljevic wrote:
> >
> >> Am 10.06.2005 um 17:23 schrieb Vlad Seryakov:
> >>
> >>> How about this, i tested it :
> >>>
> >>> int
> >>> NsTclReturnObjCmd(ClientData arg, Tcl_Interp *interp, int objc,
> >>> Tcl_Obj *CONST objv[])
> >>>
> >>>
> >> Hm... I would say, if somebody wanted to do:
> >> ns_return 200 text/plain -binary
> >> you'd have a problem, right?
> >> Zoran
> >> -------------------------------------------------------
> >> This SF.Net email is sponsored by: NEC IT Guy Games. How far can
> >> you shotput
> >> a projector? How fast can you ride your desk chair down the office
> >> luge track?
> >> If you want to score the big prize, get to know the little guy.
> >> Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
> >> _______________________________________________
> >> naviserver-devel mailing list
> >> [email protected]
> >> https://lists.sourceforge.net/lists/listinfo/naviserver-devel
> >>
> >
> > --
> > Vlad Seryakov
> > 571 262-8608 office
> > [EMAIL PROTECTED]
> > http://www.crystalballinc.com/vlad/
> >
> >
> > -------------------------------------------------------
> > This SF.Net email is sponsored by: NEC IT Guy Games. How far can
> > you shotput
> > a projector? How fast can you ride your desk chair down the office
> > luge track?
> > If you want to score the big prize, get to know the little guy.
> > Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
> > _______________________________________________
> > naviserver-devel mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/naviserver-devel
> >
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput
> a projector? How fast can you ride your desk chair down the office luge track?
> If you want to score the big prize, get to know the little guy.
> Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
> _______________________________________________
> naviserver-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/naviserver-devel
>