Allow for AALMAG as well as ARMAG

This commit is contained in:
ceriel
1991-03-20 16:24:50 +00:00
parent 6bdd99ee7b
commit 74ff22b506
6 changed files with 33 additions and 83 deletions

View File

@@ -117,7 +117,7 @@ argument(arg) char *arg; {
inpoff = 2;
if ((w = getu16()) == sp_magic )
read_compact();
else if (w == ARMAG) {
else if (w == ARMAG || w == AALMAG) {
archmode = TRUE;
archive();
archmode = FALSE;
@@ -456,9 +456,6 @@ finish_up()
* make the e.out file and stop.
*/
#ifdef JOHAN
if ( jflag ) return ;
#endif
#ifdef DUMP
c_print();
#endif

View File

@@ -17,7 +17,7 @@
#define DUMP 1 /* dump between passes */
/* #define TIMING 1 /* some timing measurements */
/* #define JOHAN 1 /* dump the loaded instructions */
#define JOHAN 1 /* dump the loaded instructions */
#define MEMUSE 1 /* print memory usage statistics */
#ifndef DUMP

View File

@@ -121,7 +121,7 @@ int size; /* size for hash */
case ENTERING:
break;
case INTERNING:
if (!new)
if (!new && (g->g_status&EXT))
werror("INA must be first occurrence of '%s'",name);
break;
case EXTERNING: /* lookup in other table */

View File

@@ -185,12 +185,19 @@ unsigned get8() {
cons_t xgetarb(l,f) int l; FILE *f ; {
cons_t val ;
register int shift ;
int c;
shift=0 ; val=0 ;
while ( l-- ) {
val += ((cons_t)ctrunc(xgetc(f)))<<shift ;
val += ((cons_t)(c = ctrunc(xgetc(f))))<<shift ;
shift += 8 ;
}
if (c == 0377 && shift > 8 && ((shift>>3)&1)) {
while (shift < 8*sizeof(cons_t)) {
val += ((cons_t)c)<<shift ;
shift += 8;
}
}
return val ;
}