Skip to content
Snippets Groups Projects
Commit 28a0e034 authored by Sylvester Joosten's avatar Sylvester Joosten
Browse files

bugfix

parent a93127fb
No related branches found
No related tags found
No related merge requests found
[submodule "nanocernlib"]
path = nanocernlib
url = https://github.com/sly2j/nanocernlib.git
...@@ -46,7 +46,8 @@ ...@@ -46,7 +46,8 @@
* Fix up potential ref to unallocated memory in thIDToken. * Fix up potential ref to unallocated memory in thIDToken.
* *
* Revision 1.4 1994/09/27 19:44:50 saw * Revision 1.4 1994/09/27 19:44:50 saw
* Add fnmatch routine from BSD. Only use when OS doesn't have it (ultrix) * Add fnmatch routine from BSD. Only use when OS doesn't have it
*(ultrix)
* *
* Revision 1.3 1994/07/21 20:40:22 saw * Revision 1.3 1994/07/21 20:40:22 saw
* In thCommas, ignore commas in quotes. Replace stderr with STDERR. * In thCommas, ignore commas in quotes. Replace stderr with STDERR.
...@@ -63,13 +64,13 @@ ...@@ -63,13 +64,13 @@
Routines used by thTest, thHist and thParm Routines used by thTest, thHist and thParm
*/ */
#include <stdio.h> #include "thUtils.h"
#include <string.h>
#include <stdlib.h>
#include "daVar.h" #include "daVar.h"
#include "th.h" #include "th.h"
#include "thInternal.h" #include "thInternal.h"
#include "thUtils.h" #include <stdio.h>
#include <stdlib.h>
#include <string.h>
daVarStatus thGetIndex(char* name, int* index, char** pptr) daVarStatus thGetIndex(char* name, int* index, char** pptr)
/* If the name has an array index, evaluate the index and return it to /* If the name has an array index, evaluate the index and return it to
...@@ -87,12 +88,14 @@ cleaned up. ...@@ -87,12 +88,14 @@ cleaned up.
int istyle; int istyle;
pbegin = nend = name + strlen(name); pbegin = nend = name + strlen(name);
if((t=strchr(name,'('))) if(t<pbegin) { if ((t = strchr(name, '(')))
if (t < pbegin) {
pbegin = t; pbegin = t;
cright = ')'; cright = ')';
istyle = -1; istyle = -1;
} }
if((t=strchr(name,'['))) if(t<pbegin) { if ((t = strchr(name, '[')))
if (t < pbegin) {
pbegin = t; pbegin = t;
cright = ']'; cright = ']';
istyle = 0; istyle = 0;
...@@ -132,12 +135,15 @@ int thComSpace(char *s,char **args) ...@@ -132,12 +135,15 @@ int thComSpace(char *s,char **args)
comma = 1; comma = 1;
while (*p != '\0') { while (*p != '\0') {
while (isspace(*p) || (!comma && *p == ',')) { while (isspace(*p) || (!comma && *p == ',')) {
if(!comma) comma = (*p == ','); if (!comma)
comma = (*p == ',');
p++; p++;
} }
if(*p == '\0') break; if (*p == '\0')
break;
args[i++] = p; args[i++] = p;
while(!isspace(*p) && *p != ',' && *p != '\0') p++; while (!isspace(*p) && *p != ',' && *p != '\0')
p++;
if (*p != '\0') { if (*p != '\0') {
comma = (*p == ','); comma = (*p == ',');
*p++ = '\0'; *p++ = '\0';
...@@ -158,8 +164,10 @@ int thCommas(char *s,char **args){ ...@@ -158,8 +164,10 @@ int thCommas(char *s,char **args){
instring = 0; instring = 0;
while (*p != 0) { while (*p != 0) {
if (instring && *p == quotechar) { if (instring && *p == quotechar) {
if(*(p+1) == quotechar) p++; if (*(p + 1) == quotechar)
else instring = 0; p++;
else
instring = 0;
} else { } else {
if (*p == ',') { if (*p == ',') {
*p = '\0'; *p = '\0';
...@@ -198,20 +206,25 @@ to signify an error. ...@@ -198,20 +206,25 @@ to signify an error.
if ((leftp = strchr(s, '('))) { if ((leftp = strchr(s, '('))) {
cright = ')'; cright = ')';
wleft = '['; wright = ']'; wleft = '[';
wright = ']';
cstyle = 1; cstyle = 1;
} else if ((leftp = strchr(s, '['))) { } else if ((leftp = strchr(s, '['))) {
cright = ']'; cright = ']';
wleft = '('; wright = ')'; wleft = '(';
wright = ')';
cstyle = 0; cstyle = 0;
} else return(NULL); } else
return (NULL);
rightp = strchr(s, cright); rightp = strchr(s, cright);
if((leftp>=rightp) || strchr(s,wleft) || strchr(s,wright)) return (NULL); if ((leftp >= rightp) || strchr(s, wleft) || strchr(s, wright))
return (NULL);
len = min(24, (rightp - leftp) - 1); len = min(24, (rightp - leftp) - 1);
strncpy(sindex, leftp + 1, len); strncpy(sindex, leftp + 1, len);
sindex[len] = 0; sindex[len] = 0;
*index = atol(sindex); *index = atol(sindex);
if(cstyle) (*index)--; if (cstyle)
(*index)--;
return (leftp); return (leftp);
} }
...@@ -229,10 +242,11 @@ Allows hex constants as INT's */ ...@@ -229,10 +242,11 @@ Allows hex constants as INT's */
p = s; p = s;
typ = TOKINT; typ = TOKINT;
while (*p != '\0') { while (*p != '\0') {
if(strchr("()[]",*p)) {/* printf("%d\n",TOKARRAY); */ return(TOKARRAY);} if (strchr("()[]", *p)) { /* printf("%d\n",TOKARRAY); */
return (TOKARRAY);
}
if (typ != TOKVAR) { if (typ != TOKVAR) {
switch(*p) switch (*p) {
{
case 'e': case 'e':
case 'E': case 'E':
if (nume > 0 || p == s) { if (nume > 0 || p == s) {
...@@ -246,13 +260,15 @@ Allows hex constants as INT's */ ...@@ -246,13 +260,15 @@ Allows hex constants as INT's */
case '+': case '+':
case '-': case '-':
break; break;
case 'x': case 'X': case 'x':
case 'X':
if (p == s || *(p - 1) != '0' || nume > 0) if (p == s || *(p - 1) != '0' || nume > 0)
typ = TOKVAR; typ = TOKVAR;
else else
nume = 1; nume = 1;
default: default:
if(!isdigit(*p)) typ = TOKVAR; if (!isdigit(*p))
typ = TOKVAR;
break; break;
} }
} }
...@@ -270,16 +286,16 @@ char *thSpaceStrip(char *s) ...@@ -270,16 +286,16 @@ char *thSpaceStrip(char *s)
p = t = s; p = t = s;
while (*s != '\0') { while (*s != '\0') {
if(*s != ' ') *t++ = *s++; if (*s != ' ')
else *s++; *t++ = *s++;
else
*s++;
} }
*t = '\0'; *t = '\0';
return (p); return (p);
} }
int thSpecial(char *line, char *default_class) int thSpecial(char* line, char* default_class) { /* Process special commands */
{ /* Process special commands */
char *s, *p; char *s, *p;
char* command; char* command;
char* arg; char* arg;
...@@ -292,21 +308,29 @@ int thSpecial(char *line, char *default_class) ...@@ -292,21 +308,29 @@ int thSpecial(char *line, char *default_class)
int i; int i;
s = line; s = line;
while(isspace(*s) && *s) s++; while (isspace(*s) && *s)
if(*s != SPECIALCHAR) return(0); /* Not a special command */ s++;
if (*s != SPECIALCHAR)
return (0); /* Not a special command */
/* Split line into command and argument */ /* Split line into command and argument */
s++; s++;
while(isspace(*s) && *s) s++; /* Skip to command */ while (isspace(*s) && *s)
if(!*s) return(1); /* Empty line */ s++; /* Skip to command */
if (!*s)
return (1); /* Empty line */
/* s now points to the command */ /* s now points to the command */
p = s + 1; p = s + 1;
while(!isspace(*p) && *p) p++; /* Skip to end of command */ while (!isspace(*p) && *p)
if(!*p) return(1); /* No argument */ p++; /* Skip to end of command */
if (!*p)
return (1); /* No argument */
command = malloc(p - s + 1); command = malloc(p - s + 1);
strncpy(command,s,p-s); command[p-s] = '\0'; strncpy(command, s, p - s);
command[p - s] = '\0';
s = p; s = p;
while(isspace(*s) && *s) s++; /* Skip to argument */ while (isspace(*s) && *s)
s++; /* Skip to argument */
if (!*s) { /* No argument */ if (!*s) { /* No argument */
free(command); free(command);
return (1); return (1);
...@@ -321,7 +345,10 @@ int thSpecial(char *line, char *default_class) ...@@ -321,7 +345,10 @@ int thSpecial(char *line, char *default_class)
*s = 0; *s = 0;
class = s + 1; class = s + 1;
s = class; s = class;
while(*s) {tolower(*s); s++;} while (*s) {
tolower(*s);
s++;
}
} else { } else {
class = default_class; class = default_class;
} /* Should probably use a table here */ } /* Should probably use a table here */
...@@ -361,7 +388,8 @@ thVarCreate(char *s, int vartype, char **classlist, daVarStruct **varpp) ...@@ -361,7 +388,8 @@ thVarCreate(char *s, int vartype, char **classlist, daVarStruct **varpp)
char* lb; char* lb;
lb = strchr(s, '['); lb = strchr(s, '[');
if (leftp) { if (leftp) {
if(lb && lb<leftp) leftp = lb; if (lb && lb < leftp)
leftp = lb;
} else } else
leftp = lb; leftp = lb;
} }
...@@ -406,17 +434,16 @@ thVarCreate(char *s, int vartype, char **classlist, daVarStruct **varpp) ...@@ -406,17 +434,16 @@ thVarCreate(char *s, int vartype, char **classlist, daVarStruct **varpp)
var.name = malloc(strlen(s) + 1); var.name = malloc(strlen(s) + 1);
strcpy(var.name, s); strcpy(var.name, s);
} else { } else {
var.name = malloc(strlen(classlist[0]) var.name = malloc(strlen(classlist[0]) + strlen(s) + 2);
+strlen(s)+2);
strcpy(var.name, classlist[0]); strcpy(var.name, classlist[0]);
strcat(var.name, "."); strcat(var.name, ".");
strcat(var.name, s); strcat(var.name, s);
} }
if(leftp) *leftp = cleft; /* Restore left paren */ if (leftp)
*leftp = cleft; /* Restore left paren */
var.size = arsize; var.size = arsize;
var.type = vartype; var.type = vartype;
switch(vartype) switch (vartype) {
{
case DAVARINT: /* How should we initialize the variables */ case DAVARINT: /* How should we initialize the variables */
var.varptr = malloc(var.size * sizeof(DAINT)); var.varptr = malloc(var.size * sizeof(DAINT));
break; break;
...@@ -442,7 +469,8 @@ thVarCreate(char *s, int vartype, char **classlist, daVarStruct **varpp) ...@@ -442,7 +469,8 @@ thVarCreate(char *s, int vartype, char **classlist, daVarStruct **varpp)
daVarLookupP(var.name, varpp); daVarLookupP(var.name, varpp);
free(var.name); free(var.name);
} else { } else {
if(leftp) *leftp = cleft; /* Restore left paren */ if (leftp)
*leftp = cleft; /* Restore left paren */
/* Already exists */ /* Already exists */
if ((*varpp)->type == vartype && (*varpp)->size == arsize) { if ((*varpp)->type == vartype && (*varpp)->size == arsize) {
/* We are OK, return */ /* We are OK, return */
...@@ -453,18 +481,21 @@ thVarCreate(char *s, int vartype, char **classlist, daVarStruct **varpp) ...@@ -453,18 +481,21 @@ thVarCreate(char *s, int vartype, char **classlist, daVarStruct **varpp)
if ((*varpp)->size != arsize || (*varpp)->type != vartype) { if ((*varpp)->size != arsize || (*varpp)->type != vartype) {
(*varpp)->type = vartype; (*varpp)->type = vartype;
(*varpp)->size = arsize; (*varpp)->size = arsize;
switch((*varpp)->type) switch ((*varpp)->type) {
{
case DAVARINT: case DAVARINT:
(*varpp)->varptr = (void *) realloc((*varpp)->varptr,arsize * sizeof(DAINT)); (*varpp)->varptr =
(void*)realloc((*varpp)->varptr, arsize * sizeof(DAINT));
break; break;
case DAVARFLOAT: case DAVARFLOAT:
(*varpp)->varptr = (void *) realloc((*varpp)->varptr,arsize * sizeof(DAFLOAT)); (*varpp)->varptr =
(void*)realloc((*varpp)->varptr, arsize * sizeof(DAFLOAT));
break; break;
case DAVARDOUBLE: case DAVARDOUBLE:
(*varpp)->varptr = (void *) realloc((*varpp)->varptr,arsize * sizeof(DADOUBLE)); (*varpp)->varptr =
(void*)realloc((*varpp)->varptr, arsize * sizeof(DADOUBLE));
case DAVARSTRING: case DAVARSTRING:
(*varpp)->varptr = (void *) realloc((*varpp)->varptr,arsize * sizeof(char *)); (*varpp)->varptr =
(void*)realloc((*varpp)->varptr, arsize * sizeof(char*));
*((char*)var.varptr) = '\0'; *((char*)var.varptr) = '\0';
break; break;
} }
...@@ -475,11 +506,8 @@ thVarCreate(char *s, int vartype, char **classlist, daVarStruct **varpp) ...@@ -475,11 +506,8 @@ thVarCreate(char *s, int vartype, char **classlist, daVarStruct **varpp)
return (S_SUCCESS); return (S_SUCCESS);
} }
#ifdef OLD #ifdef OLD
int thGetMode(char *s, enum MODES mode, enum MODES *nmode, char **blocknamep) int thGetMode(char* s, enum MODES mode, enum MODES* nmode, char** blocknamep) {
{
char* args[20]; char* args[20];
int nargs; int nargs;
enum MODES omod e; enum MODES omod e;
...@@ -491,11 +519,13 @@ int thGetMode(char *s, enum MODES mode, enum MODES *nmode, char **blocknamep) ...@@ -491,11 +519,13 @@ int thGetMode(char *s, enum MODES mode, enum MODES *nmode, char **blocknamep)
*blocknamep = 0; *blocknamep = 0;
command = s; command = s;
while(isspace(*command)) command++; while (isspace(*command))
command++;
last = command; last = command;
while(!isspace(*last) && *last) last++; while (!isspace(*last) && *last)
if(strncasecmp(command,"begin",last-command) == 0 last++;
|| strncasecmp(command,"end",last-command) == 0){ if (strncasecmp(command, "begin", last - command) == 0 ||
strncasecmp(command, "end", last - command) == 0) {
nargs = thComSpace(s, args); nargs = thComSpace(s, args);
if (nargs < 2) { if (nargs < 2) {
*nmode = M_BAD; *nmode = M_BAD;
...@@ -503,8 +533,8 @@ int thGetMode(char *s, enum MODES mode, enum MODES *nmode, char **blocknamep) ...@@ -503,8 +533,8 @@ int thGetMode(char *s, enum MODES mode, enum MODES *nmode, char **blocknamep)
} }
if (strcasecmp("test", args[1]) == 0) if (strcasecmp("test", args[1]) == 0)
*nmode = M_TES; *nmode = M_TES;
else if(strcasecmp("hist",args[1]) == 0 else if (strcasecmp("hist", args[1]) == 0 ||
|| strcasecmp("histogram",args[1]) == 0) strcasecmp("histogram", args[1]) == 0)
*nmode = M_HIS; *nmode = M_HIS;
else if (strcasecmp("parameter", args[1]) == 0) else if (strcasecmp("parameter", args[1]) == 0)
*nmode = M_PAR; *nmode = M_PAR;
...@@ -559,10 +589,8 @@ int thTokToPtr(char *token, int create, int intonly, daVarStruct *varp) ...@@ -559,10 +589,8 @@ int thTokToPtr(char *token, int create, int intonly, daVarStruct *varp)
var.rhook = 0; var.rhook = 0;
var.whook = 0; var.whook = 0;
var.opaque = 0; var.opaque = 0;
switch(toktyp) switch (toktyp) {
{ case TOKINT: {
case TOKINT:
{
register DAINT* longp; register DAINT* longp;
longp = malloc(sizeof(DAINT)); longp = malloc(sizeof(DAINT));
*longp = atol(token); *longp = atol(token);
...@@ -571,10 +599,8 @@ int thTokToPtr(char *token, int create, int intonly, daVarStruct *varp) ...@@ -571,10 +599,8 @@ int thTokToPtr(char *token, int create, int intonly, daVarStruct *varp)
var.size = 1; var.size = 1;
/* daVarRegister(token,longp,DAVARINT,1,DAVAR_READONLY);*/ /* daVarRegister(token,longp,DAVARINT,1,DAVAR_READONLY);*/
thVarRegister((int)0, &var); thVarRegister((int)0, &var);
} } break;
break; case TOKFLOAT: {
case TOKFLOAT:
{
register DAFLOAT* floatp; register DAFLOAT* floatp;
floatp = malloc(sizeof(DAFLOAT)); floatp = malloc(sizeof(DAFLOAT));
*floatp = atof(token); *floatp = atof(token);
...@@ -583,10 +609,8 @@ int thTokToPtr(char *token, int create, int intonly, daVarStruct *varp) ...@@ -583,10 +609,8 @@ int thTokToPtr(char *token, int create, int intonly, daVarStruct *varp)
var.size = 1; var.size = 1;
/* daVarRegister(token,floatp,DAVARFLOAT,1,DAVAR_READONLY);*/ /* daVarRegister(token,floatp,DAVARFLOAT,1,DAVAR_READONLY);*/
thVarRegister((int)0, &var); thVarRegister((int)0, &var);
} } break;
break; case TOKVAR: {
case TOKVAR:
{
register DAINT* longp; register DAINT* longp;
longp = malloc(sizeof(DAINT)); longp = malloc(sizeof(DAINT));
var.varptr = longp; var.varptr = longp;
...@@ -594,12 +618,12 @@ int thTokToPtr(char *token, int create, int intonly, daVarStruct *varp) ...@@ -594,12 +618,12 @@ int thTokToPtr(char *token, int create, int intonly, daVarStruct *varp)
var.size = 1; var.size = 1;
/* daVarRegister(token,intp,DAVARINT,1,DAVAR_READWRITE);*/ /* daVarRegister(token,intp,DAVARINT,1,DAVAR_READWRITE);*/
thVarRegister((int)0, &var); thVarRegister((int)0, &var);
} } break;
break; case TOKARRAY: {
case TOKARRAY:
{
/* Only create if underlying variable exists. */ /* Only create if underlying variable exists. */
char *p; int index; char leftp; char* p;
int index;
char leftp;
p = thTokenArray(token, &index); p = thTokenArray(token, &index);
leftp = *p; /* Save ( or [ character */ leftp = *p; /* Save ( or [ character */
*p = 0; *p = 0;
...@@ -607,20 +631,18 @@ int thTokToPtr(char *token, int create, int intonly, daVarStruct *varp) ...@@ -607,20 +631,18 @@ int thTokToPtr(char *token, int create, int intonly, daVarStruct *varp)
if (lookstat != S_SUCCESS) if (lookstat != S_SUCCESS)
lookstat = thVarLookup(token, &var); lookstat = thVarLookup(token, &var);
if (lookstat == S_SUCCESS && intonly && (var.type != DAVARINT)) { if (lookstat == S_SUCCESS && intonly && (var.type != DAVARINT)) {
fprintf(STDERR, fprintf(STDERR, "Array %s must be a preregistered LONGINT array.\n",
"Array %s must be a preregistered LONGINT array.\n",token); token);
return (S_FAILURE); return (S_FAILURE);
} else { } else {
if (index >= var.size) { if (index >= var.size) {
fprintf(STDERR, fprintf(STDERR, "Index %d exceeds %s array length of %d\n", index,
"Index %d exceeds %s array length of %d\n",index,
token, var.size); token, var.size);
return (S_FAILURE); return (S_FAILURE);
} }
} }
*p = leftp; *p = leftp;
switch(var.type) switch (var.type) {
{
case DAVARINT: case DAVARINT:
var.varptr = (int*)(var.varptr) + index; var.varptr = (int*)(var.varptr) + index;
var.type = DAVARINT; var.type = DAVARINT;
...@@ -633,8 +655,7 @@ int thTokToPtr(char *token, int create, int intonly, daVarStruct *varp) ...@@ -633,8 +655,7 @@ int thTokToPtr(char *token, int create, int intonly, daVarStruct *varp)
break; break;
default: default:
*p = 0; *p = 0;
fprintf(STDERR,"Illegal type %d for variable %s\n" fprintf(STDERR, "Illegal type %d for variable %s\n", var.type, token);
,var.type,token);
return (S_FAILURE); return (S_FAILURE);
} }
break; break;
...@@ -655,12 +676,12 @@ int thTokToPtr(char *token, int create, int intonly, daVarStruct *varp) ...@@ -655,12 +676,12 @@ int thTokToPtr(char *token, int create, int intonly, daVarStruct *varp)
return (S_SUCCESS); return (S_SUCCESS);
} }
#endif #endif
int thCleanLine(char *s) int thCleanLine(char* s) {
{
int blank; int blank;
blank = 1; blank = 1;
while (*s != 0) { while (*s != 0) {
if(isspace(*s)) *s = ' '; /* Remove tabs, ... */ if (isspace(*s))
*s = ' '; /* Remove tabs, ... */
else if (*s == COMCHAR) { else if (*s == COMCHAR) {
*s = 0; *s = 0;
break; break;
...@@ -691,13 +712,11 @@ int thCleanLine(char *s) ...@@ -691,13 +712,11 @@ int thCleanLine(char *s)
} }
return(d); return(d);
}*/ }*/
int argtoInt(daVarStruct *x) int argtoInt(daVarStruct* x) {
{
DAINT l; DAINT l;
DAFLOAT d; DAFLOAT d;
switch(x->type) switch (x->type) {
{
case DAVARINT: case DAVARINT:
l = *(DAINT*)x->varptr; l = *(DAINT*)x->varptr;
break; break;
...@@ -716,7 +735,6 @@ int argtoInt(daVarStruct *x) ...@@ -716,7 +735,6 @@ int argtoInt(daVarStruct *x)
return (l); return (l);
} }
/* /*
strstr - public-domain implementation of standard C library function strstr - public-domain implementation of standard C library function
...@@ -746,14 +764,14 @@ int argtoInt(daVarStruct *x) ...@@ -746,14 +764,14 @@ int argtoInt(daVarStruct *x)
#define ZAP #define ZAP
#endif #endif
#include <stddef.h> /* defines size_t and NULL */
#include <limits.h> /* defines UCHAR_MAX */ #include <limits.h> /* defines UCHAR_MAX */
#include <stddef.h> /* defines size_t and NULL */
#ifdef ZAP #ifdef ZAP
typedef void* pointer; typedef void* pointer;
/* Not clear why we need to do this at all */ /* Not clear why we need to do this at all */
#ifndef linux #ifndef linux
extern pointer memset( pointer, int, size_t ); // extern pointer memset( pointer, int, size_t );
#endif #endif
#endif #endif
...@@ -818,7 +836,8 @@ strcasestr(const char *s1, const char *s2 ) ...@@ -818,7 +836,8 @@ strcasestr(const char *s1, const char *s2 )
c = UCHAR_MAX; c = UCHAR_MAX;
do do
if(!isupper(c)) shift[c] = m - shift[c]; if (!isupper(c))
shift[c] = m - shift[c];
while (--c > 0); while (--c > 0);
/* Note: shift[0] is still undefined at this point. */ /* Note: shift[0] is still undefined at this point. */
...@@ -830,10 +849,8 @@ strcasestr(const char *s1, const char *s2 ) ...@@ -830,10 +849,8 @@ strcasestr(const char *s1, const char *s2 )
/* Try to find the pattern in the text string: */ /* Try to find the pattern in the text string: */
for ( top = tx = (cuc *)s1; ; tx += shift[tolower(*(top = t))] ) for (top = tx = (cuc*)s1;; tx += shift[tolower(*(top = t))]) {
{ for (t = tx, p = (cuc*)s2;; ++t, ++p) {
for ( t = tx, p = (cuc *)s2; ; ++t, ++p )
{
if (*p == EOS) /* entire pattern matched */ if (*p == EOS) /* entire pattern matched */
return (char*)tx; return (char*)tx;
...@@ -849,13 +866,11 @@ strcasestr(const char *s1, const char *s2 ) ...@@ -849,13 +866,11 @@ strcasestr(const char *s1, const char *s2 )
if (*t == EOS) if (*t == EOS)
return NULL; /* no match */ return NULL; /* no match */
} } while (++t - tx != m); /* < */
while ( ++t - tx != m ); /* < */
} }
} }
void thAddVarToList(daVarStructList **head, daVarStruct *varp) void thAddVarToList(daVarStructList** head, daVarStruct* varp) {
{
daVarStructList* nextptr; daVarStructList* nextptr;
if (head == 0) { if (head == 0) {
...@@ -927,9 +942,7 @@ static char sccsid[] = "@(#)fnmatch.c 8.2 (Berkeley) 4/16/94"; ...@@ -927,9 +942,7 @@ static char sccsid[] = "@(#)fnmatch.c 8.2 (Berkeley) 4/16/94";
/*static const char *rangematch __P((const char *, int, int));*/ /*static const char *rangematch __P((const char *, int, int));*/
static const char* rangematch(const char*, int, int); static const char* rangematch(const char*, int, int);
int int fnmatch(pattern, string, flags) const char *pattern, *string;
fnmatch(pattern, string, flags)
const char *pattern, *string;
int flags; int flags;
{ {
const char* stringstart; const char* stringstart;
...@@ -964,8 +977,7 @@ fnmatch(pattern, string, flags) ...@@ -964,8 +977,7 @@ fnmatch(pattern, string, flags)
/* Optimize for pattern with * at end or before /. */ /* Optimize for pattern with * at end or before /. */
if (c == EOS) if (c == EOS)
if (flags & FNM_PATHNAME) if (flags & FNM_PATHNAME)
return (strchr(string, '/') == NULL ? return (strchr(string, '/') == NULL ? 0 : FNM_NOMATCH);
0 : FNM_NOMATCH);
else else
return (0); return (0);
else if (c == '/' && flags & FNM_PATHNAME) { else if (c == '/' && flags & FNM_PATHNAME) {
...@@ -988,8 +1000,7 @@ fnmatch(pattern, string, flags) ...@@ -988,8 +1000,7 @@ fnmatch(pattern, string, flags)
return (FNM_NOMATCH); return (FNM_NOMATCH);
if (*string == '/' && flags & FNM_PATHNAME) if (*string == '/' && flags & FNM_PATHNAME)
return (FNM_NOMATCH); return (FNM_NOMATCH);
if ((pattern = if ((pattern = rangematch(pattern, *string, flags)) == NULL)
rangematch(pattern, *string, flags)) == NULL)
return (FNM_NOMATCH); return (FNM_NOMATCH);
++string; ++string;
break; break;
...@@ -1009,9 +1020,7 @@ fnmatch(pattern, string, flags) ...@@ -1009,9 +1020,7 @@ fnmatch(pattern, string, flags)
/* NOTREACHED */ /* NOTREACHED */
} }
static const char * static const char* rangematch(pattern, test, flags) const char* pattern;
rangematch(pattern, test, flags)
const char *pattern;
int test, flags; int test, flags;
{ {
int negate, ok; int negate, ok;
...@@ -1032,8 +1041,7 @@ rangematch(pattern, test, flags) ...@@ -1032,8 +1041,7 @@ rangematch(pattern, test, flags)
c = *pattern++; c = *pattern++;
if (c == EOS) if (c == EOS)
return (NULL); return (NULL);
if (*pattern == '-' if (*pattern == '-' && (c2 = *(pattern + 1)) != EOS && c2 != ']') {
&& (c2 = *(pattern+1)) != EOS && c2 != ']') {
pattern += 2; pattern += 2;
if (c2 == '\\' && !(flags & FNM_NOESCAPE)) if (c2 == '\\' && !(flags & FNM_NOESCAPE))
c2 = *pattern++; c2 = *pattern++;
......
Subproject commit 60d4533ecaff8a49e71981f7c419fdd910a9e767
...@@ -445,7 +445,7 @@ CGAW B_field_z(iz,ir) = 0.0 ...@@ -445,7 +445,7 @@ CGAW B_field_z(iz,ir) = 0.0
* *
SUBROUTINE trgDeriv(u,dudt,spect) SUBROUTINE trgDeriv(u,dudt,spect)
IMPLICIT NONE IMPLICIT NONE
REAL*8 u(9),dudt(9) REAL*8 u(6),dudt(9)
* -- calculate the derivatives du(i)/dt for the runke kutta routine * -- calculate the derivatives du(i)/dt for the runke kutta routine
* *
* Parameter: * Parameter:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment