home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-06-11 | 49.3 KB | 2,152 lines |
- Newsgroups: comp.sources.misc
- From: lwall@netlabs.com (Larry Wall)
- Subject: v30i038: perl - The perl programming language, Patch27
- Message-ID: <1992Jun11.180557.600@sparky.imd.sterling.com>
- X-Md4-Signature: fae7b51e5429e8b3f976ee9caff0eee3
- Date: Thu, 11 Jun 1992 18:05:57 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: lwall@netlabs.com (Larry Wall)
- Posting-number: Volume 30, Issue 38
- Archive-name: perl/patch27
- Environment: UNIX, MS-DOS, OS2
- Patch-To: perl: Volume 18, Issue 19-54
-
- System: perl version 4.0
- Patch #: 27
- Priority: highish
- Subject: patch #20, continued
-
- Description:
- See patch #20.
-
- Fix: From rn, say "| patch -p -N -d DIR", where DIR is your perl source
- directory. Outside of rn, say "cd DIR; patch -p -N <thisarticle".
- If you don't have the patch program, apply the following by hand,
- or get patch (version 2.0, latest patchlevel).
-
- After patching:
- *** DO NOTHING--INSTALL ALL PATCHES UP THROUGH #33 FIRST ***
-
- If patch indicates that patchlevel is the wrong version, you may need
- to apply one or more previous patches, or the patch may already
- have been applied. See the patchlevel.h file to find out what has or
- has not been applied. In any event, don't continue with the patch.
-
- If you are missing previous patches they can be obtained from me:
-
- Larry Wall
- lwall@netlabs.com
-
- If you send a mail message of the following form it will greatly speed
- processing:
-
- Subject: Command
- @SH mailpatch PATH perl 4.0 LIST
- ^ note the c
-
- where PATH is a return path FROM ME TO YOU either in Internet notation,
- or in bang notation from some well-known host, and LIST is the number
- of one or more patches you need, separated by spaces, commas, and/or
- hyphens. Saying 35- says everything from 35 to the end.
-
-
- Index: patchlevel.h
- Prereq: 26
- 1c1
- < #define PATCHLEVEL 26
- ---
- > #define PATCHLEVEL 27
-
- Index: dolist.c
- *** dolist.c.old Mon Jun 8 17:46:54 1992
- --- dolist.c Mon Jun 8 17:46:55 1992
- ***************
- *** 1,4 ****
- ! /* $RCSfile: dolist.c,v $$Revision: 4.0.1.4 $$Date: 91/11/11 16:33:19 $
- *
- * Copyright (c) 1991, Larry Wall
- *
- --- 1,4 ----
- ! /* $RCSfile: dolist.c,v $$Revision: 4.0.1.5 $$Date: 92/06/08 13:13:27 $
- *
- * Copyright (c) 1991, Larry Wall
- *
- ***************
- *** 6,11 ****
- --- 6,22 ----
- * License or the Artistic License, as specified in the README file.
- *
- * $Log: dolist.c,v $
- + * Revision 4.0.1.5 92/06/08 13:13:27 lwall
- + * patch20: g pattern modifer sometimes returned extra values
- + * patch20: m/$pattern/g didn't work
- + * patch20: pattern modifiers i and o didn't interact right
- + * patch20: @ in unpack failed too often
- + * patch20: Perl now distinguishes overlapped copies from non-overlapped
- + * patch20: slice on null list in scalar context returned random value
- + * patch20: splice with negative offset didn't work with $[ = 1
- + * patch20: fixed some memory leaks in splice
- + * patch20: scalar keys %array now counts keys for you
- + *
- * Revision 4.0.1.4 91/11/11 16:33:19 lwall
- * patch19: added little-endian pack/unpack options
- * patch19: sort $subname was busted by changes in 4.018
- ***************
- *** 40,45 ****
- --- 51,58 ----
- #include "EXTERN.h"
- #include "perl.h"
-
- + static int sortcmp();
- + static int sortsub();
-
- #ifdef BUGGY_MSC
- #pragma function(memcmp)
- ***************
- *** 63,68 ****
- --- 76,83 ----
- char *myhint = hint;
- int global;
- int safebase;
- + char *truebase = s;
- + register REGEXP *rx = spat->spat_regexp;
-
- hint = Nullch;
- if (!spat) {
- ***************
- *** 100,115 ****
- if (debug & 8)
- deb("2.SPAT /%s/\n",t);
- #endif
- ! if (spat->spat_regexp) {
- ! regfree(spat->spat_regexp);
- ! spat->spat_regexp = Null(REGEXP*); /* crucial if regcomp aborts */
- ! }
- spat->spat_regexp = regcomp(t,t+tmpstr->str_cur,
- spat->spat_flags & SPAT_FOLD);
- if (!spat->spat_regexp->prelen && lastspat)
- spat = lastspat;
- if (spat->spat_flags & SPAT_KEEP) {
- ! scanconst(spat,spat->spat_regexp->precomp, spat->spat_regexp->prelen);
- if (spat->spat_runtime)
- arg_free(spat->spat_runtime); /* it won't change, so */
- spat->spat_runtime = Nullarg; /* no point compiling again */
- --- 115,131 ----
- if (debug & 8)
- deb("2.SPAT /%s/\n",t);
- #endif
- ! if (!global && rx)
- ! regfree(rx);
- ! spat->spat_regexp = Null(REGEXP*); /* crucial if regcomp aborts */
- spat->spat_regexp = regcomp(t,t+tmpstr->str_cur,
- spat->spat_flags & SPAT_FOLD);
- if (!spat->spat_regexp->prelen && lastspat)
- spat = lastspat;
- if (spat->spat_flags & SPAT_KEEP) {
- ! if (!(spat->spat_flags & SPAT_FOLD))
- ! scanconst(spat,spat->spat_regexp->precomp,
- ! spat->spat_regexp->prelen);
- if (spat->spat_runtime)
- arg_free(spat->spat_runtime); /* it won't change, so */
- spat->spat_runtime = Nullarg; /* no point compiling again */
- ***************
- *** 120,135 ****
- }
- }
- if (global) {
- ! if (spat->spat_regexp->startp[0]) {
- ! s = spat->spat_regexp->endp[0];
- }
- }
- else if (!spat->spat_regexp->nparens)
- gimme = G_SCALAR; /* accidental array context? */
- ! if (regexec(spat->spat_regexp, s, strend, s, 0,
- srchstr->str_pok & SP_STUDIED ? srchstr : Nullstr,
- safebase)) {
- ! if (spat->spat_regexp->subbase || global)
- curspat = spat;
- lastspat = spat;
- goto gotcha;
- --- 136,162 ----
- }
- }
- if (global) {
- ! if (rx) {
- ! if (rx->startp[0]) {
- ! s = rx->endp[0];
- ! if (s == rx->startp[0])
- ! s++;
- ! if (s > strend) {
- ! regfree(rx);
- ! rx = spat->spat_regexp;
- ! goto nope;
- ! }
- ! }
- ! regfree(rx);
- }
- }
- else if (!spat->spat_regexp->nparens)
- gimme = G_SCALAR; /* accidental array context? */
- ! rx = spat->spat_regexp;
- ! if (regexec(rx, s, strend, s, 0,
- srchstr->str_pok & SP_STUDIED ? srchstr : Nullstr,
- safebase)) {
- ! if (rx->subbase || global)
- curspat = spat;
- lastspat = spat;
- goto gotcha;
- ***************
- *** 152,172 ****
- ch = '?';
- else
- ch = '/';
- ! deb("2.SPAT %c%s%c\n",ch,spat->spat_regexp->precomp,ch);
- }
- #endif
- ! if (!spat->spat_regexp->prelen && lastspat)
- spat = lastspat;
- t = s;
- play_it_again:
- ! if (global && spat->spat_regexp->startp[0])
- ! t = s = spat->spat_regexp->endp[0];
- if (myhint) {
- if (myhint < s || myhint > strend)
- fatal("panic: hint in do_match");
- s = myhint;
- ! if (spat->spat_regexp->regback >= 0) {
- ! s -= spat->spat_regexp->regback;
- if (s < t)
- s = t;
- }
- --- 179,206 ----
- ch = '?';
- else
- ch = '/';
- ! deb("2.SPAT %c%s%c\n",ch,rx->precomp,ch);
- }
- #endif
- ! if (!rx->prelen && lastspat) {
- spat = lastspat;
- + rx = spat->spat_regexp;
- + }
- t = s;
- play_it_again:
- ! if (global && rx->startp[0]) {
- ! t = s = rx->endp[0];
- ! if (s == rx->startp[0])
- ! s++,t++;
- ! if (s > strend)
- ! goto nope;
- ! }
- if (myhint) {
- if (myhint < s || myhint > strend)
- fatal("panic: hint in do_match");
- s = myhint;
- ! if (rx->regback >= 0) {
- ! s -= rx->regback;
- if (s < t)
- s = t;
- }
- ***************
- *** 190,198 ****
- #endif
- else if (spat->spat_flags & SPAT_ALL)
- goto yup;
- ! if (s && spat->spat_regexp->regback >= 0) {
- ++spat->spat_short->str_u.str_useful;
- ! s -= spat->spat_regexp->regback;
- if (s < t)
- s = t;
- }
- --- 224,232 ----
- #endif
- else if (spat->spat_flags & SPAT_ALL)
- goto yup;
- ! if (s && rx->regback >= 0) {
- ++spat->spat_short->str_u.str_useful;
- ! s -= rx->regback;
- if (s < t)
- s = t;
- }
- ***************
- *** 207,220 ****
- spat->spat_short = Nullstr; /* opt is being useless */
- }
- }
- ! if (!spat->spat_regexp->nparens && !global) {
- gimme = G_SCALAR; /* accidental array context? */
- safebase = FALSE;
- }
- ! if (regexec(spat->spat_regexp, s, strend, t, 0,
- srchstr->str_pok & SP_STUDIED ? srchstr : Nullstr,
- safebase)) {
- ! if (spat->spat_regexp->subbase || global)
- curspat = spat;
- lastspat = spat;
- if (spat->spat_flags & SPAT_ONCE)
- --- 241,254 ----
- spat->spat_short = Nullstr; /* opt is being useless */
- }
- }
- ! if (!rx->nparens && !global) {
- gimme = G_SCALAR; /* accidental array context? */
- safebase = FALSE;
- }
- ! if (regexec(rx, s, strend, truebase, 0,
- srchstr->str_pok & SP_STUDIED ? srchstr : Nullstr,
- safebase)) {
- ! if (rx->subbase || global)
- curspat = spat;
- lastspat = spat;
- if (spat->spat_flags & SPAT_ONCE)
- ***************
- *** 223,229 ****
- }
- else {
- if (global)
- ! spat->spat_regexp->startp[0] = Nullch;
- if (gimme == G_ARRAY)
- return sp;
- str_sset(str,&str_no);
- --- 257,263 ----
- }
- else {
- if (global)
- ! rx->startp[0] = Nullch;
- if (gimme == G_ARRAY)
- return sp;
- str_sset(str,&str_no);
- ***************
- *** 238,244 ****
- if (gimme == G_ARRAY) {
- int iters, i, len;
-
- ! iters = spat->spat_regexp->nparens;
- if (global && !iters)
- i = 1;
- else
- --- 272,278 ----
- if (gimme == G_ARRAY) {
- int iters, i, len;
-
- ! iters = rx->nparens;
- if (global && !iters)
- i = 1;
- else
- ***************
- *** 251,264 ****
- for (i = !i; i <= iters; i++) {
- st[++sp] = str_mortal(&str_no);
- /*SUPPRESS 560*/
- ! if (s = spat->spat_regexp->startp[i]) {
- ! len = spat->spat_regexp->endp[i] - s;
- if (len > 0)
- str_nset(st[sp],s,len);
- }
- }
- ! if (global)
- goto play_it_again;
- return sp;
- }
- else {
- --- 285,300 ----
- for (i = !i; i <= iters; i++) {
- st[++sp] = str_mortal(&str_no);
- /*SUPPRESS 560*/
- ! if (s = rx->startp[i]) {
- ! len = rx->endp[i] - s;
- if (len > 0)
- str_nset(st[sp],s,len);
- }
- }
- ! if (global) {
- ! truebase = rx->subbeg;
- goto play_it_again;
- + }
- return sp;
- }
- else {
- ***************
- *** 274,283 ****
- if (spat->spat_flags & SPAT_ONCE)
- spat->spat_flags |= SPAT_USED;
- if (global) {
- ! spat->spat_regexp->subbeg = t;
- ! spat->spat_regexp->subend = strend;
- ! spat->spat_regexp->startp[0] = s;
- ! spat->spat_regexp->endp[0] = s + spat->spat_short->str_cur;
- curspat = spat;
- goto gotcha;
- }
- --- 310,319 ----
- if (spat->spat_flags & SPAT_ONCE)
- spat->spat_flags |= SPAT_USED;
- if (global) {
- ! rx->subbeg = t;
- ! rx->subend = strend;
- ! rx->startp[0] = s;
- ! rx->endp[0] = s + spat->spat_short->str_cur;
- curspat = spat;
- goto gotcha;
- }
- ***************
- *** 284,296 ****
- if (sawampersand) {
- char *tmps;
-
- ! if (spat->spat_regexp->subbase)
- ! Safefree(spat->spat_regexp->subbase);
- ! tmps = spat->spat_regexp->subbase = nsavestr(t,strend-t);
- ! spat->spat_regexp->subbeg = tmps;
- ! spat->spat_regexp->subend = tmps + (strend-t);
- ! tmps = spat->spat_regexp->startp[0] = tmps + (s - t);
- ! spat->spat_regexp->endp[0] = tmps + spat->spat_short->str_cur;
- curspat = spat;
- }
- str_sset(str,&str_yes);
- --- 320,332 ----
- if (sawampersand) {
- char *tmps;
-
- ! if (rx->subbase)
- ! Safefree(rx->subbase);
- ! tmps = rx->subbase = nsavestr(t,strend-t);
- ! rx->subbeg = tmps;
- ! rx->subend = tmps + (strend-t);
- ! tmps = rx->startp[0] = tmps + (s - t);
- ! rx->endp[0] = tmps + spat->spat_short->str_cur;
- curspat = spat;
- }
- str_sset(str,&str_yes);
- ***************
- *** 299,308 ****
- return sp;
-
- nope:
- ! spat->spat_regexp->startp[0] = Nullch;
- ! ++spat->spat_short->str_u.str_useful;
- ! if (global)
- ! spat->spat_regexp->startp[0] = Nullch;
- if (gimme == G_ARRAY)
- return sp;
- str_sset(str,&str_no);
- --- 335,343 ----
- return sp;
-
- nope:
- ! rx->startp[0] = Nullch;
- ! if (spat->spat_short)
- ! ++spat->spat_short->str_u.str_useful;
- if (gimme == G_ARRAY)
- return sp;
- str_sset(str,&str_no);
- ***************
- *** 628,634 ****
- goto reparse;
- break;
- case '@':
- ! if (len > strend - s)
- fatal("@ outside of string");
- s = strbeg + len;
- break;
- --- 663,669 ----
- goto reparse;
- break;
- case '@':
- ! if (len > strend - strbeg)
- fatal("@ outside of string");
- s = strbeg + len;
- break;
- ***************
- *** 775,781 ****
- len = along;
- if (checksum) {
- while (len-- > 0) {
- ! bcopy(s,(char*)&ashort,sizeof(short));
- s += sizeof(short);
- culong += ashort;
- }
- --- 810,816 ----
- len = along;
- if (checksum) {
- while (len-- > 0) {
- ! Copy(s,&ashort,1,short);
- s += sizeof(short);
- culong += ashort;
- }
- ***************
- *** 782,788 ****
- }
- else {
- while (len-- > 0) {
- ! bcopy(s,(char*)&ashort,sizeof(short));
- s += sizeof(short);
- str = Str_new(38,0);
- str_numset(str,(double)ashort);
- --- 817,823 ----
- }
- else {
- while (len-- > 0) {
- ! Copy(s,&ashort,1,short);
- s += sizeof(short);
- str = Str_new(38,0);
- str_numset(str,(double)ashort);
- ***************
- *** 798,804 ****
- len = along;
- if (checksum) {
- while (len-- > 0) {
- ! bcopy(s,(char*)&aushort,sizeof(unsigned short));
- s += sizeof(unsigned short);
- #ifdef HAS_NTOHS
- if (datumtype == 'n')
- --- 833,839 ----
- len = along;
- if (checksum) {
- while (len-- > 0) {
- ! Copy(s,&aushort,1,unsigned short);
- s += sizeof(unsigned short);
- #ifdef HAS_NTOHS
- if (datumtype == 'n')
- ***************
- *** 813,819 ****
- }
- else {
- while (len-- > 0) {
- ! bcopy(s,(char*)&aushort,sizeof(unsigned short));
- s += sizeof(unsigned short);
- str = Str_new(39,0);
- #ifdef HAS_NTOHS
- --- 848,854 ----
- }
- else {
- while (len-- > 0) {
- ! Copy(s,&aushort,1,unsigned short);
- s += sizeof(unsigned short);
- str = Str_new(39,0);
- #ifdef HAS_NTOHS
- ***************
- *** 835,841 ****
- len = along;
- if (checksum) {
- while (len-- > 0) {
- ! bcopy(s,(char*)&aint,sizeof(int));
- s += sizeof(int);
- if (checksum > 32)
- cdouble += (double)aint;
- --- 870,876 ----
- len = along;
- if (checksum) {
- while (len-- > 0) {
- ! Copy(s,&aint,1,int);
- s += sizeof(int);
- if (checksum > 32)
- cdouble += (double)aint;
- ***************
- *** 845,851 ****
- }
- else {
- while (len-- > 0) {
- ! bcopy(s,(char*)&aint,sizeof(int));
- s += sizeof(int);
- str = Str_new(40,0);
- str_numset(str,(double)aint);
- --- 880,886 ----
- }
- else {
- while (len-- > 0) {
- ! Copy(s,&aint,1,int);
- s += sizeof(int);
- str = Str_new(40,0);
- str_numset(str,(double)aint);
- ***************
- *** 859,865 ****
- len = along;
- if (checksum) {
- while (len-- > 0) {
- ! bcopy(s,(char*)&auint,sizeof(unsigned int));
- s += sizeof(unsigned int);
- if (checksum > 32)
- cdouble += (double)auint;
- --- 894,900 ----
- len = along;
- if (checksum) {
- while (len-- > 0) {
- ! Copy(s,&auint,1,unsigned int);
- s += sizeof(unsigned int);
- if (checksum > 32)
- cdouble += (double)auint;
- ***************
- *** 869,875 ****
- }
- else {
- while (len-- > 0) {
- ! bcopy(s,(char*)&auint,sizeof(unsigned int));
- s += sizeof(unsigned int);
- str = Str_new(41,0);
- str_numset(str,(double)auint);
- --- 904,910 ----
- }
- else {
- while (len-- > 0) {
- ! Copy(s,&auint,1,unsigned int);
- s += sizeof(unsigned int);
- str = Str_new(41,0);
- str_numset(str,(double)auint);
- ***************
- *** 883,889 ****
- len = along;
- if (checksum) {
- while (len-- > 0) {
- ! bcopy(s,(char*)&along,sizeof(long));
- s += sizeof(long);
- if (checksum > 32)
- cdouble += (double)along;
- --- 918,924 ----
- len = along;
- if (checksum) {
- while (len-- > 0) {
- ! Copy(s,&along,1,long);
- s += sizeof(long);
- if (checksum > 32)
- cdouble += (double)along;
- ***************
- *** 893,899 ****
- }
- else {
- while (len-- > 0) {
- ! bcopy(s,(char*)&along,sizeof(long));
- s += sizeof(long);
- str = Str_new(42,0);
- str_numset(str,(double)along);
- --- 928,934 ----
- }
- else {
- while (len-- > 0) {
- ! Copy(s,&along,1,long);
- s += sizeof(long);
- str = Str_new(42,0);
- str_numset(str,(double)along);
- ***************
- *** 909,915 ****
- len = along;
- if (checksum) {
- while (len-- > 0) {
- ! bcopy(s,(char*)&aulong,sizeof(unsigned long));
- s += sizeof(unsigned long);
- #ifdef HAS_NTOHL
- if (datumtype == 'N')
- --- 944,950 ----
- len = along;
- if (checksum) {
- while (len-- > 0) {
- ! Copy(s,&aulong,1,unsigned long);
- s += sizeof(unsigned long);
- #ifdef HAS_NTOHL
- if (datumtype == 'N')
- ***************
- *** 927,933 ****
- }
- else {
- while (len-- > 0) {
- ! bcopy(s,(char*)&aulong,sizeof(unsigned long));
- s += sizeof(unsigned long);
- str = Str_new(43,0);
- #ifdef HAS_NTOHL
- --- 962,968 ----
- }
- else {
- while (len-- > 0) {
- ! Copy(s,&aulong,1,unsigned long);
- s += sizeof(unsigned long);
- str = Str_new(43,0);
- #ifdef HAS_NTOHL
- ***************
- *** 951,957 ****
- if (sizeof(char*) > strend - s)
- break;
- else {
- ! bcopy(s,(char*)&aptr,sizeof(char*));
- s += sizeof(char*);
- }
- str = Str_new(44,0);
- --- 986,992 ----
- if (sizeof(char*) > strend - s)
- break;
- else {
- ! Copy(s,&aptr,1,char*);
- s += sizeof(char*);
- }
- str = Str_new(44,0);
- ***************
- *** 966,972 ****
- if (s + sizeof(quad) > strend)
- aquad = 0;
- else {
- ! bcopy(s,(char*)&aquad,sizeof(quad));
- s += sizeof(quad);
- }
- str = Str_new(42,0);
- --- 1001,1007 ----
- if (s + sizeof(quad) > strend)
- aquad = 0;
- else {
- ! Copy(s,&aquad,1,quad);
- s += sizeof(quad);
- }
- str = Str_new(42,0);
- ***************
- *** 979,985 ****
- if (s + sizeof(unsigned quad) > strend)
- auquad = 0;
- else {
- ! bcopy(s,(char*)&auquad,sizeof(unsigned quad));
- s += sizeof(unsigned quad);
- }
- str = Str_new(43,0);
- --- 1014,1020 ----
- if (s + sizeof(unsigned quad) > strend)
- auquad = 0;
- else {
- ! Copy(s,&auquad,1,unsigned quad);
- s += sizeof(unsigned quad);
- }
- str = Str_new(43,0);
- ***************
- *** 996,1002 ****
- len = along;
- if (checksum) {
- while (len-- > 0) {
- ! bcopy(s, (char *)&afloat, sizeof(float));
- s += sizeof(float);
- cdouble += afloat;
- }
- --- 1031,1037 ----
- len = along;
- if (checksum) {
- while (len-- > 0) {
- ! Copy(s, &afloat,1, float);
- s += sizeof(float);
- cdouble += afloat;
- }
- ***************
- *** 1003,1009 ****
- }
- else {
- while (len-- > 0) {
- ! bcopy(s, (char *)&afloat, sizeof(float));
- s += sizeof(float);
- str = Str_new(47, 0);
- str_numset(str, (double)afloat);
- --- 1038,1044 ----
- }
- else {
- while (len-- > 0) {
- ! Copy(s, &afloat,1, float);
- s += sizeof(float);
- str = Str_new(47, 0);
- str_numset(str, (double)afloat);
- ***************
- *** 1018,1024 ****
- len = along;
- if (checksum) {
- while (len-- > 0) {
- ! bcopy(s, (char *)&adouble, sizeof(double));
- s += sizeof(double);
- cdouble += adouble;
- }
- --- 1053,1059 ----
- len = along;
- if (checksum) {
- while (len-- > 0) {
- ! Copy(s, &adouble,1, double);
- s += sizeof(double);
- cdouble += adouble;
- }
- ***************
- *** 1025,1031 ****
- }
- else {
- while (len-- > 0) {
- ! bcopy(s, (char *)&adouble, sizeof(double));
- s += sizeof(double);
- str = Str_new(48, 0);
- str_numset(str, (double)adouble);
- --- 1060,1066 ----
- }
- else {
- while (len-- > 0) {
- ! Copy(s, &adouble,1, double);
- s += sizeof(double);
- str = Str_new(48, 0);
- str_numset(str, (double)adouble);
- ***************
- *** 1182,1188 ****
- sp--;
- }
- else {
- ! if (numarray) {
- if (st[max])
- st[sp] = afetch(ary,
- ((int)str_gnum(st[max])) - arybase, lval);
- --- 1217,1225 ----
- sp--;
- }
- else {
- ! if (sp == max)
- ! st[sp] = &str_undef;
- ! else if (numarray) {
- if (st[max])
- st[sp] = afetch(ary,
- ((int)str_gnum(st[max])) - arybase, lval);
- ***************
- *** 1225,1233 ****
- STR **tmparyval;
-
- if (++sp < max) {
- ! offset = ((int)str_gnum(st[sp])) - arybase;
- if (offset < 0)
- offset += ary->ary_fill + 1;
- if (++sp < max) {
- length = (int)str_gnum(st[sp++]);
- if (length < 0)
- --- 1262,1272 ----
- STR **tmparyval;
-
- if (++sp < max) {
- ! offset = (int)str_gnum(st[sp]);
- if (offset < 0)
- offset += ary->ary_fill + 1;
- + else
- + offset -= arybase;
- if (++sp < max) {
- length = (int)str_gnum(st[sp++]);
- if (length < 0)
- ***************
- *** 1284,1291 ****
- }
- else {
- st[sp] = ary->ary_array[offset+length-1];
- ! if (ary->ary_flags & ARF_REAL)
- str_2mortal(st[sp]);
- }
- ary->ary_fill += diff;
-
- --- 1323,1333 ----
- }
- else {
- st[sp] = ary->ary_array[offset+length-1];
- ! if (ary->ary_flags & ARF_REAL) {
- str_2mortal(st[sp]);
- + for (i = length - 1, dst = &ary->ary_array[offset]; i > 0; i--)
- + str_free(*dst++); /* free them now */
- + }
- }
- ary->ary_fill += diff;
-
- ***************
- *** 1306,1312 ****
- if (after) { /* anything to pull down? */
- src = ary->ary_array + offset + length;
- dst = src + diff; /* diff is negative */
- ! Copy(src, dst, after, STR*);
- }
- Zero(&ary->ary_array[ary->ary_fill+1], -diff, STR*);
- /* avoid later double free */
- --- 1348,1354 ----
- if (after) { /* anything to pull down? */
- src = ary->ary_array + offset + length;
- dst = src + diff; /* diff is negative */
- ! Move(src, dst, after, STR*);
- }
- Zero(&ary->ary_array[ary->ary_fill+1], -diff, STR*);
- /* avoid later double free */
- ***************
- *** 1334,1340 ****
- if (offset) {
- src = ary->ary_array;
- dst = src - diff;
- ! Copy(src, dst, offset, STR*);
- }
- ary->ary_array -= diff; /* diff is positive */
- ary->ary_max += diff;
- --- 1376,1382 ----
- if (offset) {
- src = ary->ary_array;
- dst = src - diff;
- ! Move(src, dst, offset, STR*);
- }
- ary->ary_array -= diff; /* diff is positive */
- ary->ary_max += diff;
- ***************
- *** 1345,1358 ****
- astore(ary, ary->ary_fill + diff, Nullstr);
- else
- ary->ary_fill += diff;
- if (after) {
- dst = ary->ary_array + ary->ary_fill;
- src = dst - diff;
- for (i = after; i; i--) {
- ! if (*dst) /* str was hanging around */
- ! str_free(*dst); /* after $#foo */
- ! *dst-- = *src;
- ! *src-- = Nullstr;
- }
- }
- }
- --- 1387,1403 ----
- astore(ary, ary->ary_fill + diff, Nullstr);
- else
- ary->ary_fill += diff;
- + dst = ary->ary_array + ary->ary_fill;
- + for (i = diff; i > 0; i--) {
- + if (*dst) /* str was hanging around */
- + str_free(*dst); /* after $#foo */
- + dst--;
- + }
- if (after) {
- dst = ary->ary_array + ary->ary_fill;
- src = dst - diff;
- for (i = after; i; i--) {
- ! *dst-- = *src--;
- }
- }
- }
- ***************
- *** 1374,1383 ****
- }
- sp += length - 1;
- }
- ! else if (length) {
- ! st[sp] = tmparyval[length-1];
- ! if (ary->ary_flags & ARF_REAL)
- str_2mortal(st[sp]);
- Safefree(tmparyval);
- }
- else
- --- 1419,1431 ----
- }
- sp += length - 1;
- }
- ! else if (length--) {
- ! st[sp] = tmparyval[length];
- ! if (ary->ary_flags & ARF_REAL) {
- str_2mortal(st[sp]);
- + while (length-- > 0)
- + str_free(tmparyval[length]);
- + }
- Safefree(tmparyval);
- }
- else
- ***************
- *** 1450,1456 ****
- *down-- = *up;
- }
- i = arglast[2] - arglast[1];
- ! Copy(down+1,up,i/2,STR*);
- return arglast[2] - 1;
- }
-
- --- 1498,1504 ----
- *down-- = *up;
- }
- i = arglast[2] - arglast[1];
- ! Move(down+1,up,i/2,STR*);
- return arglast[2] - 1;
- }
-
- ***************
- *** 1543,1550 ****
- if (stab) {
- if (!stab_sub(stab) || !(sortcmd = stab_sub(stab)->cmd))
- fatal("Undefined subroutine \"%s\" in sort",
- ! stab_name(stab));
- ! stash = stab_stash(stab);
- }
- else
- sortcmd = Nullcmd;
- --- 1591,1598 ----
- if (stab) {
- if (!stab_sub(stab) || !(sortcmd = stab_sub(stab)->cmd))
- fatal("Undefined subroutine \"%s\" in sort",
- ! stab_ename(stab));
- ! stash = stab_estash(stab);
- }
- else
- sortcmd = Nullcmd;
- ***************
- *** 1587,1593 ****
- return sp+max;
- }
-
- ! int
- sortsub(str1,str2)
- STR **str1;
- STR **str2;
- --- 1635,1641 ----
- return sp+max;
- }
-
- ! static int
- sortsub(str1,str2)
- STR **str1;
- STR **str2;
- ***************
- *** 1598,1603 ****
- --- 1646,1652 ----
- return (int)str_gnum(*stack->ary_array);
- }
-
- + static int
- sortcmp(strp1,strp2)
- STR **strp1;
- STR **strp2;
- ***************
- *** 1736,1742 ****
- if (!maxarg)
- return sp;
- str = Str_new(49,0);
- ! stab_fullname(str, csv->stab);
- (void)astore(stack,++sp, str_2mortal(str));
- (void)astore(stack,++sp,
- str_2mortal(str_nmake((double)csv->hasargs)) );
- --- 1785,1791 ----
- if (!maxarg)
- return sp;
- str = Str_new(49,0);
- ! stab_efullname(str, csv->stab);
- (void)astore(stack,++sp, str_2mortal(str));
- (void)astore(stack,++sp,
- str_2mortal(str_nmake((double)csv->hasargs)) );
- ***************
- *** 1848,1854 ****
- int dovalues = (kv == O_VALUES || kv == O_HASH);
-
- if (gimme != G_ARRAY) {
- ! str_sset(str,&str_undef);
- STABSET(str);
- st[++sp] = str;
- return sp;
- --- 1897,1909 ----
- int dovalues = (kv == O_VALUES || kv == O_HASH);
-
- if (gimme != G_ARRAY) {
- ! i = 0;
- ! (void)hiterinit(hash);
- ! /*SUPPRESS 560*/
- ! while (entry = hiternext(hash)) {
- ! i++;
- ! }
- ! str_numset(str,(double)i);
- STABSET(str);
- st[++sp] = str;
- return sp;
-
- Index: makedepend.SH
- *** makedepend.SH.old Mon Jun 8 17:49:22 1992
- --- makedepend.SH Mon Jun 8 17:49:22 1992
- ***************
- *** 13,23 ****
- */*) cd `expr X$0 : 'X\(.*\)/'` ;;
- esac
- echo "Extracting makedepend (with variable substitutions)"
- $spitshell >makedepend <<!GROK!THIS!
- $startsh
- ! # $RCSfile: makedepend.SH,v $$Revision: 4.0.1.3 $$Date: 91/11/05 17:56:33 $
- #
- # $Log: makedepend.SH,v $
- # Revision 4.0.1.3 91/11/05 17:56:33 lwall
- # patch11: various portability fixes
- #
- --- 13,27 ----
- */*) cd `expr X$0 : 'X\(.*\)/'` ;;
- esac
- echo "Extracting makedepend (with variable substitutions)"
- + rm -f makedepend
- $spitshell >makedepend <<!GROK!THIS!
- $startsh
- ! # $RCSfile: makedepend.SH,v $$Revision: 4.0.1.4 $$Date: 92/06/08 13:51:24 $
- #
- # $Log: makedepend.SH,v $
- + # Revision 4.0.1.4 92/06/08 13:51:24 lwall
- + # patch20: various and sundry fixes
- + #
- # Revision 4.0.1.3 91/11/05 17:56:33 lwall
- # patch11: various portability fixes
- #
- ***************
- *** 53,58 ****
- --- 57,65 ----
-
- $spitshell >>makedepend <<'!NO!SUBS!'
-
- + PATH="$PATH:."
- + export PATH
- +
- $cat /dev/null >.deptmp
- $rm -f *.c.c c/*.c.c
- if test -f Makefile; then
- ***************
- *** 83,103 ****
- # for file in `cat /dev/null`; do
- case "$file" in
- *.c) filebase=`basename $file .c` ;;
- ! *.y) filebase=`basename $file .c` ;;
- esac
- $echo "Finding dependencies for $filebase.o."
- ! $sed -n <$file >$file.c \
- -e "/^${filebase}_init(/q" \
- -e '/^#/{' \
- -e 's|/\*.*$||' \
- -e 's|\\$||' \
- -e p \
- ! -e '}'
- ! $cppstdin -I/usr/local/include -I. $cppflags $cppminus <$file.c | sed -e 's#\.[0-9][0-9]*\.c#'"$file.c#" | \
- $sed \
- -e 's/^[ ]*#[ ]*line/#/' \
- ! -e '/^# *[0-9][0-9]* *"/!d' \
- -e 's/^.*"\(.*\)".*$/'$filebase'.o: \1/' \
- -e 's|: \./|: |' \
- -e 's|\.c\.c|.c|' | \
- $uniq | $sort | $uniq >> .deptmp
- --- 90,117 ----
- # for file in `cat /dev/null`; do
- case "$file" in
- *.c) filebase=`basename $file .c` ;;
- ! *.y) filebase=`basename $file .y` ;;
- esac
- + case "$file" in
- + */*) finc="-I`echo $file | sed 's#/[^/]*$##`" ;;
- + *) finc= ;;
- + esac
- $echo "Finding dependencies for $filebase.o."
- ! ( $echo "#line 1 \"$file\""; \
- ! $sed -n <$file \
- -e "/^${filebase}_init(/q" \
- -e '/^#/{' \
- -e 's|/\*.*$||' \
- -e 's|\\$||' \
- -e p \
- ! -e '}' ) >$file.c
- ! $cppstdin $finc -I/usr/local/include -I. $cppflags $cppminus <$file.c |
- $sed \
- + -e 's#\.[0-9][0-9]*\.c#'"$file.c#" \
- -e 's/^[ ]*#[ ]*line/#/' \
- ! -e '/^# *[0-9][0-9]* *[".\/]/!d' \
- -e 's/^.*"\(.*\)".*$/'$filebase'.o: \1/' \
- + -e 's/^# *[0-9][0-9]* \(.*\)$/'$filebase'.o: \1/' \
- -e 's|: \./|: |' \
- -e 's|\.c\.c|.c|' | \
- $uniq | $sort | $uniq >> .deptmp
-
- Index: atarist/makefile.sm
- *** atarist/makefile.sm.old Mon Jun 8 17:35:16 1992
- --- atarist/makefile.sm Mon Jun 8 17:35:16 1992
- ***************
- *** 0 ****
- --- 1,457 ----
- + # : Makefile.SH,v 9820Revision: 4.0.1.2 9820Date: 91/06/07 10:14:43 $
- + #
- + # $Log: makefile.sm,v $
- + # Revision 4.0.1.1 92/06/08 11:50:00 lwall
- + # Initial revision
- + #
- + # Revision 4.0.1.2 91/06/07 10:14:43 lwall
- + # patch4: cflags now emits entire cc command except for the filename
- + # patch4: alternate make programs are now semi-supported
- + # patch4: uperl.o no longer tries to link in libraries prematurely
- + # patch4: installperl now installs x2p stuff too
- + #
- + # Revision 4.0.1.1 91/04/11 17:30:39 lwall
- + # patch1: C flags are now settable on a per-file basis
- + #
- + # Revision 4.0 91/03/20 00:58:54 lwall
- + # 4.0 baseline.
- + #
- + #
- +
- + CC = cgcc
- + YACC = bison -y
- + LDFLAGS =
- + CLDFLAGS =
- + SMALL =
- + LARGE =
- + mallocsrc = malloc.c
- + mallocobj = malloc.o
- + SLN = ln -s
- +
- + libs = -lgdbm -lpml
- +
- + public = perl.ttp
- +
- + # To use an alternate make, set in config.sh.
- + MAKE = make
- +
- +
- + CCCMD = $(CC) -O2 -fomit-frame-pointer -fstrength-reduce -c -DMYMALLOC
- +
- + private =
- +
- + scripts =
- +
- + manpages = perl.man h2ph.man
- +
- + util = echo.ttp perlglob.ttp
- +
- + sh = Makefile.SH makedepend.SH h2ph.SH
- +
- + h1 = EXTERN.h INTERN.h arg.h array.h cmd.h config.h form.h handy.h
- + h2 = hash.h perl.h regcomp.h regexp.h spat.h stab.h str.h util.h
- +
- + h = $(h1) $(h2)
- +
- + c1 = array.c cmd.c cons.c consarg.c doarg.c doio.c dolist.c dump.c
- + c2 = eval.c form.c hash.c $(mallocsrc) perl.c regcomp.c regexec.c
- + c3 = stab.c str.c toke.c util.c atarist.c usersub.c
- +
- + c = $(c1) $(c2) $(c3)
- +
- + obj1 = array.o cmd.o cons.o consarg.o doarg.o doio.o dolist.o dump.o
- + obj2 = eval.o form.o hash.o $(mallocobj) perl.o regcomp.o regexec.o
- + obj3 = stab.o str.o toke.o util.o atarist.o
- +
- + obj = $(obj1) $(obj2) $(obj3)
- +
- + lintflags = -hbvxac
- +
- + # grrr
- + SHELL = /bin/sh
- +
- + .c.o:
- + $(CCCMD) $*.c
- +
- + all: $(public) $(util)
- +
- + # This is the standard version that contains no "taint" checks and is
- + # used for all scripts that aren't set-id or running under something set-id.
- + # The $& notation is tells Sequent machines that it can do a parallel make,
- + # and is harmless otherwise.
- +
- + perl.ttp: perly.o $(obj) usersub.o
- + $(CC) $(LARGE) $(CLDFLAGS) $(obj) perly.o usersub.o $(libs) -o perl.ttp -v -s
- +
- + echo.ttp: wildmat.o echo.c
- + $(CC) -O -mshort -fomit-frame-pointer -o echo.ttp \
- + echo.c wildmat.o -liio16 -s
- +
- + perlglob.ttp: wildmat.o perlglob.c
- + $(CC) -O -mshort -fomit-frame-pointer -o perlglob.ttp \
- + perlglob.c wildmat.o -liio16 -s
- +
- + wildmat.o: wildmat.c
- + $(CC) -O -mshort -fomit-frame-pointer -c wildmat.c
- +
- + perly.h: perly.c
- + @ echo Dummy dependency for dumb parallel make
- + touch perly.h
- +
- + perly.c: perly.y perly.fixer
- + @ echo 'Expect either' 29 shift/reduce and 59 reduce/reduce conflicts...
- + @ echo ' or' 27 shift/reduce and 61 reduce/reduce conflicts...
- + $(YACC) -d perly.y
- + sh ./perly.fixer y.tab.c perly.c
- + mv y.tab.h perly.h
- + echo 'extern YYSTYPE yylval;' >>perly.h
- +
- + perly.o: perly.c perly.h $(h)
- + $(CCCMD) perly.c
- +
- +
- + clean:
- + rm -f *.o
- +
- + realclean: clean
- + rm -f *.ttp report core
- + rm -f perly.c perly.h
- +
- + # The following lint has practically everything turned on. Unfortunately,
- + # you have to wade through a lot of mumbo jumbo that can't be suppressed.
- + # If the source file has a /*NOSTRICT*/ somewhere, ignore the lint message
- + # for that spot.
- +
- + lint: perly.c $(c)
- + lint $(lintflags) $(defs) perly.c $(c) > perl.fuzz
- +
- + depend: makedepend
- + - test -f perly.h || cp /dev/null perly.h
- + ./makedepend
- + - test -s perly.h || /bin/rm -f perly.h
- +
- + test: perl
- + - cd t && chmod +x TEST */*.t
- + - cd t && (rm -f perl; $(SLN) ../perl .) && ./perl TEST </dev/tty
- +
- + clist:
- + echo $(c) | tr ' ' '\012' >.clist
- +
- + hlist:
- + echo $(h) | tr ' ' '\012' >.hlist
- +
- + shlist:
- + echo $(sh) | tr ' ' '\012' >.shlist
- +
- + # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
- + # If this runs make out of memory, delete /usr/include lines.
- + array.o: EXTERN.h
- + array.o: arg.h
- + array.o: array.c
- + array.o: array.h
- + array.o: cmd.h
- + array.o: config.h
- + array.o: form.h
- + array.o: handy.h
- + array.o: hash.h
- + array.o: perl.h
- + array.o: regexp.h
- + array.o: spat.h
- + array.o: stab.h
- + array.o: str.h
- + array.o: util.h
- + cmd.o: EXTERN.h
- + cmd.o: arg.h
- + cmd.o: array.h
- + cmd.o: cmd.c
- + cmd.o: cmd.h
- + cmd.o: config.h
- + cmd.o: form.h
- + cmd.o: handy.h
- + cmd.o: hash.h
- + cmd.o: perl.h
- + cmd.o: regexp.h
- + cmd.o: spat.h
- + cmd.o: stab.h
- + cmd.o: str.h
- + cmd.o: util.h
- + cons.o: EXTERN.h
- + cons.o: arg.h
- + cons.o: array.h
- + cons.o: cmd.h
- + cons.o: config.h
- + cons.o: cons.c
- + cons.o: form.h
- + cons.o: handy.h
- + cons.o: hash.h
- + cons.o: perl.h
- + cons.o: perly.h
- + cons.o: regexp.h
- + cons.o: spat.h
- + cons.o: stab.h
- + cons.o: str.h
- + cons.o: util.h
- + consarg.o: EXTERN.h
- + consarg.o: arg.h
- + consarg.o: array.h
- + consarg.o: cmd.h
- + consarg.o: config.h
- + consarg.o: consarg.c
- + consarg.o: form.h
- + consarg.o: handy.h
- + consarg.o: hash.h
- + consarg.o: perl.h
- + consarg.o: regexp.h
- + consarg.o: spat.h
- + consarg.o: stab.h
- + consarg.o: str.h
- + consarg.o: util.h
- + doarg.o: EXTERN.h
- + doarg.o: arg.h
- + doarg.o: array.h
- + doarg.o: cmd.h
- + doarg.o: config.h
- + doarg.o: doarg.c
- + doarg.o: form.h
- + doarg.o: handy.h
- + doarg.o: hash.h
- + doarg.o: perl.h
- + doarg.o: regexp.h
- + doarg.o: spat.h
- + doarg.o: stab.h
- + doarg.o: str.h
- + doarg.o: util.h
- + doio.o: EXTERN.h
- + doio.o: arg.h
- + doio.o: array.h
- + doio.o: cmd.h
- + doio.o: config.h
- + doio.o: doio.c
- + doio.o: form.h
- + doio.o: handy.h
- + doio.o: hash.h
- + doio.o: perl.h
- + doio.o: regexp.h
- + doio.o: spat.h
- + doio.o: stab.h
- + doio.o: str.h
- + doio.o: util.h
- + dolist.o: EXTERN.h
- + dolist.o: arg.h
- + dolist.o: array.h
- + dolist.o: cmd.h
- + dolist.o: config.h
- + dolist.o: dolist.c
- + dolist.o: form.h
- + dolist.o: handy.h
- + dolist.o: hash.h
- + dolist.o: perl.h
- + dolist.o: regexp.h
- + dolist.o: spat.h
- + dolist.o: stab.h
- + dolist.o: str.h
- + dolist.o: util.h
- + dump.o: EXTERN.h
- + dump.o: arg.h
- + dump.o: array.h
- + dump.o: cmd.h
- + dump.o: config.h
- + dump.o: dump.c
- + dump.o: form.h
- + dump.o: handy.h
- + dump.o: hash.h
- + dump.o: perl.h
- + dump.o: regexp.h
- + dump.o: spat.h
- + dump.o: stab.h
- + dump.o: str.h
- + dump.o: util.h
- + eval.o: EXTERN.h
- + eval.o: arg.h
- + eval.o: array.h
- + eval.o: cmd.h
- + eval.o: config.h
- + eval.o: eval.c
- + eval.o: form.h
- + eval.o: handy.h
- + eval.o: hash.h
- + eval.o: perl.h
- + eval.o: regexp.h
- + eval.o: spat.h
- + eval.o: stab.h
- + eval.o: str.h
- + eval.o: util.h
- + form.o: EXTERN.h
- + form.o: arg.h
- + form.o: array.h
- + form.o: cmd.h
- + form.o: config.h
- + form.o: form.c
- + form.o: form.h
- + form.o: handy.h
- + form.o: hash.h
- + form.o: perl.h
- + form.o: regexp.h
- + form.o: spat.h
- + form.o: stab.h
- + form.o: str.h
- + form.o: util.h
- + hash.o: EXTERN.h
- + hash.o: arg.h
- + hash.o: array.h
- + hash.o: cmd.h
- + hash.o: config.h
- + hash.o: form.h
- + hash.o: handy.h
- + hash.o: hash.c
- + hash.o: hash.h
- + hash.o: perl.h
- + hash.o: regexp.h
- + hash.o: spat.h
- + hash.o: stab.h
- + hash.o: str.h
- + hash.o: util.h
- + perl.o: EXTERN.h
- + perl.o: arg.h
- + perl.o: array.h
- + perl.o: cmd.h
- + perl.o: config.h
- + perl.o: form.h
- + perl.o: handy.h
- + perl.o: hash.h
- + perl.o: patchlevel.h
- + perl.o: perl.c
- + perl.o: perl.h
- + perl.o: perly.h
- + perl.o: regexp.h
- + perl.o: spat.h
- + perl.o: stab.h
- + perl.o: str.h
- + perl.o: util.h
- + regcomp.o: EXTERN.h
- + regcomp.o: INTERN.h
- + regcomp.o: arg.h
- + regcomp.o: array.h
- + regcomp.o: cmd.h
- + regcomp.o: config.h
- + regcomp.o: form.h
- + regcomp.o: handy.h
- + regcomp.o: hash.h
- + regcomp.o: perl.h
- + regcomp.o: regcomp.c
- + regcomp.o: regcomp.h
- + regcomp.o: regexp.h
- + regcomp.o: spat.h
- + regcomp.o: stab.h
- + regcomp.o: str.h
- + regcomp.o: util.h
- + regexec.o: EXTERN.h
- + regexec.o: arg.h
- + regexec.o: array.h
- + regexec.o: cmd.h
- + regexec.o: config.h
- + regexec.o: form.h
- + regexec.o: handy.h
- + regexec.o: hash.h
- + regexec.o: perl.h
- + regexec.o: regcomp.h
- + regexec.o: regexec.c
- + regexec.o: regexp.h
- + regexec.o: spat.h
- + regexec.o: stab.h
- + regexec.o: str.h
- + regexec.o: util.h
- + stab.o: EXTERN.h
- + stab.o: arg.h
- + stab.o: array.h
- + stab.o: cmd.h
- + stab.o: config.h
- + stab.o: form.h
- + stab.o: handy.h
- + stab.o: hash.h
- + stab.o: perl.h
- + stab.o: regexp.h
- + stab.o: spat.h
- + stab.o: stab.c
- + stab.o: stab.h
- + stab.o: str.h
- + stab.o: util.h
- + str.o: EXTERN.h
- + str.o: arg.h
- + str.o: array.h
- + str.o: cmd.h
- + str.o: config.h
- + str.o: form.h
- + str.o: handy.h
- + str.o: hash.h
- + str.o: perl.h
- + str.o: perly.h
- + str.o: regexp.h
- + str.o: spat.h
- + str.o: stab.h
- + str.o: str.c
- + str.o: str.h
- + str.o: util.h
- + toke.o: EXTERN.h
- + toke.o: arg.h
- + toke.o: array.h
- + toke.o: cmd.h
- + toke.o: config.h
- + toke.o: form.h
- + toke.o: handy.h
- + toke.o: hash.h
- + toke.o: perl.h
- + toke.o: perly.h
- + toke.o: regexp.h
- + toke.o: spat.h
- + toke.o: stab.h
- + toke.o: str.h
- + toke.o: toke.c
- + toke.o: util.h
- + util.o: EXTERN.h
- + util.o: arg.h
- + util.o: array.h
- + util.o: cmd.h
- + util.o: config.h
- + util.o: form.h
- + util.o: handy.h
- + util.o: hash.h
- + util.o: perl.h
- + util.o: regexp.h
- + util.o: spat.h
- + util.o: stab.h
- + util.o: str.h
- + util.o: util.c
- + util.o: util.h
- + atarist.o: EXTERN.h
- + atarist.o: arg.h
- + atarist.o: array.h
- + atarist.o: cmd.h
- + atarist.o: config.h
- + atarist.o: form.h
- + atarist.o: handy.h
- + atarist.o: hash.h
- + atarist.o: perl.h
- + atarist.o: regexp.h
- + atarist.o: spat.h
- + atarist.o: stab.h
- + atarist.o: str.h
- + atarist.o: atarist.c
- + atarist.o: util.h
- +
- + malloc.o: EXTERN.h
- + malloc.o: arg.h
- + malloc.o: array.h
- + malloc.o: cmd.h
- + malloc.o: config.h
- + malloc.o: form.h
- + malloc.o: handy.h
- + malloc.o: hash.h
- + malloc.o: perl.h
- + malloc.o: regexp.h
- + malloc.o: spat.h
- + malloc.o: stab.h
- + malloc.o: str.h
- + malloc.o: malloc.c
- + malloc.o: util.h
- +
-
- Index: atarist/makefile.st
- *** atarist/makefile.st.old Mon Jun 8 17:35:18 1992
- --- atarist/makefile.st Mon Jun 8 17:35:19 1992
- ***************
- *** 0 ****
- --- 1,462 ----
- + # : Makefile.SH,v 9820Revision: 4.0.1.2 9820Date: 91/06/07 10:14:43 $
- + #
- + # $Log: makefile.st,v $
- + # Revision 4.0.1.1 92/06/08 11:50:13 lwall
- + # Initial revision
- + #
- + # Revision 4.0.1.2 91/06/07 10:14:43 lwall
- + # patch4: cflags now emits entire cc command except for the filename
- + # patch4: alternate make programs are now semi-supported
- + # patch4: uperl.o no longer tries to link in libraries prematurely
- + # patch4: installperl now installs x2p stuff too
- + #
- + # Revision 4.0.1.1 91/04/11 17:30:39 lwall
- + # patch1: C flags are now settable on a per-file basis
- + #
- + # Revision 4.0 91/03/20 00:58:54 lwall
- + # 4.0 baseline.
- + #
- + #
- +
- + CC = cgcc
- + YACC = bison -y
- + LDFLAGS =
- + CLDFLAGS =
- + SMALL =
- + LARGE =
- + mallocsrc =
- + mallocobj =
- + SLN = ln -s
- +
- + libs = -lgdbm -lpml
- +
- + public = perl.ttp
- +
- + # To use an alternate make, set in config.sh.
- + MAKE = make
- +
- +
- + CCCMD = $(CC) -O2 -fomit-frame-pointer -fstrength-reduce -c
- +
- + private =
- +
- + scripts =
- +
- + manpages = perl.man h2ph.man
- +
- + util = echo.ttp perlglob.ttp
- +
- + sh = Makefile.SH makedepend.SH h2ph.SH
- +
- + h1 = EXTERN.h INTERN.h arg.h array.h cmd.h config.h form.h handy.h
- + h2 = hash.h perl.h regcomp.h regexp.h spat.h stab.h str.h util.h
- +
- + h = $(h1) $(h2)
- +
- + c1 = array.c cmd.c cons.c consarg.c doarg.c doio.c dolist.c dump.c
- + c2 = eval.c form.c hash.c $(mallocsrc) perl.c regcomp.c regexec.c
- + c3 = stab.c str.c toke.c util.c atarist.c usersub.c
- +
- + c = $(c1) $(c2) $(c3)
- +
- + obj1 = array.o cmd.o cons.o consarg.o doarg.o doio.o dolist.o dump.o
- + obj2 = eval.o form.o hash.o $(mallocobj) perl.o regcomp.o regexec.o
- + obj3 = stab.o str.o toke.o util.o atarist.o
- +
- + obj = $(obj1) $(obj2) $(obj3)
- +
- + lintflags = -hbvxac
- +
- + # grrr
- + SHELL = /bin/sh
- +
- + .c.o:
- + $(CCCMD) $*.c
- +
- + all: $(public) $(util)
- +
- + # This is the standard version that contains no "taint" checks and is
- + # used for all scripts that aren't set-id or running under something set-id.
- + # The $& notation is tells Sequent machines that it can do a parallel make,
- + # and is harmless otherwise.
- +
- + perl.ttp: perly.o $(obj) usersub.o
- + $(CC) $(LARGE) $(CLDFLAGS) $(obj) perly.o usersub.o $(libs) -o perl.ttp -v -s
- +
- + echo.ttp: wildmat.o echo.c
- + $(CC) -O -mshort -fomit-frame-pointer -o echo.ttp \
- + echo.c wildmat.o -liio16 -s
- +
- + perlglob.ttp: wildmat.o perlglob.c
- + $(CC) -O -mshort -fomit-frame-pointer -o perlglob.ttp \
- + perlglob.c wildmat.o -liio16 -s
- +
- + # we cant do a uperl.o, so we do our best.
- + #
- + uperl.a: perly.o $(obj)
- + car rs uperl.a perly.o $(obj)
- +
- + wildmat.o: wildmat.c
- + $(CC) -O -mshort -fomit-frame-pointer -c wildmat.c
- +
- + perly.h: perly.c
- + @ echo Dummy dependency for dumb parallel make
- + touch perly.h
- +
- + perly.c: perly.y perly.fixer
- + @ echo 'Expect either' 29 shift/reduce and 59 reduce/reduce conflicts...
- + @ echo ' or' 27 shift/reduce and 61 reduce/reduce conflicts...
- + $(YACC) -d perly.y
- + sh ./perly.fixer y.tab.c perly.c
- + mv y.tab.h perly.h
- + echo 'extern YYSTYPE yylval;' >>perly.h
- +
- + perly.o: perly.c perly.h $(h)
- + $(CCCMD) perly.c
- +
- +
- + clean:
- + rm -f *.o
- +
- + realclean: clean
- + rm -f *.ttp report core
- + rm -f perly.c perly.h
- +
- + # The following lint has practically everything turned on. Unfortunately,
- + # you have to wade through a lot of mumbo jumbo that can't be suppressed.
- + # If the source file has a /*NOSTRICT*/ somewhere, ignore the lint message
- + # for that spot.
- +
- + lint: perly.c $(c)
- + lint $(lintflags) $(defs) perly.c $(c) > perl.fuzz
- +
- + depend: makedepend
- + - test -f perly.h || cp /dev/null perly.h
- + ./makedepend
- + - test -s perly.h || /bin/rm -f perly.h
- +
- + test: perl
- + - cd t && chmod +x TEST */*.t
- + - cd t && (rm -f perl; $(SLN) ../perl .) && ./perl TEST </dev/tty
- +
- + clist:
- + echo $(c) | tr ' ' '\012' >.clist
- +
- + hlist:
- + echo $(h) | tr ' ' '\012' >.hlist
- +
- + shlist:
- + echo $(sh) | tr ' ' '\012' >.shlist
- +
- + # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
- + # If this runs make out of memory, delete /usr/include lines.
- + array.o: EXTERN.h
- + array.o: arg.h
- + array.o: array.c
- + array.o: array.h
- + array.o: cmd.h
- + array.o: config.h
- + array.o: form.h
- + array.o: handy.h
- + array.o: hash.h
- + array.o: perl.h
- + array.o: regexp.h
- + array.o: spat.h
- + array.o: stab.h
- + array.o: str.h
- + array.o: util.h
- + cmd.o: EXTERN.h
- + cmd.o: arg.h
- + cmd.o: array.h
- + cmd.o: cmd.c
- + cmd.o: cmd.h
- + cmd.o: config.h
- + cmd.o: form.h
- + cmd.o: handy.h
- + cmd.o: hash.h
- + cmd.o: perl.h
- + cmd.o: regexp.h
- + cmd.o: spat.h
- + cmd.o: stab.h
- + cmd.o: str.h
- + cmd.o: util.h
- + cons.o: EXTERN.h
- + cons.o: arg.h
- + cons.o: array.h
- + cons.o: cmd.h
- + cons.o: config.h
- + cons.o: cons.c
- + cons.o: form.h
- + cons.o: handy.h
- + cons.o: hash.h
- + cons.o: perl.h
- + cons.o: perly.h
- + cons.o: regexp.h
- + cons.o: spat.h
- + cons.o: stab.h
- + cons.o: str.h
- + cons.o: util.h
- + consarg.o: EXTERN.h
- + consarg.o: arg.h
- + consarg.o: array.h
- + consarg.o: cmd.h
- + consarg.o: config.h
- + consarg.o: consarg.c
- + consarg.o: form.h
- + consarg.o: handy.h
- + consarg.o: hash.h
- + consarg.o: perl.h
- + consarg.o: regexp.h
- + consarg.o: spat.h
- + consarg.o: stab.h
- + consarg.o: str.h
- + consarg.o: util.h
- + doarg.o: EXTERN.h
- + doarg.o: arg.h
- + doarg.o: array.h
- + doarg.o: cmd.h
- + doarg.o: config.h
- + doarg.o: doarg.c
- + doarg.o: form.h
- + doarg.o: handy.h
- + doarg.o: hash.h
- + doarg.o: perl.h
- + doarg.o: regexp.h
- + doarg.o: spat.h
- + doarg.o: stab.h
- + doarg.o: str.h
- + doarg.o: util.h
- + doio.o: EXTERN.h
- + doio.o: arg.h
- + doio.o: array.h
- + doio.o: cmd.h
- + doio.o: config.h
- + doio.o: doio.c
- + doio.o: form.h
- + doio.o: handy.h
- + doio.o: hash.h
- + doio.o: perl.h
- + doio.o: regexp.h
- + doio.o: spat.h
- + doio.o: stab.h
- + doio.o: str.h
- + doio.o: util.h
- + dolist.o: EXTERN.h
- + dolist.o: arg.h
- + dolist.o: array.h
- + dolist.o: cmd.h
- + dolist.o: config.h
- + dolist.o: dolist.c
- + dolist.o: form.h
- + dolist.o: handy.h
- + dolist.o: hash.h
- + dolist.o: perl.h
- + dolist.o: regexp.h
- + dolist.o: spat.h
- + dolist.o: stab.h
- + dolist.o: str.h
- + dolist.o: util.h
- + dump.o: EXTERN.h
- + dump.o: arg.h
- + dump.o: array.h
- + dump.o: cmd.h
- + dump.o: config.h
- + dump.o: dump.c
- + dump.o: form.h
- + dump.o: handy.h
- + dump.o: hash.h
- + dump.o: perl.h
- + dump.o: regexp.h
- + dump.o: spat.h
- + dump.o: stab.h
- + dump.o: str.h
- + dump.o: util.h
- + eval.o: EXTERN.h
- + eval.o: arg.h
- + eval.o: array.h
- + eval.o: cmd.h
- + eval.o: config.h
- + eval.o: eval.c
- + eval.o: form.h
- + eval.o: handy.h
- + eval.o: hash.h
- + eval.o: perl.h
- + eval.o: regexp.h
- + eval.o: spat.h
- + eval.o: stab.h
- + eval.o: str.h
- + eval.o: util.h
- + form.o: EXTERN.h
- + form.o: arg.h
- + form.o: array.h
- + form.o: cmd.h
- + form.o: config.h
- + form.o: form.c
- + form.o: form.h
- + form.o: handy.h
- + form.o: hash.h
- + form.o: perl.h
- + form.o: regexp.h
- + form.o: spat.h
- + form.o: stab.h
- + form.o: str.h
- + form.o: util.h
- + hash.o: EXTERN.h
- + hash.o: arg.h
- + hash.o: array.h
- + hash.o: cmd.h
- + hash.o: config.h
- + hash.o: form.h
- + hash.o: handy.h
- + hash.o: hash.c
- + hash.o: hash.h
- + hash.o: perl.h
- + hash.o: regexp.h
- + hash.o: spat.h
- + hash.o: stab.h
- + hash.o: str.h
- + hash.o: util.h
- + perl.o: EXTERN.h
- + perl.o: arg.h
- + perl.o: array.h
- + perl.o: cmd.h
- + perl.o: config.h
- + perl.o: form.h
- + perl.o: handy.h
- + perl.o: hash.h
- + perl.o: patchlevel.h
- + perl.o: perl.c
- + perl.o: perl.h
- + perl.o: perly.h
- + perl.o: regexp.h
- + perl.o: spat.h
- + perl.o: stab.h
- + perl.o: str.h
- + perl.o: util.h
- + regcomp.o: EXTERN.h
- + regcomp.o: INTERN.h
- + regcomp.o: arg.h
- + regcomp.o: array.h
- + regcomp.o: cmd.h
- + regcomp.o: config.h
- + regcomp.o: form.h
- + regcomp.o: handy.h
- + regcomp.o: hash.h
- + regcomp.o: perl.h
- + regcomp.o: regcomp.c
- + regcomp.o: regcomp.h
- + regcomp.o: regexp.h
- + regcomp.o: spat.h
- + regcomp.o: stab.h
- + regcomp.o: str.h
- + regcomp.o: util.h
- + regexec.o: EXTERN.h
- + regexec.o: arg.h
- + regexec.o: array.h
- + regexec.o: cmd.h
- + regexec.o: config.h
- + regexec.o: form.h
- + regexec.o: handy.h
- + regexec.o: hash.h
- + regexec.o: perl.h
- + regexec.o: regcomp.h
- + regexec.o: regexec.c
- + regexec.o: regexp.h
- + regexec.o: spat.h
- + regexec.o: stab.h
- + regexec.o: str.h
- + regexec.o: util.h
- + stab.o: EXTERN.h
- + stab.o: arg.h
- + stab.o: array.h
- + stab.o: cmd.h
- + stab.o: config.h
- + stab.o: form.h
- + stab.o: handy.h
- + stab.o: hash.h
- + stab.o: perl.h
- + stab.o: regexp.h
- + stab.o: spat.h
- + stab.o: stab.c
- + stab.o: stab.h
- + stab.o: str.h
- + stab.o: util.h
- + str.o: EXTERN.h
- + str.o: arg.h
- + str.o: array.h
- + str.o: cmd.h
- + str.o: config.h
- + str.o: form.h
- + str.o: handy.h
- + str.o: hash.h
- + str.o: perl.h
- + str.o: perly.h
- + str.o: regexp.h
- + str.o: spat.h
- + str.o: stab.h
- + str.o: str.c
- + str.o: str.h
- + str.o: util.h
- + toke.o: EXTERN.h
- + toke.o: arg.h
- + toke.o: array.h
- + toke.o: cmd.h
- + toke.o: config.h
- + toke.o: form.h
- + toke.o: handy.h
- + toke.o: hash.h
- + toke.o: perl.h
- + toke.o: perly.h
- + toke.o: regexp.h
- + toke.o: spat.h
- + toke.o: stab.h
- + toke.o: str.h
- + toke.o: toke.c
- + toke.o: util.h
- + util.o: EXTERN.h
- + util.o: arg.h
- + util.o: array.h
- + util.o: cmd.h
- + util.o: config.h
- + util.o: form.h
- + util.o: handy.h
- + util.o: hash.h
- + util.o: perl.h
- + util.o: regexp.h
- + util.o: spat.h
- + util.o: stab.h
- + util.o: str.h
- + util.o: util.c
- + util.o: util.h
- + atarist.o: EXTERN.h
- + atarist.o: arg.h
- + atarist.o: array.h
- + atarist.o: cmd.h
- + atarist.o: config.h
- + atarist.o: form.h
- + atarist.o: handy.h
- + atarist.o: hash.h
- + atarist.o: perl.h
- + atarist.o: regexp.h
- + atarist.o: spat.h
- + atarist.o: stab.h
- + atarist.o: str.h
- + atarist.o: atarist.c
- + atarist.o: util.h
- +
- + malloc.o: EXTERN.h
- + malloc.o: arg.h
- + malloc.o: array.h
- + malloc.o: cmd.h
- + malloc.o: config.h
- + malloc.o: form.h
- + malloc.o: handy.h
- + malloc.o: hash.h
- + malloc.o: perl.h
- + malloc.o: regexp.h
- + malloc.o: spat.h
- + malloc.o: stab.h
- + malloc.o: str.h
- + malloc.o: malloc.c
- + malloc.o: util.h
- +
-
- Index: os2/mktemp.c
- *** os2/mktemp.c.old Mon Jun 8 17:49:56 1992
- --- os2/mktemp.c Mon Jun 8 17:49:57 1992
- ***************
- *** 1,28 ****
- ! /* MKTEMP.C using TMP environment variable */
- !
- ! #include <stdio.h>
- ! #include <stdlib.h>
- ! #include <string.h>
- ! #include <io.h>
- !
- ! void Mktemp(char *file)
- ! {
- ! char fname[32], *tmp;
- !
- ! tmp = getenv("TMP");
- !
- ! if ( tmp != NULL )
- ! {
- ! strcpy(fname, file);
- ! strcpy(file, tmp);
- !
- ! if ( file[strlen(file) - 1] != '\\' )
- ! strcat(file, "\\");
- !
- ! strcat(file, fname);
- ! }
- !
- ! mktemp(file);
- ! }
- !
- ! /* End of MKTEMP.C */
- --- 1 ----
- ! (deprecated)
-
- Index: hints/ncr_tower.sh
- *** hints/ncr_tower.sh.old Mon Jun 8 17:48:06 1992
- --- hints/ncr_tower.sh Mon Jun 8 17:48:06 1992
- ***************
- *** 1,2 ****
- --- 1,8 ----
- + optimize='-O0'
- ccflags="$ccflags -W2,-Sl,2000"
- + eval_cflags='large="-W0,-XL"'
- + teval_cflags=$eval_cflags
- d_mkdir=$undef
- + usemymalloc='y'
- + mallocsrc='malloc.c'
- + mallocobj='malloc.o'
-
- Index: hints/next.sh
- *** hints/next.sh.old Mon Jun 8 17:48:08 1992
- --- hints/next.sh Mon Jun 8 17:48:09 1992
- ***************
- *** 2,4 ****
- --- 2,5 ----
- nativegcc='define'
- groupstype="int"
- usemymalloc="n"
- + libswanted='dbm sys_s'
-
- Index: atarist/test/osexample.pl
- *** atarist/test/osexample.pl.old Mon Jun 8 17:45:10 1992
- --- atarist/test/osexample.pl Mon Jun 8 17:45:11 1992
- ***************
- *** 0 ****
- --- 1,5 ----
- + require 'osbind.pl';
- +
- + &Cconws("Hello World\r\n");
- + $str = "This is a string being printed by Fwrite Gemdos trap\r\n";
- + &Fwrite(1, length($str), $str);
-
- *** End of Patch 27 ***
- exit 0 # Just in case...
-