home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
OSK
/
TELECOM
/
stg_v4.lzh
/
upload.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-11-11
|
2KB
|
100 lines
/* Upload - Get filename and fork file transfer program
*
* Syntax:
* upload Directory {batch|single} Program [Param1 Param2 ... ParamN]
*
*
* Needs StG fork() linked in.
*
* Things to add:
* Log transactions to System log file.
* Get description for files uploaded, and mail notification to Sysop
* Keep record of # of file/byted uploaded so users download quota can
* be credited.
*/
#include <stdio.h>
#define TRUE 1
#define FALSE 0
char file[33];
char cmd[1024];
int needname;
main(argc, argv)
int argc;
char *argv[];
{
int i;
i = 0;
cmd[0] = '\0';
if(argc < 3)
{
fprintf(stderr,"upload Directory {batch|single} Program [Param1 Param2 ... ParamN]\n");
exit(0);
}
if(chdir(argv[1]) != 0)
{
fprintf(stderr, "Could not change to Directory: %s\n", argv[1]);
exit(1);
}
switch(*argv[2])
{
case 's':
single();
needname = TRUE;
break;
case 'b':
needname = FALSE;
break;
default:
fprintf(stderr,"No mode specified.\n");
exit(1);
}
for(i = 3; i < argc; i++)
{
strcat(cmd, argv[i] );
strcat(cmd, " ");
}
if(needname)
{
strcat(cmd, " ");
strcat(cmd, file);
}
fork(cmd);
}
single()
{
printf("Name for file being uploaded: ");
fflush(stdout);
getname(file);
if(file[0] == '\0')
exit(0);
}
getname()
{
int indx;
char filename[33];
fflush();
indx = readln(0, filename,32);
if(indx > 0)
{
filename[indx - 1] = '\0';
strcpy(file, filename);
}
}