pike.git / NT / tools / sprshd

version» Context lines:

pike.git/NT/tools/sprshd:79:    while(string s=from->read(128,1))    if(to->write(s)!=strlen(s))    return;      }   #endif      void handle_incoming_connection(object(Stdio.File) io)   {    object p; +  mapping env=getenv();    sscanf(io->read(4),"%4c",int args);    string *cmd=allocate(args);    for(int e=0;e<args;e++)    {    sscanf(io->read(4),"%4c",int len);    cmd[e]=io->read(len);    }       object pi=Stdio.File();   #ifdef NO_IPC    object p2=pi->pipe();   #else    object p2=pi->pipe(Stdio.PROP_IPC);   #endif    string dir=cmd[0];    cmd=cmd[1..];       write("Doing %s in %s\n",cmd*" ",dir);    -  +  while(sscanf(cmd[0],"%s=%s",string key, string val)) +  { +  env[key]=val; +  cmd=cmd[1..]; +  } +     switch(lower_case(cmd[0]))    {    case "mkdir":    {    string dir=combine_path(combine_path(getcwd(),dir),cmd[1]);    int ret;    if(Stdio.file_size(dir)!=-2)    ret=mkdir(dir);    else    ret=1;
pike.git/NT/tools/sprshd:153:    to,    dir, combine_path(getcwd(),dir));    io->write(sprintf("%4c%s",strlen(x),x));    }    io->write(sprintf("%4c",0));    io->write(sprintf("%4c",!ret));    break;    }    case "getenv":    { -  string s=getenv(cmd[1])+"\n"; +  string s=(env[cmd[1]] || "")+"\n";    io->write(sprintf("%4c%s",strlen(s),s));    io->write(sprintf("%4c",0));    io->write(sprintf("%4c",0));    break;    }       default:   #ifdef WINE    {    werror("Proxying.....\n");
pike.git/NT/tools/sprshd:184:       mixed err=catch {    p=Process.create_process(cmd,    ([   #ifndef WINE    "stdin":io,    "stdout":p2,    "stderr":p2,   #endif    "cwd":dir, +  "env":env,    ]));    };    destruct(p2);    if(!err)    {   #ifdef NO_IPC    thread_create(monitor,p2,p);   #endif    while(1)    {