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