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 >
C/C++ Source or Header  |  1994-11-11  |  2KB  |  100 lines

  1. /* Upload - Get filename and fork file transfer program
  2.  *
  3.  * Syntax:
  4.  *    upload Directory {batch|single} Program [Param1 Param2 ... ParamN]
  5.  *
  6.  *
  7.  * Needs StG fork() linked in.
  8.  *
  9.  * Things to add:
  10.  *    Log transactions to System log file.
  11.  *    Get description for files uploaded, and mail notification to Sysop
  12.  *    Keep record of # of file/byted uploaded so users download quota can
  13.  *        be credited.
  14.  */
  15.  
  16. #include <stdio.h>
  17.  
  18. #define TRUE 1
  19. #define FALSE 0
  20.  
  21. char file[33];
  22. char cmd[1024];
  23. int needname;
  24.  
  25. main(argc, argv)
  26. int argc;
  27. char *argv[];
  28. {
  29.     int i; 
  30.  
  31.     i = 0;
  32.     cmd[0] = '\0';
  33.  
  34.     if(argc < 3)
  35.     {
  36.         fprintf(stderr,"upload Directory {batch|single} Program [Param1 Param2 ... ParamN]\n");
  37.         exit(0);
  38.     }
  39.  
  40.     if(chdir(argv[1]) != 0)
  41.     {
  42.         fprintf(stderr, "Could not change to Directory: %s\n", argv[1]);
  43.         exit(1);
  44.     }
  45.  
  46.     switch(*argv[2])
  47.     {
  48.         case 's':
  49.             single();
  50.             needname = TRUE;
  51.             break;
  52.         case 'b':
  53.             needname = FALSE;
  54.             break;
  55.         default:
  56.             fprintf(stderr,"No mode specified.\n");
  57.             exit(1);
  58.     }
  59.  
  60.  
  61.     for(i = 3; i < argc; i++)
  62.     {
  63.         strcat(cmd, argv[i] );
  64.         strcat(cmd, " ");
  65.     }
  66.  
  67.     if(needname)
  68.     {
  69.         strcat(cmd, " ");
  70.         strcat(cmd, file);
  71.     }
  72.     fork(cmd);
  73. }
  74.  
  75.  
  76. single()
  77. {
  78.     printf("Name for file being uploaded: ");
  79.     fflush(stdout); 
  80.     getname(file);
  81.  
  82.     if(file[0] == '\0')
  83.         exit(0); 
  84. }
  85.  
  86.  
  87. getname()
  88. {
  89.     int indx;
  90.     char filename[33];
  91.  
  92.     fflush();
  93.     indx = readln(0, filename,32);
  94.     if(indx > 0)
  95.     {
  96.         filename[indx - 1] = '\0';
  97.         strcpy(file, filename);
  98.     }
  99. }
  100.