Hi there, creat(3) "is made obsolete by: open(2)". The diff below replaces all occurrences of
creat(path, mode) with open(path, O_CREAT | O_TRUNC | O_WRONLY, mode) in games. Cheers, Frederic Index: backgammon/common_source/save.c =================================================================== RCS file: /cvs/src/games/backgammon/common_source/save.c,v retrieving revision 1.12 diff -u -p -r1.12 save.c --- backgammon/common_source/save.c 26 Jun 2015 19:18:03 -0000 1.12 +++ backgammon/common_source/save.c 10 Nov 2015 19:31:32 -0000 @@ -86,7 +86,9 @@ save(n) } *fs = '\0'; if ((fdesc = open(fname, O_RDWR)) == -1 && errno == ENOENT) { - if ((fdesc = creat(fname, 0600)) != -1) + if ((fdesc = open(fname, + O_CREAT | O_TRUNC | O_WRONLY, + 0600)) != -1) break; } if (fdesc != -1) { @@ -97,7 +99,9 @@ save(n) close(fdesc); if (yorn(0)) { unlink(fname); - fdesc = creat(fname, 0600); + fdesc = open(fname, + O_CREAT | O_TRUNC | O_WRONLY, + 0600); break; } else { cflag = 1; Index: hack/hack.bones.c =================================================================== RCS file: /cvs/src/games/hack/hack.bones.c,v retrieving revision 1.8 diff -u -p -r1.8 hack.bones.c --- hack/hack.bones.c 27 Oct 2009 23:59:25 -0000 1.8 +++ hack/hack.bones.c 10 Nov 2015 19:31:32 -0000 @@ -129,7 +129,7 @@ savebones() otmp->cursed = 1; /* flag as gotten from a ghost */ } } - if((fd = creat(bones, FMASK)) < 0) return; + if((fd = open(bones, O_CREAT | O_TRUNC | O_WRONLY, FMASK)) < 0) return; savelev(fd,dlevel); (void) close(fd); } Index: hack/hack.do.c =================================================================== RCS file: /cvs/src/games/hack/hack.do.c,v retrieving revision 1.8 diff -u -p -r1.8 hack.do.c --- hack/hack.do.c 11 Mar 2014 08:05:15 -0000 1.8 +++ hack/hack.do.c 10 Nov 2015 19:31:32 -0000 @@ -193,7 +193,7 @@ goto_level(int newlevel, boolean at_stai if(newlevel == dlevel) return; /* this can happen */ glo(dlevel); - fd = creat(lock, FMASK); + fd = open(lock, O_CREAT | O_TRUNC | O_WRONLY, FMASK); if(fd < 0) { /* * This is not quite impossible: e.g., we may have Index: hack/hack.save.c =================================================================== RCS file: /cvs/src/games/hack/hack.save.c,v retrieving revision 1.11 diff -u -p -r1.11 hack.save.c --- hack/hack.save.c 11 Mar 2014 08:05:15 -0000 1.11 +++ hack/hack.save.c 10 Nov 2015 19:31:32 -0000 @@ -100,7 +100,7 @@ dosave0(int hu) (void) signal(SIGHUP, SIG_IGN); (void) signal(SIGINT, SIG_IGN); - if((fd = creat(SAVEF, FMASK)) < 0) { + if((fd = open(SAVEF, O_CREAT | O_TRUNC | O_WRONLY, FMASK)) < 0) { if(!hu) pline("Cannot open save file. (Continue or Quit)"); (void) unlink(SAVEF); /* ab@unido */ return(0); @@ -192,7 +192,7 @@ dorecover(int fd) break; getlev(fd, 0, tmp); glo(tmp); - if((nfd = creat(lock, FMASK)) < 0) + if((nfd = open(lock, O_CREAT | O_TRUNC | O_WRONLY, FMASK)) < 0) panic("Cannot open temp file %s!\n", lock); savelev(nfd,tmp); (void) close(nfd); Index: hack/hack.unix.c =================================================================== RCS file: /cvs/src/games/hack/hack.unix.c,v retrieving revision 1.15 diff -u -p -r1.15 hack.unix.c --- hack/hack.unix.c 16 Nov 2014 04:49:48 -0000 1.15 +++ hack/hack.unix.c 10 Nov 2015 19:31:32 -0000 @@ -286,7 +286,7 @@ getlock() error(locknum ? "Too many hacks running now." : "There is a game in progress under your name."); gotlock: - fd = creat(lock, FMASK); + fd = open(lock, O_CREAT | O_TRUNC | O_WRONLY, FMASK); if(unlink(LLOCK) == -1) error("Cannot unlink %s.", LLOCK); if(fd == -1) { @@ -452,7 +452,7 @@ mdrush(struct monst *md, boolean away) md->my = fy; } break; - } + } } tmp_at(-1,-1); /* close call */ } Index: mille/save.c =================================================================== RCS file: /cvs/src/games/mille/save.c,v retrieving revision 1.8 diff -u -p -r1.8 save.c --- mille/save.c 27 Oct 2009 23:59:26 -0000 1.8 +++ mille/save.c 10 Nov 2015 19:31:32 -0000 @@ -100,7 +100,7 @@ over: && getyn(OVERWRITEFILEPROMPT) == FALSE)) return FALSE; - if ((outf = creat(buf, 0644)) < 0) { + if ((outf = open(buf, O_CREAT | O_TRUNC | O_WRONLY, 0644)) < 0) { error(strerror(errno)); return FALSE; } Index: trek/dumpgame.c =================================================================== RCS file: /cvs/src/games/trek/dumpgame.c,v retrieving revision 1.9 diff -u -p -r1.9 dumpgame.c --- trek/dumpgame.c 27 Oct 2009 23:59:27 -0000 1.9 +++ trek/dumpgame.c 10 Nov 2015 19:31:32 -0000 @@ -81,7 +81,7 @@ dumpgame(v) struct dump *d; int i; - if ((fd = creat("trek.dump", 0644)) < 0) + if ((fd = open("trek.dump", O_CREAT | O_TRUNC | O_WRONLY, 0644)) < 0) { warn("cannot open `trek.dump'"); return;