|
|
1.1 ! root 1: #include <stdio.h> ! 2: ! 3: /* ! 4: * lpr -- on line print to line printer ! 5: */ ! 6: #ifdef VPR ! 7: /* if VPR defined, uses versatek printer via /usr/spool/vpd. */ ! 8: #endif ! 9: ! 10: #define DPR 0 ! 11: #define FGET 0 ! 12: #define FSEND 0 ! 13: #define GCAT 0 ! 14: #define LPR 1 ! 15: ! 16: #ifdef VPR ! 17: #define NAME "vpr" ! 18: #endif ! 19: ! 20: #define BF 'F' ! 21: #define MAXCOPY 5000000L ! 22: #define FIRSTCHAR 'A'-1 ! 23: ! 24: #ifdef VPR ! 25: char cfname[] = "/usr/spool/vpd/cf@XXXXX"; ! 26: char dfname[] = "/usr/spool/vpd/df@XXXXX"; ! 27: char lfname[] = "/usr/spool/vpd/lf@XXXXX"; ! 28: char tfname[] = "/usr/spool/vpd/tf@XXXXX"; ! 29: char zfname[] = "/usr/spool/vpd/zf@XXXXX"; ! 30: #endif ! 31: ! 32: #include "spool.c" ! 33: ! 34: main(agc, agv) ! 35: int agc; ! 36: char *agv[]; ! 37: { ! 38: argc = agc; argv = agv; ! 39: pidfn(); ! 40: ! 41: while (argc>1 && (arg = argv[1])[0]=='-') { ! 42: if(!comopt(arg[1])) ! 43: switch (arg[1]) { ! 44: ! 45: default: ! 46: fprintf(stderr, "%s: Unrecognized option: %s\n", NAME, arg); ! 47: break; ! 48: } ! 49: argc--; ! 50: argv++; ! 51: } ! 52: ! 53: if(debug) ! 54: tff = stdout; ! 55: else ! 56: if((tff = nfile(tfname)) == NULL){ ! 57: fprintf(stderr, "%s: Can't create %s.\n", NAME, tfname); ! 58: out(); ! 59: } ! 60: if(ident()) ! 61: out(); ! 62: ! 63: filargs(); /*process file arguments.*/ ! 64: ! 65: if(debug) ! 66: out(); ! 67: fclose(tff); ! 68: if(nact) { ! 69: dfname[INCHAR]++; ! 70: if(link(tfname, dfname) < 0){ ! 71: fprintf(stderr, "%s: Cannot rename %s\n", NAME, tfname); ! 72: out(); ! 73: } ! 74: unlink(tfname); ! 75: #ifdef VPR ! 76: execl("/usr/lib/vpd", "vpd", 0); ! 77: execl("/etc/vpd", "vpd", 0); ! 78: #else ! 79: execl(DAEMNAME, "lpd", 0); ! 80: #endif ! 81: fprintf(stderr, "%s: Can't find daemon.\nFiles left in spooling dir.\n", NAME); ! 82: exit(1); ! 83: } ! 84: out(); ! 85: } ! 86: ! 87: ! 88: archive() ! 89: { ! 90: } ! 91: ! 92: ! 93: nuact() ! 94: { ! 95: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.