mirror of
https://github.com/GnoConsortium/gno.git
synced 2024-06-17 03:29:26 +00:00
Reflect changes made in the latest Bell Labs version (980211). No GNO/ME
changes have been added yet.
This commit is contained in:
parent
451e159fb7
commit
a67838992c
|
@ -544,3 +544,14 @@ Aug 21, 1997:
|
||||||
the behavior is the same as gawk and the intended posix standard.
|
the behavior is the same as gawk and the intended posix standard.
|
||||||
thanks to arnold robbins for advice here.
|
thanks to arnold robbins for advice here.
|
||||||
|
|
||||||
|
Aug 31, 1997:
|
||||||
|
s/adelete/awkdelete/: SGI uses this in malloc.h.
|
||||||
|
thanks to nelson beebe for pointing this one out.
|
||||||
|
|
||||||
|
Feb 11, 1998:
|
||||||
|
subtle silent bug in lex.c: if the program ended with a number
|
||||||
|
longer than 1 digit, part of the input would be pushed back and
|
||||||
|
parsed again because token buffer wasn't terminated right.
|
||||||
|
example: awk 'length($0) > 10'. blush. at least i found it
|
||||||
|
myself.
|
||||||
|
|
||||||
|
|
|
@ -23,12 +23,6 @@ awk \- pattern-directed scanning and processing language
|
||||||
.I var=value
|
.I var=value
|
||||||
]
|
]
|
||||||
[
|
[
|
||||||
.BI \-mr n
|
|
||||||
]
|
|
||||||
[
|
|
||||||
.BI \-mf n
|
|
||||||
]
|
|
||||||
[
|
|
||||||
.I 'prog'
|
.I 'prog'
|
||||||
|
|
|
|
||||||
.BI \-f
|
.BI \-f
|
||||||
|
@ -93,14 +87,6 @@ If
|
||||||
.BR FS
|
.BR FS
|
||||||
is null, the input line is split into one field per character.
|
is null, the input line is split into one field per character.
|
||||||
.PP
|
.PP
|
||||||
To compensate for inadequate implementation of storage management,
|
|
||||||
the
|
|
||||||
.B \-mr
|
|
||||||
option can be used to set the maximum size of the input record,
|
|
||||||
and the
|
|
||||||
.B \-mf
|
|
||||||
option to set the maximum number of fields.
|
|
||||||
.PP
|
|
||||||
A pattern-action statement has the form
|
A pattern-action statement has the form
|
||||||
.IP
|
.IP
|
||||||
.IB pattern " { " action " }
|
.IB pattern " { " action " }
|
||||||
|
|
|
@ -143,11 +143,11 @@ int gettok(char **pbuf, int *psz) /* get next input token */
|
||||||
|| c == '.' || c == '+' || c == '-')
|
|| c == '.' || c == '+' || c == '-')
|
||||||
*bp++ = c;
|
*bp++ = c;
|
||||||
else {
|
else {
|
||||||
*bp = 0;
|
|
||||||
unput(c);
|
unput(c);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*bp = 0;
|
||||||
strtod(buf, &rem); /* parse the number */
|
strtod(buf, &rem); /* parse the number */
|
||||||
unputstr(rem); /* put rest back for later */
|
unputstr(rem); /* put rest back for later */
|
||||||
rem[0] = 0;
|
rem[0] = 0;
|
||||||
|
|
|
@ -22,7 +22,7 @@ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
|
||||||
THIS SOFTWARE.
|
THIS SOFTWARE.
|
||||||
****************************************************************/
|
****************************************************************/
|
||||||
|
|
||||||
char *version = "version 970821";
|
char *version = "version 980211";
|
||||||
|
|
||||||
#define DEBUG
|
#define DEBUG
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
|
@ -77,7 +77,7 @@ struct xx
|
||||||
{ PRINTF, "awkprintf", "printf" },
|
{ PRINTF, "awkprintf", "printf" },
|
||||||
{ PRINT, "printstat", "print" },
|
{ PRINT, "printstat", "print" },
|
||||||
{ CLOSE, "closefile", "closefile" },
|
{ CLOSE, "closefile", "closefile" },
|
||||||
{ DELETE, "adelete", "adelete" },
|
{ DELETE, "awkdelete", "awkdelete" },
|
||||||
{ SPLIT, "split", "split" },
|
{ SPLIT, "split", "split" },
|
||||||
{ ASSIGN, "assign", " = " },
|
{ ASSIGN, "assign", " = " },
|
||||||
{ ADDEQ, "assign", " += " },
|
{ ADDEQ, "assign", " += " },
|
||||||
|
|
|
@ -145,7 +145,7 @@ extern Cell *jump(Node **, int);
|
||||||
extern Cell *getline(Node **, int);
|
extern Cell *getline(Node **, int);
|
||||||
extern Cell *getnf(Node **, int);
|
extern Cell *getnf(Node **, int);
|
||||||
extern Cell *array(Node **, int);
|
extern Cell *array(Node **, int);
|
||||||
extern Cell *adelete(Node **, int);
|
extern Cell *awkdelete(Node **, int);
|
||||||
extern Cell *intest(Node **, int);
|
extern Cell *intest(Node **, int);
|
||||||
extern Cell *matchop(Node **, int);
|
extern Cell *matchop(Node **, int);
|
||||||
extern Cell *boolop(Node **, int);
|
extern Cell *boolop(Node **, int);
|
||||||
|
|
|
@ -471,7 +471,7 @@ Cell *array(Node **a, int n) /* a[0] is symtab, a[1] is list of subscripts */
|
||||||
return(z);
|
return(z);
|
||||||
}
|
}
|
||||||
|
|
||||||
Cell *adelete(Node **a, int n) /* a[0] is symtab, a[1] is list of subscripts */
|
Cell *awkdelete(Node **a, int n) /* a[0] is symtab, a[1] is list of subscripts */
|
||||||
{
|
{
|
||||||
Cell *x, *y;
|
Cell *x, *y;
|
||||||
Node *np;
|
Node *np;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user