]>
Commit | Line | Data |
---|---|---|
3bf16082 | 1 | --- xfig.3.2.3c/w_print.c.orig Sat Aug 5 14:45:00 2000 |
2 | +++ xfig.3.2.3c/w_print.c Sat Aug 5 15:01:20 2000 | |
3 | @@ -958,9 +958,10 @@ | |
4 | { | |
5 | FILE *printcap; | |
6 | char str[300]; | |
7 | - int i,j,len; | |
8 | + int i,j,k,len; | |
9 | int printers; | |
10 | Boolean comment; | |
11 | + Boolean dudprinter; | |
12 | ||
13 | if ((printcap=fopen("/etc/printcap","r"))==NULL) | |
14 | return 0; | |
15 | @@ -993,6 +994,20 @@ | |
16 | break; | |
17 | } | |
18 | str[j] = '\0'; | |
19 | + /* Check for empty printer name or duplicate name */ | |
20 | + dudprinter = True; | |
21 | + for (k=0; k<j; k++) { | |
22 | + if(str[k] !=' ' && str[k] != '\t') | |
23 | + dudprinter = False; | |
24 | + } | |
25 | + if(printers > 0) { | |
26 | + for (k=0; k<printers; k++) { | |
27 | + if(strncmp(names[k],&str[i],j-i+1) == 0) | |
28 | + dudprinter = True; | |
29 | + } | |
30 | + } | |
31 | + if (dudprinter == True) | |
32 | + continue; | |
33 | if ((names[printers] = malloc(j-i+1)) == NULL) | |
34 | return printers; | |
35 | strncpy(names[printers],&str[i],j-i+1); |