MCPcopy Create free account
hub / github.com/NetHack/NetHack / restcemetery

Function restcemetery

src/restore.c:987–1017  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

985}
986
987void
988restcemetery(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*/
1020staticfn void

Callers 2

getlevFunction · 0.85
load_mapseenFunction · 0.85

Calls 1

allocFunction · 0.70

Tested by

no test coverage detected