Annotation of 43BSD/old/berknet/receive.c, revision 1.1.1.1

1.1       root        1: static char sccsid[] = "@(#)receive.c  4.1     (Berkeley)      10/2/82";
                      2: 
                      3: /*
                      4:        receive.c
                      5: 
                      6:        take the file sent by "store.c" and write it locally
                      7: */
                      8: # include "defs.h"
                      9: 
                     10: /* global variables */
                     11: struct daemonparms netd;
                     12: 
                     13: main(argc,argv)
                     14:   char **argv; {
                     15:        FILE *fp;
                     16:        char *p, save[40];
                     17:        int i, n;
                     18:        char buf[BUFSIZ];
                     19:        long length;
                     20:        debugflg = DBV;
                     21:        setupdaemon(argc,argv);
                     22:        putchar('!');
                     23:        for(;;){
                     24:                initseqno();
                     25:                while((i = nread(buf,20)) == BROKENREAD);
                     26:                if(i != 20){
                     27:                        printf("Didn't read file name\n");
                     28:                        exit(EX_USAGE);
                     29:                        }
                     30:                for(p=buf; *p && *p != '\n' && *p != ' '; p++);
                     31:                *p = 0;
                     32:                printf("Creating file %s ",buf);
                     33:                fp = fopen(buf,"w");
                     34:                if(fp == NULL){
                     35:                        fp = fopen(buf,"w");
                     36:                        exit(EX_OSFILE);
                     37:                        }
                     38:                strcpy(save,buf);
                     39:                while((i = nread(buf,10)) == BROKENREAD);
                     40:                if(i != 10){
                     41:                        printf("Didn't read length right\n");
                     42:                        exit(EX_SOFTWARE);
                     43:                        }
                     44:                length = atol(buf+1);
                     45:                printf("length %ld\n",length);
                     46:                while(length > 0){
                     47:                        i = min(length,512);
                     48:                        while((n = nread(buf,i)) == BROKENREAD);
                     49:                        length -= n;
                     50:                        fwrite(buf,1,n,fp);
                     51:                        }
                     52:                fclose(fp);
                     53:                printf("Finished file %s\n",save);
                     54:                }
                     55:        }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.