| 12 |
|
#include <stdio.h> |
| 13 |
|
#include <stdlib.h> |
| 14 |
|
#include <math.h> |
| 15 |
+ |
#include <string.h> |
| 16 |
|
#include <ctype.h> |
| 17 |
|
|
| 18 |
|
#include "rtprocess.h" |
| 19 |
< |
#include "rtmisc.h" |
| 19 |
> |
#include "rterror.h" |
| 20 |
|
#include "rtio.h" |
| 21 |
+ |
#include "calcomp.h" |
| 22 |
|
#include "mgvars.h" |
| 23 |
|
|
| 24 |
|
#define MAXLINE 512 |
| 25 |
|
|
| 24 |
– |
#define isid(c) (isalnum(c) || (c) == '_' || (c) == '.') |
| 25 |
– |
|
| 26 |
|
#define isnum(c) (isdigit(c)||(c)=='-'||(c)=='+'||(c)=='.'||(c)=='e'||(c)=='E') |
| 27 |
|
|
| 28 |
< |
char *findfile(); |
| 28 |
> |
static void mgprint(register VARIABLE *vp, FILE *fp); |
| 29 |
> |
static void setivar(char *vname, char *fname, char *definition); |
| 30 |
> |
static char *findfile(char *fname, register char **pathlist); |
| 31 |
> |
static void loaddata(char *fname, FILE *fp, register DARRAY *dp); |
| 32 |
> |
static void undefine(register VARIABLE *vp); |
| 33 |
|
|
| 34 |
< |
extern char *progname, *libpath[]; |
| 34 |
> |
extern char *progname, *libpath[]; |
| 35 |
|
|
| 32 |
– |
#ifdef DCL_ATOF |
| 33 |
– |
double atof(); |
| 34 |
– |
#endif |
| 35 |
– |
|
| 36 |
|
IVAR *ivhead = NULL; /* intermediate variables */ |
| 37 |
|
|
| 38 |
|
VARIABLE gparam[NVARS] = { /* standard variables */ |
| 142 |
|
}; |
| 143 |
|
|
| 144 |
|
|
| 145 |
< |
mgclearall() /* clear all variable settings */ |
| 145 |
> |
void |
| 146 |
> |
mgclearall(void) /* clear all variable settings */ |
| 147 |
|
{ |
| 148 |
|
int j; |
| 149 |
|
register IVAR *iv; |
| 168 |
|
} |
| 169 |
|
|
| 170 |
|
|
| 171 |
< |
mgload(file) /* load a file */ |
| 172 |
< |
char *file; |
| 171 |
> |
void |
| 172 |
> |
mgload( /* load a file */ |
| 173 |
> |
char *file |
| 174 |
> |
) |
| 175 |
|
{ |
| 176 |
|
FILE *fp; |
| 177 |
|
char sbuf[MAXLINE], *fgets(); |
| 238 |
|
} |
| 239 |
|
|
| 240 |
|
|
| 241 |
< |
mgsave(file) /* save our variables */ |
| 242 |
< |
char *file; |
| 241 |
> |
void |
| 242 |
> |
mgsave( /* save our variables */ |
| 243 |
> |
char *file |
| 244 |
> |
) |
| 245 |
|
{ |
| 246 |
|
FILE *fp; |
| 247 |
|
int j; |
| 271 |
|
} |
| 272 |
|
|
| 273 |
|
|
| 274 |
< |
setmgvar(fname, fp, string) /* set a variable */ |
| 275 |
< |
char *fname; |
| 276 |
< |
FILE *fp; |
| 277 |
< |
char *string; |
| 274 |
> |
void |
| 275 |
> |
setmgvar( /* set a variable */ |
| 276 |
> |
char *fname, |
| 277 |
> |
FILE *fp, |
| 278 |
> |
char *string |
| 279 |
> |
) |
| 280 |
|
{ |
| 281 |
|
char name[128]; |
| 282 |
|
FILE *fp2; |
| 366 |
|
} |
| 367 |
|
|
| 368 |
|
|
| 369 |
< |
setivar(vname, fname, definition) /* set an intermediate variable */ |
| 370 |
< |
char *vname; |
| 371 |
< |
char *fname; |
| 372 |
< |
char *definition; |
| 369 |
> |
static void |
| 370 |
> |
setivar( /* set an intermediate variable */ |
| 371 |
> |
char *vname, |
| 372 |
> |
char *fname, |
| 373 |
> |
char *definition |
| 374 |
> |
) |
| 375 |
|
{ |
| 376 |
|
IVAR ivbeg; |
| 377 |
|
register IVAR *iv; |
| 396 |
|
} |
| 397 |
|
|
| 398 |
|
|
| 399 |
< |
mgtoa(s, vp) /* get a variable's value in ascii form */ |
| 400 |
< |
register char *s; |
| 401 |
< |
VARIABLE *vp; |
| 399 |
> |
void |
| 400 |
> |
mgtoa( /* get a variable's value in ascii form */ |
| 401 |
> |
register char *s, |
| 402 |
> |
VARIABLE *vp |
| 403 |
> |
) |
| 404 |
|
{ |
| 405 |
|
register char *sv; |
| 406 |
|
|
| 428 |
|
} |
| 429 |
|
|
| 430 |
|
|
| 431 |
< |
mgprint(vp, fp) /* print a variable definition */ |
| 432 |
< |
register VARIABLE *vp; |
| 433 |
< |
FILE *fp; |
| 431 |
> |
static void |
| 432 |
> |
mgprint( /* print a variable definition */ |
| 433 |
> |
register VARIABLE *vp, |
| 434 |
> |
FILE *fp |
| 435 |
> |
) |
| 436 |
|
{ |
| 437 |
|
register int i; |
| 438 |
|
|
| 468 |
|
} |
| 469 |
|
|
| 470 |
|
|
| 471 |
< |
undefine(vp) /* undefine a variable */ |
| 472 |
< |
register VARIABLE *vp; |
| 471 |
> |
static void |
| 472 |
> |
undefine( /* undefine a variable */ |
| 473 |
> |
register VARIABLE *vp |
| 474 |
> |
) |
| 475 |
|
{ |
| 476 |
|
if (vp == NULL || !(vp->flags & DEFINED)) |
| 477 |
|
return; |
| 513 |
|
} |
| 514 |
|
|
| 515 |
|
|
| 516 |
< |
loaddata(fname, fp, dp) /* load data from a stream */ |
| 517 |
< |
char *fname; |
| 518 |
< |
FILE *fp; |
| 519 |
< |
register DARRAY *dp; |
| 516 |
> |
static void |
| 517 |
> |
loaddata( /* load data from a stream */ |
| 518 |
> |
char *fname, |
| 519 |
> |
FILE *fp, |
| 520 |
> |
register DARRAY *dp |
| 521 |
> |
) |
| 522 |
|
{ |
| 523 |
|
char sbuf[MAXLINE], *fgets(); |
| 524 |
|
register char *cp; |
| 550 |
|
} |
| 551 |
|
|
| 552 |
|
|
| 553 |
< |
char * |
| 554 |
< |
findfile(fname, pathlist) /* find the file fname, return full path */ |
| 555 |
< |
char *fname; |
| 556 |
< |
register char **pathlist; |
| 553 |
> |
static char * |
| 554 |
> |
findfile( /* find the file fname, return full path */ |
| 555 |
> |
char *fname, |
| 556 |
> |
register char **pathlist |
| 557 |
> |
) |
| 558 |
|
{ |
| 559 |
|
static char ffname[128]; |
| 542 |
– |
char *strcpy(), *strcat(); |
| 560 |
|
register int fd; |
| 561 |
|
|
| 562 |
|
if (fname[0] == '/') |
| 576 |
|
|
| 577 |
|
|
| 578 |
|
int |
| 579 |
< |
mgcurve(c, f) /* get a curve's (unmapped) values */ |
| 580 |
< |
int c; |
| 581 |
< |
int (*f)(); |
| 579 |
> |
mgcurve( /* get a curve's (unmapped) values */ |
| 580 |
> |
int c, |
| 581 |
> |
int (*f)() |
| 582 |
> |
) |
| 583 |
|
{ |
| 584 |
|
int nargs; |
| 585 |
|
double x[2], step; |
| 586 |
|
register VARIABLE *cv; |
| 587 |
|
register float *p; |
| 588 |
< |
register int npts; |
| 588 |
> |
register int npts = 0; |
| 589 |
|
|
| 590 |
|
if (c < 0 || c >= MAXCUR) |
| 591 |
|
return(-1); |