Back to index

radiance  4R0+20100331
Defines | Functions | Variables
gcomp.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include "rterror.h"
#include "meta.h"
#include "mgvars.h"

Go to the source code of this file.

Defines

#define istyp(s)   (s[0] == '-')
#define isvar(s)   (s[0] == '+')

Functions

static void dofile (int optc, char *optv[], char *file)
int main (int argc, char *argv[])
void eputs (char *msg)
void quit (int code)

Variables

static const char RCSid [] = "$Id: gcomp.c,v 1.3 2003/11/15 02:13:37 schorsch Exp $"
char * progname
char * libpath [4]

Define Documentation

#define istyp (   s)    (s[0] == '-')

Definition at line 19 of file gcomp.c.

#define isvar (   s)    (s[0] == '+')

Definition at line 21 of file gcomp.c.


Function Documentation

void dofile ( int  optc,
char *  optv[],
char *  file 
) [static]

Definition at line 65 of file gcomp.c.

{
       char  types[16], stmp[256], *strcat();
       int  i;

       mgclearall();

       mgload(file);

       types[0] = '\0';
       for (i = 0; i < optc; i++)
              if (istyp(optv[i]))
                     strcat(types, optv[i]+1);
              else {
                     sprintf(stmp, "%s=%s", optv[i]+1, optv[i+1]);
                     setmgvar("command line", stdin, stmp);
                     i++;
              }

       gcalc(types);
}

Here is the call graph for this function:

Here is the caller graph for this function:

void eputs ( char *  msg)

Definition at line 93 of file gcomp.c.

{
       fputs(msg, stderr);
}
int main ( int  argc,
char *  argv[] 
)

Definition at line 30 of file gcomp.c.

{
       char  *getenv();
       int  i, file0;

       progname = argv[0];
       libpath[0] = "./";
       if ((libpath[i=1] = getenv("MDIR")) != NULL)
              i++;
       libpath[i++] = MDIR;
       libpath[i] = NULL;

       for (file0 = 1; file0 < argc; )
              if (istyp(argv[file0]))
                     file0++;
              else if (isvar(argv[file0]) && file0 < argc-1)
                     file0 += 2;
              else
                     break;

       if (file0 >= argc)
              dofile(argc-1, argv+1, NULL);
       else
              for (i = file0; i < argc; i++)
                     dofile(file0-1, argv+1, argv[i]);

       quit(0);
       return 0; /* pro forma return */
}

Here is the call graph for this function:

void quit ( int  code)

Definition at line 102 of file gcomp.c.

{
       exit(code);
}

Variable Documentation

char* libpath[4]

Definition at line 25 of file gcomp.c.

char* progname

Definition at line 23 of file gcomp.c.

const char RCSid[] = "$Id: gcomp.c,v 1.3 2003/11/15 02:13:37 schorsch Exp $" [static]

Definition at line 2 of file gcomp.c.