Module Name:    src
Committed By:   pooka
Date:           Tue Feb 22 15:51:59 UTC 2011

Modified Files:
        src/usr.bin/rump_allserver: rump_allserver.c

Log Message:
* at least try to query size of non-regular size=host files too,
  give up if we get 0
* fix a few error messages


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/usr.bin/rump_allserver/rump_allserver.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/rump_allserver/rump_allserver.c
diff -u src/usr.bin/rump_allserver/rump_allserver.c:1.20 src/usr.bin/rump_allserver/rump_allserver.c:1.21
--- src/usr.bin/rump_allserver/rump_allserver.c:1.20	Mon Feb 21 18:50:21 2011
+++ src/usr.bin/rump_allserver/rump_allserver.c	Tue Feb 22 15:51:59 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: rump_allserver.c,v 1.20 2011/02/21 18:50:21 pooka Exp $	*/
+/*	$NetBSD: rump_allserver.c,v 1.21 2011/02/22 15:51:59 pooka Exp $	*/
 
 /*-
  * Copyright (c) 2010, 2011 Antti Kantee.  All Rights Reserved.
@@ -27,7 +27,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: rump_allserver.c,v 1.20 2011/02/21 18:50:21 pooka Exp $");
+__RCSID("$NetBSD: rump_allserver.c,v 1.21 2011/02/22 15:51:59 pooka Exp $");
 #endif /* !lint */
 
 #include <sys/types.h>
@@ -180,7 +180,7 @@
 							fprintf(stderr,
 							    "cannot specify "
 							    "offset with "
-							    "size=e\n");
+							    "size=host\n");
 							usage();
 						}
 						flen = DSIZE_E;
@@ -199,7 +199,7 @@
 					if (flen == DSIZE_E) {
 						fprintf(stderr, "cannot "
 						    "specify offset with "
-						    "size=e\n");
+						    "size=host\n");
 						usage();
 					}
 					/* XXX: off_t max? */
@@ -383,8 +383,9 @@
 		if (fstat(fd, &sb) == -1)
 			die(sflag, errno, "fstat etfs hostpath");
 		if (flen == DSIZE_E) {
-			if (!S_ISREG(sb.st_mode))
-				die(sflag, EINVAL, "size=e requires reg file");
+			if (sb.st_size == 0)
+				die(sflag, EINVAL, "size=host, but cannot "
+				    "query non-zero size");
 			flen = sb.st_size;
 		}
 		fendoff = foffset + flen;

Reply via email to