pike.git
/
NT
/
tools
/
sprshd
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/NT/tools/sprshd:26:
int cp(string from, string to) { if(!Stdio.cp(from,to)) { werror("Backup cp function in effect.\n"); string data; object tmp=Stdio.File(); if(!tmp->open(from,"r")) {
-
werror(sprintf("Open %s failed.\n",from));
+
werror(sprintf("Open %s
for reading
failed.\n",from));
return 0; } function r=tmp->read; tmp=Stdio.File(); if(!tmp->open(to,"wct")) {
-
werror(sprintf("Open %s failed.\n",to));
+
werror(sprintf("Open %s
for writing
failed.\n",to));
return 0; } function w=tmp->write; do { data=r(BLOCK); if(!data) { werror("Read failed.\n"); return 0;
pike.git/NT/tools/sprshd:96:
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 "
+cmd
*" "
+"\n"
);
+
write("Doing
%s in %s\n
"
,cmd
*" "
,dir
);
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;
+
if(!ret)
+
{
+
string x=sprintf("MKDIR %s failed, errno=%d\n",dir,errno());
+
io->write(sprintf("%4c%s",strlen(x),x));
+
}
io->write(sprintf("%4c",0));
-
mkdir(combine_path(combine_path(getcwd(),dir),cmd[1]));
-
io->write(sprintf("%4c",
0
));
+
io->write(sprintf("%4c",
!ret
));
break; } case "copy": { string from=combine_path(combine_path(getcwd(),dir),cmd[1]); string to=combine_path(combine_path(getcwd(),dir),cmd[2]); if(mixed stat=file_stat(to)) {
pike.git/NT/tools/sprshd:192:
while(1) { string s=pi->read(1000,1); if(!s || !strlen(s)) break; io->write(sprintf("%4c%s",strlen(s),s)); } io->write(sprintf("%4c",0)); io->write(sprintf("%4c",p->wait())); }else{
+
werror("dir=%s\n",dir);
werror(master()->describe_backtrace(err)); destruct(p2); io->write(sprintf("%4c",0)); io->write(sprintf("%4c",69)); } }
-
+
#ifdef WINE
+
io->close("rw");
+
#else
io->close("w");
-
+
#endif
destruct(io); } void handle_connections(string *hosts) { while(1) { if(object io=accept()) { sscanf(io->query_address(),"%s ",string ip);