r2863 - trunk/varnish-cache/lib/libvarnishapi
des at projects.linpro.no
des at projects.linpro.no
Mon Jun 30 04:03:58 CEST 2008
Author: des
Date: 2008-06-30 04:03:58 +0200 (Mon, 30 Jun 2008)
New Revision: 2863
Modified:
trunk/varnish-cache/lib/libvarnishapi/shmlog.c
Log:
Convert from FILE * to fd.
Modified: trunk/varnish-cache/lib/libvarnishapi/shmlog.c
===================================================================
--- trunk/varnish-cache/lib/libvarnishapi/shmlog.c 2008-06-30 01:44:33 UTC (rev 2862)
+++ trunk/varnish-cache/lib/libvarnishapi/shmlog.c 2008-06-30 02:03:58 UTC (rev 2863)
@@ -65,7 +65,7 @@
unsigned char *ptr;
/* for -r option */
- FILE *fi;
+ int fd;
unsigned char rbuf[SHMLOG_NEXTTAG + 255 + 1];
int b_opt;
@@ -171,6 +171,7 @@
assert(vd != NULL);
vd->regflags = REG_EXTENDED | REG_NOSUB;
vd->magic = VSL_MAGIC;
+ vd->fd = -1;
return (vd);
}
@@ -192,7 +193,7 @@
unsigned char *p;
CHECK_OBJ_NOTNULL(vd, VSL_MAGIC);
- if (vd->fi != NULL)
+ if (vd->fd != -1)
return (0);
if (vsl_shmem_map(varnish_name))
@@ -203,7 +204,7 @@
vd->logend = vd->logstart + vsl_lh->size;
vd->ptr = vd->logstart;
- if (!vd->d_opt && vd->fi == NULL) {
+ if (!vd->d_opt && vd->fd == -1) {
for (p = vd->ptr; *p != SLT_ENDMARKER; )
p += SHMLOG_LEN(p) + SHMLOG_NEXTTAG;
vd->ptr = p;
@@ -232,13 +233,13 @@
int i;
CHECK_OBJ_NOTNULL(vd, VSL_MAGIC);
- if (vd->fi != NULL) {
- i = fread(vd->rbuf, SHMLOG_DATA, 1, vd->fi);
- if (i != 1)
+ if (vd->fd != -1) {
+ i = read(vd->fd, vd->rbuf, SHMLOG_DATA);
+ if (i != SHMLOG_DATA)
return (-1);
- i = fread(vd->rbuf + SHMLOG_DATA,
- SHMLOG_LEN(vd->rbuf) + 1, 1, vd->fi);
- if (i != 1)
+ i = read(vd->fd, vd->rbuf + SHMLOG_DATA,
+ SHMLOG_LEN(vd->rbuf) + 1);
+ if (i != SHMLOG_LEN(vd->rbuf) + 1)
return (-1);
*pp = vd->rbuf;
return (1);
@@ -394,13 +395,14 @@
CHECK_OBJ_NOTNULL(vd, VSL_MAGIC);
if (!strcmp(opt, "-"))
- vd->fi = stdin;
+ vd->fd = STDIN_FILENO;
else
- vd->fi = fopen(opt, "r");
- if (vd->fi != NULL)
- return (1);
- perror(opt);
- return (-1);
+ vd->fd = open(opt, O_RDONLY);
+ if (vd->fd < 0) {
+ perror(opt);
+ return (-1);
+ }
+ return (1);
}
/*--------------------------------------------------------------------*/
More information about the varnish-commit
mailing list