File: 0007-Be-a-little-bit-more-useful-with-recover-s-error-mes.patch

package info (click to toggle)
nethack 3.6.7-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 21,468 kB
  • sloc: ansic: 266,495; cpp: 13,652; yacc: 2,903; perl: 1,426; lex: 581; sh: 535; xml: 372; awk: 98; makefile: 68; fortran: 51; sed: 11
file content (98 lines) | stat: -rw-r--r-- 3,116 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
From: Ian Jackson <sysadmin@chiark.greenend.org.uk>
Date: Sun, 31 May 2020 16:23:23 +0200
Subject: 0007-Be-a-little-bit-more-useful-with-recover-s-error-mes
Forwarded: not-needed

---
 util/recover.c | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/util/recover.c b/util/recover.c
index fab06be..59884ca 100644
--- a/util/recover.c
+++ b/util/recover.c
@@ -40,7 +40,7 @@ void FDECL(copy_bytes, (int, int));
 #define Fprintf (void) nhce_message
 static void nhce_message(FILE *, const char *, ...);
 #endif
-
+#define Perror (void) perror
 #define Close (void) close
 
 #ifdef UNIX
@@ -66,13 +66,14 @@ extern unsigned _stklen = STKSIZ;
 #endif
 char savename[SAVESIZE]; /* holds relative path of save file from playground */
 
+const char *dir = (char*) 0;
+
 int
 main(argc, argv)
 int argc;
 char *argv[];
 {
     int argno;
-    const char *dir = (char *) 0;
 #ifdef AMIGA
     char *startdir = (char *) 0;
 #endif
@@ -144,7 +145,8 @@ char *argv[];
     startdir = getcwd(0, 255);
 #endif
     if (dir && chdir((char *) dir) < 0) {
-        Fprintf(stderr, "%s: cannot chdir to %s.\n", argv[0], dir);
+        Fprintf(stderr, "%s: cannot chdir:", argv[0]);
+        Perror(dir);
         exit(EXIT_FAILURE);
     }
 
@@ -288,7 +290,9 @@ char *basename;
             Fprintf(stderr, "\nTrouble accessing level 0 (errno = %d).\n",
                     errno);
 #endif
-        Fprintf(stderr, "Cannot open level 0 for %s.\n", basename);
+        Fprintf(stderr, "Cannot open level 0 for %s in directory %s: ",
+                 basename, dir);
+        Perror(lock);
         return -1;
     }
     if (read(gfd, (genericptr_t) &hpid, sizeof hpid) != sizeof hpid) {
@@ -315,7 +319,8 @@ char *basename;
         || (read(gfd, (genericptr_t) &pltmpsiz, sizeof pltmpsiz)
             != sizeof pltmpsiz) || (pltmpsiz > PL_NSIZ)
         || (read(gfd, (genericptr_t) plbuf, pltmpsiz) != pltmpsiz)) {
-        Fprintf(stderr, "Error reading %s -- can't recover.\n", lock);
+        Fprintf(stderr, "Error reading, -- can't recover: ");
+        Perror(lock);
         Close(gfd);
         return -1;
     }
@@ -330,14 +335,16 @@ char *basename;
      */
     sfd = create_savefile();
     if (sfd < 0) {
-        Fprintf(stderr, "Cannot create savefile %s.\n", savename);
+        Fprintf(stderr, "Cannot create savefile in %s: ", dir);
+        Perror(savename);
         Close(gfd);
         return -1;
     }
 
     lfd = open_levelfile(savelev);
     if (lfd < 0) {
-        Fprintf(stderr, "Cannot open level of save for %s.\n", basename);
+        Fprintf(stderr, "Cannot open level of save for %s: ", basename);
+        Perror(lock);
         Close(gfd);
         Close(sfd);
         return -1;
@@ -345,7 +352,8 @@ char *basename;
 
     if (write(sfd, (genericptr_t) &version_data, sizeof version_data)
         != sizeof version_data) {
-        Fprintf(stderr, "Error writing %s; recovery failed.\n", savename);
+        Fprintf(stderr, "Error writing, recovery failed: ");
+        Perror(savename);
         Close(gfd);
         Close(sfd);
         Close(lfd);