=/^G show total bytes now; document may not always work
[unix-history] / usr / src / old / awk / freeze.c
CommitLineData
b803c326
SL
1#ifndef lint
2static char sccsid[] = "@(#)freeze.c 4.2 %G%";
3#endif
d1fbdce9
KM
4
5#include "stdio.h"
6freeze(s) char *s;
7{ int fd;
8 unsigned int *len;
9 len = (unsigned int *)sbrk(0);
10 if((fd = creat(s, 0666)) < 0) {
11 perror(s);
12 return(1);
13 }
14 write(fd, &len, sizeof(len));
15 write(fd, (char *)0, len);
16 close(fd);
17 return(0);
18}
19
20thaw(s) char *s;
21{ int fd;
22 unsigned int *len;
23 if(*s == 0) {
24 fprintf(stderr, "empty restore file\n");
25 return(1);
26 }
27 if((fd = open(s, 0)) < 0) {
28 perror(s);
29 return(1);
30 }
31 read(fd, &len, sizeof(len));
32 (void) brk(len);
33 read(fd, (char *)0, len);
34 close(fd);
35 return(0);
36}