projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
date and time created 83/08/11 20:49:31 by sam
[unix-history]
/
usr
/
src
/
old
/
vpr
/
vpq.c
diff --git
a/usr/src/old/vpr/vpq.c
b/usr/src/old/vpr/vpq.c
index
a40ff36
..
6b979d1
100644
(file)
--- a/
usr/src/old/vpr/vpq.c
+++ b/
usr/src/old/vpr/vpq.c
@@
-2,20
+2,18
@@
* Varian and Versatec queue
*/
* Varian and Versatec queue
*/
-static char vpqSCCSid[] = "@(#)vpq.c 1.
2
\t%G%";
+static char vpqSCCSid[] = "@(#)vpq.c 1.
3
\t%G%";
-#include <sys/
types
.h>
+#include <sys/
param
.h>
#include <dir.h>
#include <stat.h>
#include <stdio.h>
#include <errno.h>
#define MAXJOBS 100
#include <dir.h>
#include <stat.h>
#include <stdio.h>
#include <errno.h>
#define MAXJOBS 100
-struct dir dirent;
struct stat stbuf;
int nextflag;
int linecnt;
struct stat stbuf;
int nextflag;
int linecnt;
-FILE *df;
FILE *jf;
char line[100];
char username[10];
FILE *jf;
char line[100];
char username[10];
@@
-64,6
+62,8
@@
queue(device, devname, spooldir, daemon)
char *device, *devname, *spooldir, *daemon;
{
FILE *vc;
char *device, *devname, *spooldir, *daemon;
{
FILE *vc;
+ DIR *df;
+ register struct direct *dirp;
printf("%s: ", devname);
vc = fopen(device, "w");
printf("%s: ", devname);
vc = fopen(device, "w");
@@
-84,39
+84,36
@@
char *device, *devname, *spooldir, *daemon;
perror(spooldir);
return;
}
perror(spooldir);
return;
}
-oloop:
- df = fopen(".", "r");
+ df = opendir(".");
if (df == NULL) {
perror(spooldir);
return;
}
if (df == NULL) {
perror(spooldir);
return;
}
-loop:
- fseek(df, 0l, 0);
linecnt = 0;
cnt = 0;
linecnt = 0;
cnt = 0;
- while (
fread(&dirent, sizeof dirent, 1, df) == 1
) {
- if (dir
ent.d_ino == 0
)
+ while (
(dirp = readdir(df)) != NULL
) {
+ if (dir
p->d_name[0] != 'd'
)
continue;
continue;
- if (dir
ent.d_name[0] != 'd
')
+ if (dir
p->d_name[1] != 'f
')
continue;
continue;
- if (dirent.d_name[1] != 'f')
- continue;
- if (stat(dirent.d_name, &stbuf) < 0)
+ if (stat(dirp->d_name, &stbuf) < 0)
continue;
if (cnt == 0)
printf("Owner\t Id Chars Filename\n");
cnt++;
continue;
if (cnt == 0)
printf("Owner\t Id Chars Filename\n");
cnt++;
- process();
+ process(
dirp
);
}
}
+ closedir(df);
if (cnt == 0)
printf("Queue is empty.\n");
printf("\n");
}
if (cnt == 0)
printf("Queue is empty.\n");
printf("\n");
}
-process()
+process(dirp)
+ register struct direct *dirp;
{
{
- jf = fopen(dir
ent.
d_name, "r");
+ jf = fopen(dir
p->
d_name, "r");
if (jf == NULL)
return;
while (getline()) {
if (jf == NULL)
return;
while (getline()) {
@@
-134,8
+131,8
@@
process()
case 'T':
if (stat(line+1, &stbuf) < 0)
stbuf.st_size = 0;
case 'T':
if (stat(line+1, &stbuf) < 0)
stbuf.st_size = 0;
- printf("%-10s%5s%8d %s\n", username,
dirent.d_name+3,
- stbuf.st_size, line+1);
+ printf("%-10s%5s%8d %s\n", username,
+
&(dirp->d_name[3]),
stbuf.st_size, line+1);
break;
}
}
break;
}
}