00001 #include <grass/gis.h>
00002 #include <unistd.h>
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 int G_write_zeros(int fd, long n)
00013 {
00014 char zeros[1024];
00015 register char *z;
00016 register int i;
00017
00018
00019
00020
00021
00022
00023
00024 if (n <= 0)
00025 return 0;
00026
00027
00028 if (n > sizeof zeros)
00029 i = sizeof zeros;
00030 else
00031 i = n;
00032
00033 z = zeros;
00034 while (i--)
00035 *z++ = 0;
00036
00037
00038 while (n > 0)
00039 {
00040 if (n > sizeof zeros)
00041 i = sizeof zeros;
00042 else
00043 i = n;
00044 write (fd, zeros, i);
00045 n -= i;
00046 }
00047
00048 return 0;
00049 }