This is getarg.c in view mode; [Download] [Up]
/* * getarg, iargc - return to Fortran a command line argument * * Usage: * * character*N c * integer i,j * integer function iargc * * call getarg(i,c) * j = iargc * * getarg returns the i-th command line argument of the current process, * filled with trailing blanks as needed. * The 0th command line argument is the full * pathname of the application's executable file. * * iargc returns the index of the last argument. * * restrictions: * It is up to the FORTRAN programmer to provide * a character array that is big enough. * * notes: * The third dummy argument is passed implicitly * by the compiler. Accessing this argument is * somewhat C compiler dependent and probably a * good place to look if this routine stops * working under a different compiler. * * Written for NeXT OS 1.0 by Paul Kunz, SLAC, August 1990 * * Copyright (C) 1990 The Board of Trustees of The Leland Stanford * Junior University. All Rights Reserved. * */ int iargc( int *dummy ) { extern int NXArgc; /* argc saved in crt0 */ return (NXArgc-1); } void getarg( iarg, carray, dummy, esize ) long *iarg; /* pointer to fortran integer*4 */ char *carray; /* pointer to fortran character array */ int dummy; /* dummy size for iarg */ int esize; /* size of fortran character array */ { extern int NXArgc; /* argc saved in crt0 */ extern char **NXArgv; /* argv saved in crt0 */ int i, j; char *c; i = *iarg; j = esize; if ( i >= 0 && i < NXArgc ) { c = NXArgv[i]; while (*c) { /* copy characters until null */ *carray++ = *c++; j--; } } for ( ; j > 0 ; j-- ) /* add any trailing blanks needed */ *carray++ = ' '; }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.