# HG changeset patch # User Pascal Bellard # Date 1560433930 -7200 # Node ID 6460d542c35aae22fe43dc5d3b7c2b4a57f10932 # Parent 54a04d1333109ebc4eba28b86b0925778b717418 vlgothic-fonts: use archive.org as web_site diff -r 54a04d133310 -r 6460d542c35a linld/stuff/src/CRTL.ASM --- a/linld/stuff/src/CRTL.ASM Thu Jun 13 13:39:28 2019 +0100 +++ b/linld/stuff/src/CRTL.ASM Thu Jun 13 15:52:10 2019 +0200 @@ -335,7 +335,9 @@ dirofs dd ? ;22 unsigned long dirofs; curpos dw ? ;26 unsigned curpos; filename2open dw ? ;28 char *filename2open; -buffer db 2560 dup(?) ;30 char buffer[2048+512]; +entrysize dw ? ;30 int entrysize; +tmp dw ? ;32 const char *tmp; +buffer db 2560 dup(?) ;34 char buffer[2048+512]; ends ; } isostate; ;*************************************************************** ;_fastcall long isolseek(bx:const unsigned long *offset); @@ -954,7 +956,7 @@ @@next: push di call [(image_himem di).next_chunk] ; m->next_chunk() - pop di + pop di else @@next: call next_chunk @@ -977,7 +979,7 @@ ifdef EXTRA push di call [(image_himem di).next_chunk] ; m->next_chunk() - pop di + pop di else call next_chunk endif diff -r 54a04d133310 -r 6460d542c35a linld/stuff/src/HIMEM.CPP --- a/linld/stuff/src/HIMEM.CPP Thu Jun 13 13:39:28 2019 +0100 +++ b/linld/stuff/src/HIMEM.CPP Thu Jun 13 15:52:10 2019 +0200 @@ -25,7 +25,7 @@ buf = m->buf; do { u16 size; - if(s16(size = read_image(m)) <= 0) break; + if(s16(size = read_image(m)) -1 < 0) break; storepage(bufv); if (bufv != &buf) next(bufv); buf += size; diff -r 54a04d133310 -r 6460d542c35a linld/stuff/src/ISO9660.CPP --- a/linld/stuff/src/ISO9660.CPP Thu Jun 13 13:39:28 2019 +0100 +++ b/linld/stuff/src/ISO9660.CPP Thu Jun 13 15:52:10 2019 +0200 @@ -28,7 +28,6 @@ int isoreaddir(void) { - int size; char *p; #ifdef __ROCKRIDGE char *endname; @@ -50,7 +49,7 @@ x->curpos = 0; } p = x->buffer; p += x->curpos; - if ((size = * (short *) p) == 0) { + if ((x->entrysize = * (short *) p) == 0) { return -1; } x->fileofs = (* (unsigned long *) (p + 2)) << SECTORBITS; @@ -77,7 +76,7 @@ endname = p + len; } p += len; - } while (x->buffer + x->curpos + size - 2 > p); + } while (x->buffer + x->curpos + x->entrysize - 2 > p); if (endname) *endname = 0; else @@ -99,7 +98,7 @@ *p = 0; } } - x->curpos += size; + x->curpos += x->entrysize; return 0; } @@ -109,10 +108,15 @@ #define IS_DIR(x)( (*((char*) &x + 1) & (char)0676) == (char)0) int _isoopen(void) { - char *name, *s, c; - char _64bits = cpuhaslm(); +// char *name, *s, c; +// char _64bits = cpuhaslm(); struct isostate *x=&isostate; +#define name (x->filename2open) +#define c (((char *)&x->entrysize)[0]) +#define _64bits (((char *)&x->entrysize)[1]) + char *s; + _64bits = cpuhaslm(); do { for (s = (char *) x->filename2open; *s == '/' ; s++) { isoroot(); @@ -123,7 +127,9 @@ c = *s; *s = 0; for (x->curdirsize = 0xFFFF; isoreaddir() != -1;) { - const char *n = name, *i = x->filename; + const char *n = name; +#define i (x->tmp) + i = x->filename; if (_64bits) { if (strhead(i, n) == -1) continue; n = "64"; diff -r 54a04d133310 -r 6460d542c35a linld/stuff/src/ISO9660.H --- a/linld/stuff/src/ISO9660.H Thu Jun 13 13:39:28 2019 +0100 +++ b/linld/stuff/src/ISO9660.H Thu Jun 13 15:52:10 2019 +0200 @@ -17,6 +17,8 @@ unsigned long curdirofs, dirofs; unsigned curpos; char *filename2open; + int entrysize; + const char *tmp; #define SECTORSZ 2048 #define SECTORBITS 11 char buffer[SECTORSZ+512]; // RR overflow diff -r 54a04d133310 -r 6460d542c35a linld/stuff/src/pipehole.awk --- a/linld/stuff/src/pipehole.awk Thu Jun 13 13:39:28 2019 +0100 +++ b/linld/stuff/src/pipehole.awk Thu Jun 13 15:52:10 2019 +0200 @@ -1,4 +1,4 @@ -BEGIN { hold=0; is386=0; isload=0; wascall=0 } +BEGIN { hold=0; is386=0; isload=0; isiso=0; wascall=0 } function isnum(n) { return match(n,/^[0-9+-]/) } { sub(/segment word public/,"segment byte public") @@ -14,16 +14,42 @@ if (/ax,word ptr/) next if (/^ call/) isload=0 } - if (/const char \*n = name, \*i = x->filename;/) isiso=1 - if (isiso) { # ISO9660.LST - if ((/mov word ptr \[bp-6\],ax/ ) || - (/mov ax,word ptr \[bp-2\]/) || - (/bx,word ptr \[bp-6\]/) || (/ax,dx/)) next + if (/x->curdirsize == 0xFFFF/) isiso=4 + if (isiso == 4) { # ISO9660.LST + if (/DGROUP:_isostate\+14,-1/) { + sub(/DGROUP:_isostate\+14/,"[si+14]") + isiso=0 + } + } + if (/c = \*s;/) isiso=3 + if (isiso == 3) { # ISO9660.LST + if (/al,byte ptr/) { + print " mov al,0" + sub(/mov/,"xchg") + } + if (/byte ptr \[di\],0/) { + isiso=0 + next + } + } + if (/endname = NULL/) isiso=2 + if (isiso == 2) { # ISO9660.LST + if (/mov bx,cx/) next + gsub(/cx/,"bx") + } + if (/const char \*n = name/) isiso=1 + if (isiso == 1) { # ISO9660.LST + if ((/mov word ptr \[si\+32\],ax/ ) || + (/mov ax,word ptr \[si\+28\]/) || + (/bx,word ptr \[si\+32\]/) || (/ax,dx/)) next if (/dx,/) sub(/dx/,"ax") - if ((/sub ax,word ptr \[bp-2\]/) || - (/\[di\+12\]/) || (/ax,si/)) sub(/ax/,"bx") - if (/add word ptr \[bp-6\],ax/) $0=" add bx,word ptr [di+12]" - if (/@strcmp\$qpxzct1/) isiso=0 + if ((/sub ax,word ptr \[si\+28\]/) || + (/\[si\+12\]/) || (/ax,di/)) sub(/ax/,"bx") + if (/add word ptr \[si\+32\],ax/) $0=" add bx,word ptr [si+12]" + if (/al,/ || /,al/) sub(/al/,"cl") + if (/cmp byte ptr \[si\+30\],0/) $0=" or cl,cl" + if (/jne @@0$/) next + if (/jmp @3@58$/) $0=" je @3@58" } if (wascall) { if (rcall != "") { diff -r 54a04d133310 -r 6460d542c35a vlgothic-fonts/receipt --- a/vlgothic-fonts/receipt Thu Jun 13 13:39:28 2019 +0100 +++ b/vlgothic-fonts/receipt Thu Jun 13 15:52:10 2019 +0200 @@ -7,7 +7,7 @@ SHORT_DESC="VL Gothic Font Family: Japanese TrueType fonts from Vine Linux" MAINTAINER="al.bobylev@gmail.com" LICENSE="custom" -WEB_SITE="http://vlgothic.dicey.org/" +WEB_SITE="https://web.archive.org/web/20190403102704/http://vlgothic.dicey.org/" TARBALL="$PACKAGE-$VERSION.tar.xz" WGET_URL="http://dl.osdn.jp/vlgothic/$RELEASE/VLGothic-$VERSION.tar.xz" @@ -15,8 +15,6 @@ # Rules to gen a SliTaz package suitable for Tazpkg. genpkg_rules() { - cd $src - mkdir -p $fs/usr/share/fonts/TTF/vlgothic cp *.ttf $fs/usr/share/fonts/TTF/vlgothic