| 985 | } |
| 986 | |
| 987 | void |
| 988 | restcemetery(NHFILE *nhfp, struct cemetery **cemeteryaddr) |
| 989 | { |
| 990 | struct cemetery *bonesinfo, **bonesaddr; |
| 991 | int cflag = 0; |
| 992 | |
| 993 | Sfi_int(nhfp, &cflag, "cemetery-cemetery_flag"); |
| 994 | if (cflag == 0) { |
| 995 | bonesaddr = cemeteryaddr; |
| 996 | do { |
| 997 | bonesinfo = (struct cemetery *) alloc(sizeof *bonesinfo); |
| 998 | Sfi_cemetery(nhfp, bonesinfo, "cemetery-bonesinfo"); |
| 999 | *bonesaddr = bonesinfo; |
| 1000 | bonesaddr = &(*bonesaddr)->next; |
| 1001 | } while (*bonesaddr); |
| 1002 | } else { |
| 1003 | *cemeteryaddr = 0; |
| 1004 | } |
| 1005 | if (((nhfp->mode & CONVERTING) != 0) |
| 1006 | || ((nhfp->mode & UNCONVERTING) != 0)) { |
| 1007 | struct cemetery *thisbones, *nextbones; |
| 1008 | |
| 1009 | /* free the memory */ |
| 1010 | nextbones = *cemeteryaddr; |
| 1011 | while ((thisbones = nextbones) != 0) { |
| 1012 | nextbones = thisbones->next; |
| 1013 | free((genericptr_t)thisbones); |
| 1014 | } |
| 1015 | *cemeteryaddr = 0; |
| 1016 | } |
| 1017 | } |
| 1018 | |
| 1019 | /*ARGSUSED*/ |
| 1020 | staticfn void |
no test coverage detected