wok diff linld/stuff/src/ISO9660.CPP @ rev 23870
syslinux: update iso2exe.sh
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Tue Jun 23 08:04:01 2020 +0000 (2020-06-23) |
parents | a2e843f5d9e4 |
children | 53914b720f76 |
line diff
1.1 --- a/linld/stuff/src/ISO9660.CPP Sat Jun 20 14:15:09 2020 +0000 1.2 +++ b/linld/stuff/src/ISO9660.CPP Tue Jun 23 08:04:01 2020 +0000 1.3 @@ -36,9 +36,7 @@ 1.4 int isoreaddir(void) 1.5 { 1.6 char *p; 1.7 -#ifdef __ROCKRIDGE 1.8 - char *endname; 1.9 -#endif 1.10 + 1.11 struct isostate *x=&isostate; 1.12 1.13 if (x->curdirsize == 0xFFFF) { 1.14 @@ -65,31 +63,20 @@ 1.15 //x->filemod = (p[25] & 2) ? 0040755 : 0100755; 1.16 //x->filemod = 0100755 - ((p[25] & (char)2) << 13); 1.17 #ifdef __ROCKRIDGE 1.18 - endname = NULL; 1.19 // p += 34 + (p[32] & -2); ? 1.20 p = x->buffer + 34 + ((p[32] + x->curpos) & -2); 1.21 do { 1.22 - int len = p[2]; 1.23 -# if 0 1.24 - switch (* (short *) p) { 1.25 - case 0x5850: // PX 1.26 - x->filemod = * (short *) (p + 4); 1.27 - break; 1.28 - case 0x4D4E: // NM 1.29 -# else 1.30 + register len = p[2]; 1.31 if (* (short *) p == 0x4D4E) { 1.32 -# endif 1.33 x->filename = p + 5; 1.34 - endname = p + len; 1.35 + p[len] = 0; 1.36 + goto found; 1.37 } 1.38 p += len; 1.39 +#ifndef ISOHOOK 1.40 } while (x->buffer + x->curpos + x->entrysize - 2 > p); 1.41 -#ifdef ISOHOOK 1.42 - *endname = 0; 1.43 #else 1.44 - if (endname) 1.45 - *endname = 0; 1.46 - else 1.47 + } while (1); 1.48 #endif 1.49 #endif 1.50 #ifndef ISOHOOK 1.51 @@ -111,6 +98,7 @@ 1.52 } 1.53 } 1.54 #endif 1.55 +found: 1.56 x->curpos += x->entrysize; 1.57 return 0; 1.58 }