BSD 4 development
[unix-history] / usr / src / cmd / awk / freeze.c
CommitLineData
0991566e
BJ
1#include "stdio.h"
2freeze(s) char *s;
3{ int fd;
4 unsigned int *len;
5 len = (unsigned int *)sbrk(0);
6 if((fd = creat(s, 0666)) < 0) {
7 perror(s);
8 return(1);
9 }
10 write(fd, &len, sizeof(len));
11 write(fd, (char *)0, len);
12 close(fd);
13 return(0);
14}
15
16thaw(s) char *s;
17{ int fd;
18 unsigned int *len;
19 if(*s == 0) {
20 fprintf(stderr, "empty restore file\n");
21 return(1);
22 }
23 if((fd = open(s, 0)) < 0) {
24 perror(s);
25 return(1);
26 }
27 read(fd, &len, sizeof(len));
28 (void) brk(len);
29 read(fd, (char *)0, len);
30 close(fd);
31 return(0);
32}