mirror of
https://github.com/PDP-10/its.git
synced 2026-01-14 15:45:47 +00:00
Newer file.
This commit is contained in:
parent
2bb4e1d28a
commit
be1dde5e40
@ -9,7 +9,7 @@
|
||||
*
|
||||
* fd = copen (fname, mode, opt)
|
||||
* c = getchar ()
|
||||
* gets (s)
|
||||
* s = gets (s)
|
||||
* putchar (c)
|
||||
* puts (s)
|
||||
* ch = mopen (f, mode)
|
||||
@ -55,6 +55,8 @@
|
||||
# rename pc_bad "PC$BAD"
|
||||
# rename cl_bad "CL$BAD"
|
||||
# rename prsarg "PRSARG"
|
||||
# rename pjflag "PJFLAG"
|
||||
# rename riflag "RIFLAG"
|
||||
# rename fcbtab "FCBTBL"
|
||||
# rename tty_input_channel "TYICHN"
|
||||
# rename tty_output_channel "TYOCHN"
|
||||
@ -310,13 +312,14 @@ getchar () {return (cgetc (cin));}
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
gets (p)
|
||||
char *gets (p)
|
||||
char *p;
|
||||
|
||||
{int c;
|
||||
|
||||
while ((c = cgetc (cin)) != '\n' && c>0) *p++ = c;
|
||||
*p = 0;
|
||||
return (p);
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
@ -570,11 +573,19 @@ channel open (f, mode) filespec *f; int mode;
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
int riflag {TRUE}; /* set to false in binary file to suppress action */
|
||||
/* pjflag being false also suppresses it */
|
||||
int pjflag {TRUE}; /* set to false in binary to suppress parsing */
|
||||
/* in that case, get 2 args: job name and jcl */
|
||||
|
||||
int fxarg (argc, argv) int argc; char *argv[];
|
||||
|
||||
{char **p, **q, *s;
|
||||
int i, append, errappend, f;
|
||||
|
||||
/* suppress action ? */
|
||||
if ((!pjflag) || (!riflag)) return (argc);
|
||||
|
||||
i = argc; /* number of arguments given */
|
||||
argc = 0; /* number of arguments returned */
|
||||
p = argv; /* source pointer */
|
||||
@ -719,41 +730,53 @@ int prsarg (in, out, argv, job, narg)
|
||||
out = c6tos (job, out);
|
||||
*out++ = 0;
|
||||
argv[1] = out;
|
||||
|
||||
while (c = ildb (&in))
|
||||
{switch (c) {
|
||||
case '\r': break;
|
||||
case QUOTE: *out++ = ildb (&in); continue;
|
||||
case ' ': continue;
|
||||
case '"': while (c = ildb (&in))
|
||||
{switch (c) {
|
||||
case '\r': break;
|
||||
case QUOTE: *out++ = ildb (&in); continue;
|
||||
case '"': break;
|
||||
default: *out++ = c; continue;
|
||||
if (pjflag)
|
||||
{while (c = ildb (&in))
|
||||
{switch (c) {
|
||||
case '\r': break;
|
||||
case QUOTE: *out++ = ildb (&in); continue;
|
||||
case ' ': continue;
|
||||
case '"': while (c = ildb (&in))
|
||||
{switch (c) {
|
||||
case '\r': break;
|
||||
case QUOTE: *out++ = ildb (&in); continue;
|
||||
case '"': break;
|
||||
default: *out++ = c; continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
*out++ = 0;
|
||||
if (++argc < narg) argv[argc] = out;
|
||||
if (c=='"') continue;
|
||||
break;
|
||||
default: *out++ = c;
|
||||
while (c = ildb (&in))
|
||||
{switch (c) {
|
||||
case '\r': break;
|
||||
case ' ': break;
|
||||
case QUOTE: *out++ = ildb (&in); continue;
|
||||
default: *out++ = c; continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
*out++ = 0;
|
||||
if (++argc < narg) argv[argc] = out;
|
||||
if (c==' ') continue;
|
||||
break;
|
||||
}
|
||||
*out++ = 0;
|
||||
if (++argc < narg) argv[argc] = out;
|
||||
if (c=='"') continue;
|
||||
break;
|
||||
default: *out++ = c;
|
||||
while (c = ildb (&in))
|
||||
{switch (c) {
|
||||
case '\r': break;
|
||||
case ' ': break;
|
||||
case QUOTE: *out++ = ildb (&in); continue;
|
||||
default: *out++ = c; continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
*out++ = 0;
|
||||
if (++argc < narg) argv[argc] = out;
|
||||
if (c==' ') continue;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
else {while (c = ildb (&in))
|
||||
{switch (c) {
|
||||
case '\r': break;
|
||||
case QUOTE: *out++ = ildb (&in); continue;
|
||||
default: *out++ = c; continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
*out++ = 0;
|
||||
++argc;
|
||||
}
|
||||
return (argc>narg ? narg : argc);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user