| 1 | /* |
| 2 | * opr -- off line print dispatcher |
| 3 | * chooses spooling routine appropriate |
| 4 | * to destination |
| 5 | * |
| 6 | * last entry in table isdefault |
| 7 | */ |
| 8 | |
| 9 | char *code[] = { |
| 10 | "-sp", "/usr/lib/npr", /* spider network printer */ |
| 11 | "-lp", "/usr/bin/lpr", /* line printer */ |
| 12 | "-mh", "/usr/lib/dpr", /* GCOS via 201 dataphone */ |
| 13 | 0 |
| 14 | }; |
| 15 | |
| 16 | main(argc, argv) |
| 17 | char **argv; |
| 18 | { |
| 19 | int i, j; |
| 20 | |
| 21 | argv[argc] = 0; |
| 22 | for(i=0; code[i+2]; i+=2) |
| 23 | if(argc > 1) |
| 24 | for(j=0; code[i][j]==argv[1][j]; j++) |
| 25 | if(code[i][j] == 0) |
| 26 | goto OK; |
| 27 | OK: |
| 28 | execv(code[i+1]+4, &argv[0]); |
| 29 | execv(code[i+1], &argv[0]); |
| 30 | write(2, "can't start daemon\n", 19); |
| 31 | } |