aboutsummaryrefslogtreecommitdiff
path: root/unix/boot/spp/rpp/ratlibc/getarg.c
blob: 2952d7d7342d7c05280e1c8a8c248db22efe67b7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/* Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
 */

#include "ratdef.h"

FINT
GETARG(n, s, maxsiz)
FINT *n;
register RCHAR *s;
FINT *maxsiz;
{
	extern int xargc;
	extern char **xargv;
	register char *t;
	register int i;

	if(*n>=0 && *n<xargc)
		t = xargv[*n];
	else if (*n == -1)
		return(xargc);
	else
		return(REOF);	/* non-existent argument */

	for(i = 0; i<*maxsiz-1 && *t!='\0' ; ++i)
		*s++ = *t++;
	*s++ = REOS;	/* terminate ratfor string with eos */
	return(i);	/* return length of argument */
}