From bddf8fe5c9c2c5bf1dcdc7327209ccae63c34a2a Mon Sep 17 00:00:00 2001 From: Unbit Date: Sat, 23 Feb 2013 13:24:59 +0100 Subject: [PATCH] completed --perl-arg and --perl-args --- plugins/psgi/psgi_loader.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/plugins/psgi/psgi_loader.c b/plugins/psgi/psgi_loader.c index 9afdfbc2..65bb3091 100644 --- a/plugins/psgi/psgi_loader.c +++ b/plugins/psgi/psgi_loader.c @@ -376,6 +376,24 @@ int init_psgi_app(struct wsgi_request *wsgi_req, char *app, uint16_t app_len, Pe } } + if (uperl.argv_items || uperl.argv_item) { + AV *uperl_argv = GvAV(PL_argvgv); + if (uperl.argv_items) { + char *argv_list = uwsgi_str(uperl.argv_items); + char *p = strtok(argv_list, " "); + while(p) { + av_push(uperl_argv, newSVpv(p, 0)); + p = strtok(NULL, " "); + } + } + struct uwsgi_string_list *usl = uperl.argv_item; + while(usl) { + av_push(uperl_argv, newSVpv(usl->value, usl->len)); + usl = usl->next; + } + } + + SV *dollar_zero = get_sv("0", GV_ADD); sv_setsv(dollar_zero, newSVpv(app, app_len));