diff options
Diffstat (limited to 'apps/plugins/doom/d_deh.c')
-rw-r--r-- | apps/plugins/doom/d_deh.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/apps/plugins/doom/d_deh.c b/apps/plugins/doom/d_deh.c index c1e136f467..d3f7496885 100644 --- a/apps/plugins/doom/d_deh.c +++ b/apps/plugins/doom/d_deh.c | |||
@@ -85,7 +85,7 @@ char *dehfgets(char *buf, size_t n, DEHFILE *fp) | |||
85 | 85 | ||
86 | p = buf; | 86 | p = buf; |
87 | 87 | ||
88 | while (--n > 0) | 88 | while (n-- > 0) |
89 | { | 89 | { |
90 | unsigned char c = *fp->inp++; | 90 | unsigned char c = *fp->inp++; |
91 | fp->size--; | 91 | fp->size--; |
@@ -111,7 +111,7 @@ int dehfeof(DEHFILE *fp) | |||
111 | return (size <= 0 || offset < 0 || offset >= size) ? 1 : 0; | 111 | return (size <= 0 || offset < 0 || offset >= size) ? 1 : 0; |
112 | } | 112 | } |
113 | 113 | ||
114 | return (fp->size == 0 || *fp->inp == '\0') ? 1 : 0; | 114 | return (fp->size <= 0 || *fp->inp == '\0') ? 1 : 0; |
115 | } | 115 | } |
116 | 116 | ||
117 | int dehfgetc(DEHFILE *fp) | 117 | int dehfgetc(DEHFILE *fp) |
@@ -1509,6 +1509,7 @@ void ProcessDehFile(const char *filename, const char *outfilename, int lumpnum) | |||
1509 | int size = W_LumpLength(lumpnum); | 1509 | int size = W_LumpLength(lumpnum); |
1510 | infile.size = (size < 0) ? 0 : (ssize_t)size; | 1510 | infile.size = (size < 0) ? 0 : (ssize_t)size; |
1511 | infile.inp = W_CacheLumpNum(lumpnum); | 1511 | infile.inp = W_CacheLumpNum(lumpnum); |
1512 | infile.fd=-1; | ||
1512 | filename = "(WAD)"; | 1513 | filename = "(WAD)"; |
1513 | } | 1514 | } |
1514 | 1515 | ||
@@ -1983,7 +1984,7 @@ void deh_procPointer(DEHFILE *fpin, int fpout, char *line) // done | |||
1983 | // NOTE: different format from normal | 1984 | // NOTE: different format from normal |
1984 | 1985 | ||
1985 | // killough 8/98: allow hex numbers in input, fix error case: | 1986 | // killough 8/98: allow hex numbers in input, fix error case: |
1986 | if (sscanf(inbuffer,"%*s %*i (%s %i)",key, &indexnum) != 2) | 1987 | if (sscanf(inbuffer,"%*s %*d (%s %d)",key, &indexnum) != 2) |
1987 | { | 1988 | { |
1988 | if (fpout) fdprintf(fpout,"Bad data pair in '%s'\n",inbuffer); | 1989 | if (fpout) fdprintf(fpout,"Bad data pair in '%s'\n",inbuffer); |
1989 | return; | 1990 | return; |
@@ -2122,7 +2123,7 @@ void deh_procAmmo(DEHFILE *fpin, int fpout, char *line) | |||
2122 | strncpy(inbuffer,line,DEH_BUFFERMAX); | 2123 | strncpy(inbuffer,line,DEH_BUFFERMAX); |
2123 | 2124 | ||
2124 | // killough 8/98: allow hex numbers in input: | 2125 | // killough 8/98: allow hex numbers in input: |
2125 | sscanf(inbuffer,"%s %i",key, &indexnum); | 2126 | sscanf(inbuffer,"%s %d",key, &indexnum); |
2126 | if (fpout) fdprintf(fpout,"Processing Ammo at index %d: %s\n", | 2127 | if (fpout) fdprintf(fpout,"Processing Ammo at index %d: %s\n", |
2127 | indexnum, key); | 2128 | indexnum, key); |
2128 | if (indexnum < 0 || indexnum >= NUMAMMO) | 2129 | if (indexnum < 0 || indexnum >= NUMAMMO) |