openbsd-ports/converters/ish/patches/patch-decode_c

38 lines
1.1 KiB
Plaintext

Hunk #1: When decoding, the status display has Y2K problem.
Hunk #2: NUL vs NULL mismatch
Hunk #3: fix an infinite loop on unsigned char archs (powerpc and arm*)
Index: decode.c
--- decode.c.orig
+++ decode.c
@@ -273,8 +273,8 @@ ish_head *head;
tm.tm_min = (p[1]&0x07)<<3;
tm.tm_min += p[0]>>5;
tm.tm_sec = (p[0]&0x1f)<<1;
- fprintf(stderr,"%02d/%02d/%02d %02d:%02d:%02d ",
- tm.tm_year,tm.tm_mon+1,tm.tm_mday,tm.tm_hour,tm.tm_min,tm.tm_sec);
+ fprintf(stderr,"%04d/%02d/%02d %02d:%02d:%02d ",
+ tm.tm_year+1900,tm.tm_mon+1,tm.tm_mday,tm.tm_hour,tm.tm_min,tm.tm_sec);
#ifdef __TURBOC__
memcpy( &timep[0], head->time, 4);
timep[1] = timep[0];
@@ -344,7 +344,7 @@ decish()
fprintf(stderr, "file name change '%s'", name);
strcpy(buff, name);
if((p = (unsigned char *)index(name, '.')) != NULL)
- *p = NULL;
+ *p = '\0';
do {
sprintf(buff, "%s.%03d", name, i++);
} while(access(buff,0) == 0);
@@ -675,8 +675,7 @@ FILE *ipath;
int maxlen;
char *buff;
{
- int i,j;
- char c;
+ int c,i,j;
if((decok & 0x80) == 0)
j=78;