X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=chiark-utils.git;a=blobdiff_plain;f=backup%2Fwritebuffer.c;h=aaff8d7859d48a30899fa93d21a3cf3158591597;hp=bb1d26f71e358e0d4c369435bdd956fb97f4bdb3;hb=460e29f1c9232dafbdc161bf67d3e956d23eeb6b;hpb=d906fbd72072c6953922e0627bbcf3d4c62ce7c0 diff --git a/backup/writebuffer.c b/backup/writebuffer.c index bb1d26f..aaff8d7 100644 --- a/backup/writebuffer.c +++ b/backup/writebuffer.c @@ -34,7 +34,11 @@ #include #include -#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) {