1 /* freeze.c 4.1 82/05/07 */ 2 3 #include "stdio.h" 4 freeze(s) char *s; 5 { int fd; 6 unsigned int *len; 7 len = (unsigned int *)sbrk(0); 8 if((fd = creat(s, 0666)) < 0) { 9 perror(s); 10 return(1); 11 } 12 write(fd, &len, sizeof(len)); 13 write(fd, (char *)0, len); 14 close(fd); 15 return(0); 16 } 17 18 thaw(s) char *s; 19 { int fd; 20 unsigned int *len; 21 if(*s == 0) { 22 fprintf(stderr, "empty restore file\n"); 23 return(1); 24 } 25 if((fd = open(s, 0)) < 0) { 26 perror(s); 27 return(1); 28 } 29 read(fd, &len, sizeof(len)); 30 (void) brk(len); 31 read(fd, (char *)0, len); 32 close(fd); 33 return(0); 34 } 35