--- parser3/src/classes/file.C 2013/12/02 21:13:55 1.230 +++ parser3/src/classes/file.C 2015/04/02 22:04:40 1.233 @@ -25,7 +25,7 @@ #include "pa_vregex.h" #include "pa_version.h" -volatile const char * IDENT_FILE_C="$Id: file.C,v 1.230 2013/12/02 21:13:55 moko Exp $"; +volatile const char * IDENT_FILE_C="$Id: file.C,v 1.233 2015/04/02 22:04:40 moko Exp $"; // defines @@ -474,19 +474,16 @@ static void _exec_cgi(Request& r, Method env.put( \ String::Body(#name), \ String::Body(*value_cstr?value_cstr:0)); \ - // passing SAPI::environment - if(const char *const *pairs=SAPI::environment(r.sapi_info)) { - while(const char* pair=*pairs++) - if(const char* eq_at=strchr(pair, '=')) - if(eq_at[1]) // has value - env.put( - pa_strdup(pair, eq_at-pair), - pa_strdup(eq_at+1)); - } + // passing environment + for(SAPI::Env::Iterator i(r.sapi_info); i; i.next() ) + env.put( + i.key(), + i.value() + ); // const ECSTR(GATEWAY_INTERFACE, "CGI/1.1"); - ECSTR("PARSER_VERSION", PARSER_VERSION); + ECSTR(PARSER_VERSION, PARSER_VERSION); // from Request.info ECSTR(DOCUMENT_ROOT, r.request_info.document_root); ECSTR(PATH_TRANSLATED, r.request_info.path_translated); @@ -740,9 +737,9 @@ static void _list(Request& r, MethodPara if(stat) { ffblk.stat_file(); *row+=VDouble(ffblk.size()).get_string(); - *row+=new String(String::Body::Format(ffblk.c_timestamp()), String::L_CLEAN); - *row+=new String(String::Body::Format(ffblk.m_timestamp()), String::L_CLEAN); - *row+=new String(String::Body::Format(ffblk.a_timestamp()), String::L_CLEAN); + *row+=new String(String::Body::Format((int)ffblk.c_timestamp()), String::L_CLEAN); + *row+=new String(String::Body::Format((int)ffblk.m_timestamp()), String::L_CLEAN); + *row+=new String(String::Body::Format((int)ffblk.a_timestamp()), String::L_CLEAN); } table+=row; }