chiark / gitweb /
Working on debianisation and packaging.
[chiark-utils.git] / backup / writebuffer.c
index bb1d26f71e358e0d4c369435bdd956fb97f4bdb3..aaff8d7859d48a30899fa93d21a3cf3158591597 100644 (file)
 #include <errno.h>
 #include <unistd.h>
 
-#define BUFFER 16*1024*1024
+#ifndef RWBUFFER_SIZE_MB
+#define RWBUFFER_SIZE_MB 16
+#endif
+
+#define BUFFER (RWBUFFER_SIZE_MB*1024*1024)
 #define WAITFILL ((BUFFER*3)/4)
 
 static inline int min(int a, int b) { return a<=b ? a : b; }
@@ -49,16 +53,16 @@ static void nonblock(int fd) {
 int main(int argc, const char *const *argv) {
   static unsigned char buf[BUFFER];
   
-  if (argv[1]) {
-    fputs("readbuffer: no arguments allowed\n", stderr);
-    exit(-1);
-  }
-
   unsigned char *wp, *rp;
   int used,r,writing,seeneof;
   fd_set readfds;
   fd_set writefds;
 
+  if (argv[1]) {
+    fputs("readbuffer: no arguments allowed\n", stderr);
+    exit(-1);
+  }
+
   used=0; wp=rp=buf; writing=0; seeneof=0;
   nonblock(0); nonblock(1);
   while (!seeneof || used) {