|
|
1.1 root 1: #include <stdlib.h>
2: #include <limits.h>
3: #include <stdio.h>
4:
5: #define BLOCK (32*1024)
6:
7: main(int argc, char **argv)
8: {
9: int byte = 0;
10: long nbytes = LONG_MAX;
11: char buf[BLOCK];
12:
13: if(argc > 3){
14: fprintf(stderr, "Usage: zero [byte [nbytes]]\n");
15: exit(1);
16: }
17: if(argc > 1)
18: byte = strtol(argv[1], (char **)0, 0);
19: if(argc > 2)
20: nbytes = strtol(argv[2], (char **)0, 0);
21: memset(buf, byte, BLOCK);
22: while(nbytes > BLOCK){
23: if(write(1, buf, BLOCK) != BLOCK){
24: perror("zero: write error");
25: exit(2);
26: }
27: nbytes -= BLOCK;
28: }
29: if(nbytes){
30: if(write(1, buf, (int)nbytes) != (int)nbytes){
31: perror("zero: write error");
32: exit(2);
33: }
34: }
35: exit(0);
36: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.