#include #include #include #include #include #include #define BUF_NUMBLOCKS 1024 int bitset_buf(unsigned char *ibuf, unsigned char *obuf, int size, int bsize) { int numblocks = size/bsize; int i,j,k,tmp,rc=0; unsigned char c; for (i=0; i 0) { if (n % blocksize) { fprintf(stderr, "ERROR: n=%d read not a multiple of blocksize=%d\n", n, blocksize); } rc = bitset_buf(ibuf, obuf, n, blocksize); if (rc < 0) { perror("bitset"); return -1; } p = fwrite(obuf, 1, rc, stdout); if (p != rc) { perror("write"); return -1; } } fclose(stdin); return 0; }