summaryrefslogtreecommitdiff
path: root/src/util/Misc.c
diff options
context:
space:
mode:
authortradke <tradke@17b73243-c579-4c4c-a9d2-2d5706c11dac>2001-05-19 00:22:18 +0000
committertradke <tradke@17b73243-c579-4c4c-a9d2-2d5706c11dac>2001-05-19 00:22:18 +0000
commitc9f46203a720e9d9937ac30bd1943aa2adce0991 (patch)
treeb0fd0251099f74c0b3c5f9e66f64808f76da48b6 /src/util/Misc.c
parent4480eff52e8be552301c364615d61e761b7b8302 (diff)
Fixed compiler warnings.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@2193 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'src/util/Misc.c')
-rw-r--r--src/util/Misc.c687
1 files changed, 342 insertions, 345 deletions
diff --git a/src/util/Misc.c b/src/util/Misc.c
index b97c397f..b00cc070 100644
--- a/src/util/Misc.c
+++ b/src/util/Misc.c
@@ -2,9 +2,9 @@
@file Misc.c
@date Wed Jan 20 10:06:35 1999
@author Tom Goodale
- @desc
+ @desc
Miscellaneuous routines.
- @enddesc
+ @enddesc
@version $Header$
@@*/
@@ -45,19 +45,22 @@ CCTK_FILEVERSION(util_Misc_c)
********************* Local Routine Prototypes *********************
********************************************************************/
-int CCTK_RegexMatch(const char *string,
- const char *pattern,
+int CCTK_RegexMatch(const char *string,
+ const char *pattern,
const int nmatch,
- regmatch_t *pmatch);
+ regmatch_t *pmatch);
+int CCTK_SetStringInRegexList(char **data, const char *value,
+ int n_elements, ...);
+void CCTK_PrintString(const char *data);
int CCTK_FCALL CCTK_FNAME(CCTK_Equals)
(const char **arg1,ONE_FORTSTRING_ARG);
void CCTK_FCALL CCTK_FNAME(CCTK_PrintString)
- (char **arg1);
+ (const char **arg1);
void CCTK_FCALL CCTK_FNAME(CCTK_FortranString)
- (CCTK_INT *nchar,char **cstring,ONE_FORTSTRING_ARG);
+ (CCTK_INT *nchar,const char **cstring,ONE_FORTSTRING_ARG);
/********************************************************************
********************* Other Routine Prototypes *********************
@@ -75,29 +78,29 @@ void CCTK_FCALL CCTK_FNAME(CCTK_FortranString)
@routine CCTK_Equals
@date Wed Jan 20 10:25:30 1999
@author Tom Goodale
- @desc
+ @desc
Does a case independent comparison of strings.
Returns true if they are equal.
- @enddesc
- @calls
- @calledby
- @history
-
- @endhistory
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
@var string1
@vdesc First string in comparison
@vtype const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var string2
@vdesc Second string in comparison
@vtype const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@returntype int
@returndesc
@@ -118,14 +121,14 @@ int CCTK_Equals(const char *string1, const char *string2)
if (!string1 && string2)
{
CCTK_VWarn(0,__LINE__,__FILE__,"Cactus",
- "CCTK_Equals: First string null (2nd is %s)",string2);
+ "CCTK_Equals: First string null (2nd is %s)",string2);
}
else if (string1 && !string2)
- {
+ {
CCTK_VWarn(0,__LINE__,__FILE__,"Cactus",
"CCTK_Equals: Second string null (1st is %s)",string1);
- }
+ }
else
{
CCTK_Warn(0,__LINE__,__FILE__,"Cactus",
@@ -148,7 +151,7 @@ int CCTK_FCALL CCTK_FNAME(CCTK_Equals)
int retval;
ONE_FORTSTRING_CREATE(arg2)
retval = CCTK_Equals(*arg1,arg2);
- free(arg2);
+ free(arg2);
return(retval);
}
@@ -156,29 +159,29 @@ int CCTK_FCALL CCTK_FNAME(CCTK_Equals)
/*@@
@routine Util_NullTerminateString
@author Paul Walker
- @desc
- Null terminates a fortran string. Need to free the
+ @desc
+ Null terminates a fortran string. Need to free the
string it returns
@enddesc
- @calls
- @calledby
- @history
-
- @endhistory
+ @calls
+ @calledby
+ @history
+
+ @endhistory
@var instring
@vdesc String to null terminate
@vtype const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var len
@vdesc Length of string to be null terminated
@vtype unsigned int
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@returntype char *
@returndesc
@@ -186,7 +189,7 @@ int CCTK_FCALL CCTK_FNAME(CCTK_Equals)
@endreturndesc
@@*/
-char *Util_NullTerminateString(const char *instring, unsigned int len)
+char *Util_NullTerminateString(const char *instring, unsigned int len)
{
char *outstring;
unsigned int i;
@@ -214,7 +217,7 @@ char *Util_NullTerminateString(const char *instring, unsigned int len)
if (outstring)
{
- for (i=0;i<position;i++)
+ for (i=0;i<position;i++)
{
outstring[i] = instring[i];
}
@@ -228,35 +231,35 @@ char *Util_NullTerminateString(const char *instring, unsigned int len)
@routine Util_InList
@date Wed Jan 20 10:31:25 1999
@author Tom Goodale
- @desc
- Determines if a string is in a list of other strings.
- @enddesc
- @calls
- @calledby
- @history
-
- @endhistory
+ @desc
+ Determines if a string is in a list of other strings.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
@var string1
@vdesc The string to search for
@vtype const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var n_elements
@vdesc The number of elements in the list
@vtype int
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var ...
@vdesc List of strings to search.
@vtype multiple const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@returntype int
@returndesc
@@ -276,9 +279,9 @@ int Util_InList(const char *string1, int n_elements, ...)
/* Walk through the element list. */
va_start(ap, n_elements);
-
+
for(arg = 0; arg < n_elements; arg++)
- {
+ {
element = va_arg(ap, char *);
if(CCTK_Equals(string1, element))
@@ -287,41 +290,41 @@ int Util_InList(const char *string1, int n_elements, ...)
break;
}
}
-
+
va_end(ap);
return retval;
}
-
+
/*@@
@routine Util_IntInRange
@date Wed Jan 20 10:32:36 1999
@author Tom Goodale
- @desc
+ @desc
This routine will determine if an integer is in the range specified
in the range string.
- @enddesc
- @calls
- @calledby
- @history
-
- @endhistory
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
@var inval
@vdesc The value to check
@vtype int
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var range
@vdesc The range to look in
@vtype const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@returntype int
@returndesc
@@ -332,14 +335,13 @@ int Util_InList(const char *string1, int n_elements, ...)
int Util_IntInRange(int inval, const char *range)
{
int retval;
- int matched;
regmatch_t pmatch[6];
int start_closed, end_closed;
int start, end, step;
retval = 0;
- /* Valid ranges are of the form start:end:step
+ /* Valid ranges are of the form start:end:step
* possibly preceeded by a [ or ( and ended by a ) or ] to indicate
* closure. The end and step are optional. A * can also be used
* to indicate any value.
@@ -353,9 +355,9 @@ int Util_IntInRange(int inval, const char *range)
* 5 - ) or ]
*/
- if((matched = CCTK_RegexMatch(range,
- "(\\[|\\()?([^]):]*):?([^]):]*)?:?([^]):]*)?(\\]|\\))?",
- 6, pmatch)) != 0)
+ if(CCTK_RegexMatch(range,
+ "(\\[|\\()?([^]):]*):?([^]):]*)?:?([^]):]*)?(\\]|\\))?",
+ 6, pmatch) != 0)
{
/* First work out if the range is closed at the lower end. */
if(pmatch[1].rm_so != -1)
@@ -363,7 +365,7 @@ int Util_IntInRange(int inval, const char *range)
switch(range[pmatch[1].rm_so])
{
case '(' : start_closed = 0; break;
- case '[' :
+ case '[' :
default : start_closed = 1;
}
}
@@ -373,7 +375,7 @@ int Util_IntInRange(int inval, const char *range)
}
/* Next find the start of the range */
- if(pmatch[2].rm_so != -1 &&
+ if(pmatch[2].rm_so != -1 &&
(pmatch[2].rm_eo-pmatch[2].rm_so > 0) &&
range[pmatch[2].rm_so] != '*')
{
@@ -386,7 +388,7 @@ int Util_IntInRange(int inval, const char *range)
}
/* Next find the end of the range */
- if(pmatch[3].rm_so != -1 &&
+ if(pmatch[3].rm_so != -1 &&
(pmatch[3].rm_eo-pmatch[3].rm_so > 0) &&
range[pmatch[3].rm_so] != '*')
{
@@ -397,7 +399,7 @@ int Util_IntInRange(int inval, const char *range)
/* No end range given, so use the largest integer available. */
end = INT_MAX;
}
-
+
/* Next find the step of the range */
if(pmatch[4].rm_so != -1 && (pmatch[4].rm_eo-pmatch[4].rm_so > 0))
{
@@ -408,14 +410,14 @@ int Util_IntInRange(int inval, const char *range)
/* No step given, so default to 1. */
step = 1;
}
-
+
/* Finally work out if the range is closed at the upper end. */
if(pmatch[5].rm_so != -1)
{
switch(range[pmatch[5].rm_so])
{
case ')' : end_closed = 0; break;
- case ']' :
+ case ']' :
default : end_closed = 1;
}
}
@@ -423,20 +425,20 @@ int Util_IntInRange(int inval, const char *range)
{
end_closed = 1;
}
-
- if(inval >= start + !start_closed &&
+
+ if(inval >= start + !start_closed &&
inval <= end - !end_closed &&
! ((inval-start) % step))
{
retval = 1;
}
- }
+ }
else
{
CCTK_Warn(1, __LINE__, __FILE__, "Flesh", "Invalid range");
}
-
+
return retval;
}
@@ -444,29 +446,29 @@ int Util_IntInRange(int inval, const char *range)
@routine Util_DoubleInRange
@date Wed Jan 20 10:32:36 1999
@author Tom Goodale
- @desc
+ @desc
This routine will determine if a double is in the range specified
in the range string.
- @enddesc
- @calls
- @calledby
- @history
-
- @endhistory
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
@var inval
@vdesc The value to check
@vtype double
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var range
@vdesc The range to look in
@vtype const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@returntype int
@returndesc
@@ -477,17 +479,16 @@ int Util_IntInRange(int inval, const char *range)
int Util_DoubleInRange(double inval, const char *range)
{
int retval;
- int matched;
regmatch_t pmatch[6];
- int start_closed, end_closed;
double start, end;
#if 0
+ int start_closed, end_closed;
double step;
#endif
retval = 0;
- /* Valid ranges are of the form start:end:step
+ /* Valid ranges are of the form start:end:step
* possibly preceeded by a [ or ( and ended by a ) or ] to indicate
* closure. The end and step are optional. A * can also be used
* to indicate any value.
@@ -501,17 +502,18 @@ int Util_DoubleInRange(double inval, const char *range)
* 5 - ) or ]
*/
- if((matched = CCTK_RegexMatch(range,
- "(\\[|\\()?([^]):]*):?([^]):]*)?:?([^]):]*)?(\\]|\\))?",
- 6, pmatch)) != 0)
+ if(CCTK_RegexMatch(range,
+ "(\\[|\\()?([^]):]*):?([^]):]*)?:?([^]):]*)?(\\]|\\))?",
+ 6, pmatch) != 0)
{
+#if 0
/* First work out if the range is closed at the lower end. */
if(pmatch[1].rm_so != -1)
{
switch(range[pmatch[1].rm_so])
{
case '(' : start_closed = 0; break;
- case '[' :
+ case '[' :
default : start_closed = 1;
}
}
@@ -519,9 +521,10 @@ int Util_DoubleInRange(double inval, const char *range)
{
start_closed = 1;
}
+#endif
/* Next find the start of the range */
- if(pmatch[2].rm_so != -1 &&
+ if(pmatch[2].rm_so != -1 &&
(pmatch[2].rm_eo-pmatch[2].rm_so > 0) &&
range[pmatch[2].rm_so] != '*')
{
@@ -534,7 +537,7 @@ int Util_DoubleInRange(double inval, const char *range)
}
/* Next find the end of the range */
- if(pmatch[3].rm_so != -1 &&
+ if(pmatch[3].rm_so != -1 &&
(pmatch[3].rm_eo-pmatch[3].rm_so > 0) &&
range[pmatch[3].rm_so] != '*')
{
@@ -546,7 +549,7 @@ int Util_DoubleInRange(double inval, const char *range)
end = FLT_MAX;
}
-#if 0
+#if 0
/* Next find the step of the range */
if(pmatch[4].rm_so != -1 && (pmatch[4].rm_eo-pmatch[4].rm_so > 0))
{
@@ -557,15 +560,14 @@ int Util_DoubleInRange(double inval, const char *range)
/* No step given, so default to 1. */
step = 1;
}
-#endif
-
+
/* Finally work out if the range is closed at the upper end. */
if(pmatch[5].rm_so != -1)
{
switch(range[pmatch[5].rm_so])
{
case ')' : end_closed = 0; break;
- case ']' :
+ case ']' :
default : end_closed = 1;
}
}
@@ -573,20 +575,21 @@ int Util_DoubleInRange(double inval, const char *range)
{
end_closed = 1;
}
-
- if(inval >= start /*+ !start_closed */&&
+#endif
+
+ if(inval >= start /*+ !start_closed */&&
inval <= end /* - !end_closed */ /* &&
! ((inval-start) % step)*/)
{
retval = 1;
}
- }
+ }
else
{
CCTK_Warn(1, __LINE__, __FILE__, "Flesh", "Invalid range");
}
-
+
return retval;
}
@@ -595,36 +598,36 @@ int Util_DoubleInRange(double inval, const char *range)
@routine Util_IntInRangeList
@date Wed Jan 20 10:36:31 1999
@author Tom Goodale
- @desc
+ @desc
Determines if an integer is in a given list of ranges.
- @enddesc
- @calls
- @calledby
- @history
-
- @endhistory
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
@var inval
@vdesc The value to check
@vtype int
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var n_elements
@vdesc The number of elements in the list
@vtype int
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var ...
@vdesc The list of ranges to look in
@vtype multiple const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@returntype int
@returndesc
@@ -644,9 +647,9 @@ int Util_IntInRangeList(int inval, int n_elements, ...)
/* Walk through the element list. */
va_start(ap, n_elements);
-
+
for(arg = 0; arg < n_elements; arg++)
- {
+ {
element = va_arg(ap, char *);
if(Util_IntInRange(inval, element))
@@ -655,7 +658,7 @@ int Util_IntInRangeList(int inval, int n_elements, ...)
break;
}
}
-
+
va_end(ap);
return retval;
@@ -667,36 +670,36 @@ int Util_IntInRangeList(int inval, int n_elements, ...)
@routine Util_DoubleInRangeList
@date Wed Jan 20 10:36:31 1999
@author Tom Goodale
- @desc
+ @desc
Determines if a double is in a given list of ranges.
- @enddesc
- @calls
- @calledby
- @history
-
- @endhistory
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
@var inval
@vdesc The value to check
@vtype double
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var n_elements
@vdesc The number of elements in the list
@vtype int
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var ...
@vdesc The list of ranges to look in
@vtype multiple const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@returntype int
@returndesc
@@ -716,9 +719,9 @@ int Util_DoubleInRangeList(double inval, int n_elements, ...)
/* Walk through the element list. */
va_start(ap, n_elements);
-
+
for(arg = 0; arg < n_elements; arg++)
- {
+ {
element = va_arg(ap, char *);
if(Util_DoubleInRange(inval, element))
@@ -727,7 +730,7 @@ int Util_DoubleInRangeList(double inval, int n_elements, ...)
break;
}
}
-
+
va_end(ap);
return retval;
@@ -739,44 +742,44 @@ int Util_DoubleInRangeList(double inval, int n_elements, ...)
@routine CCTK_SetDoubleInRangeList
@date Thu Jan 21 09:41:21 1999
@author Tom Goodale
- @desc
+ @desc
Sets the value of a double if the desired value is in one of
the specified ranges.
- @enddesc
- @calls
- @calledby
- @history
-
- @endhistory
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
@var data
@vdesc Pointer to the value to set
@vtype CCTK_REAL *
@vio out
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var value
@vdesc The value to check
@vtype const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var n_elements
@vdesc The number of elements in the list
@vtype int
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var ...
@vdesc The list of ranges to look in
@vtype multiple const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@returntype int
@returndesc
@@ -784,7 +787,7 @@ int Util_DoubleInRangeList(double inval, int n_elements, ...)
0 - not in range in list
@endreturndesc
@@*/
-int CCTK_SetDoubleInRangeList(CCTK_REAL *data, const char *value,
+int CCTK_SetDoubleInRangeList(CCTK_REAL *data, const char *value,
int n_elements, ...)
{
int retval;
@@ -803,25 +806,25 @@ int CCTK_SetDoubleInRangeList(CCTK_REAL *data, const char *value,
* Allow various formats.
*/
strncpy(temp, value, 1000);
-
- for (p=0;p<strlen(temp);p++)
+
+ for (p=0;p<strlen(temp);p++)
{
- if (temp[p] == 'E' ||
- temp[p] == 'd' ||
- temp[p] == 'D')
+ if (temp[p] == 'E' ||
+ temp[p] == 'd' ||
+ temp[p] == 'D')
{
temp[p] = 'e';
break;
}
}
-
+
inval = atof(temp);
/* Walk through the element list. */
va_start(ap, n_elements);
-
+
for(arg = 0; arg < n_elements; arg++)
- {
+ {
element = va_arg(ap, char *);
if(Util_DoubleInRange(inval, element))
@@ -831,7 +834,7 @@ int CCTK_SetDoubleInRangeList(CCTK_REAL *data, const char *value,
break;
}
}
-
+
va_end(ap);
return retval;
@@ -841,44 +844,44 @@ int CCTK_SetDoubleInRangeList(CCTK_REAL *data, const char *value,
@routine CCTK_SetIntInRangeList
@date Thu Jan 21 10:27:26 1999
@author Tom Goodale
- @desc
+ @desc
Sets the value of an integer if the desired value is in one of
- the specified ranges.
- @enddesc
- @calls
- @calledby
- @history
-
- @endhistory
+ the specified ranges.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
@var data
@vdesc Pointer to the value to set
@vtype CCTK_INT *
@vio out
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var value
@vdesc The value to check
@vtype const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var n_elements
@vdesc The number of elements in the list
@vtype int
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var ...
@vdesc The list of ranges to look in
@vtype multiple const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@returntype int
@returndesc
@@ -886,7 +889,7 @@ int CCTK_SetDoubleInRangeList(CCTK_REAL *data, const char *value,
0 - not in range in list
@endreturndesc
@@*/
-int CCTK_SetIntInRangeList(CCTK_INT *data, const char *value,
+int CCTK_SetIntInRangeList(CCTK_INT *data, const char *value,
int n_elements, ...)
{
int retval;
@@ -900,14 +903,14 @@ int CCTK_SetIntInRangeList(CCTK_INT *data, const char *value,
retval = 1;
/* Convert the value string to an int.*/
-
+
inval = atoi(value);
/* Walk through the element list. */
va_start(ap, n_elements);
-
+
for(arg = 0; arg < n_elements; arg++)
- {
+ {
element = va_arg(ap, char *);
if(Util_IntInRange(inval, element))
@@ -917,7 +920,7 @@ int CCTK_SetIntInRangeList(CCTK_INT *data, const char *value,
break;
}
}
-
+
va_end(ap);
return retval;
@@ -927,44 +930,44 @@ int CCTK_SetIntInRangeList(CCTK_INT *data, const char *value,
@routine CCTK_SetKeywordInRangeList
@date Thu Jan 21 10:28:00 1999
@author Tom Goodale
- @desc
+ @desc
Sets the value of a keyword if the desired value is in one of
the specified ranges.
- @enddesc
- @calls
- @calledby
- @history
-
- @endhistory
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
@var data
@vdesc Pointer to the value to set
@vtype char **
@vio out
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var value
@vdesc The value to check
@vtype const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var n_elements
@vdesc The number of elements in the list
@vtype int
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var ...
@vdesc The list of ranges to look in
@vtype multiple const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@returntype int
@returndesc
@@ -972,7 +975,7 @@ int CCTK_SetIntInRangeList(CCTK_INT *data, const char *value,
0 - not in range in list
@endreturndesc
@@*/
-int CCTK_SetKeywordInRangeList(char **data, const char *value,
+int CCTK_SetKeywordInRangeList(char **data, const char *value,
int n_elements, ...)
{
int retval;
@@ -985,9 +988,9 @@ int CCTK_SetKeywordInRangeList(char **data, const char *value,
/* Walk through the element list. */
va_start(ap, n_elements);
-
+
for(arg = 0; arg < n_elements; arg++)
- {
+ {
element = va_arg(ap, char *);
if(CCTK_Equals(value, element))
@@ -1006,7 +1009,7 @@ int CCTK_SetKeywordInRangeList(char **data, const char *value,
break;
}
}
-
+
va_end(ap);
return retval;
@@ -1017,44 +1020,44 @@ int CCTK_SetKeywordInRangeList(char **data, const char *value,
@routine CCTK_SetStringInRegexList
@date Fri Apr 16 08:37:02 1999
@author Tom Goodale
- @desc
+ @desc
Sets the value of a string if it matches any of the given regular
expressions.
- @enddesc
- @calls
- @calledby
- @history
-
- @endhistory
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
@var data
@vdesc Pointer to the value to set
@vtype char **
@vio out
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var value
@vdesc The value to check
@vtype const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var n_elements
@vdesc The number of elements in the list
@vtype int
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var ...
@vdesc The list of ranges to look in
@vtype multiple const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@returntype int
@returndesc
@@ -1062,7 +1065,7 @@ int CCTK_SetKeywordInRangeList(char **data, const char *value,
0 - not in range in list
@endreturndesc
@@*/
-int CCTK_SetStringInRegexList(char **data, const char *value,
+int CCTK_SetStringInRegexList(char **data, const char *value,
int n_elements, ...)
{
int retval;
@@ -1075,9 +1078,9 @@ int CCTK_SetStringInRegexList(char **data, const char *value,
/* Walk through the element list. */
va_start(ap, n_elements);
-
+
for(arg = 0; arg < n_elements; arg++)
- {
+ {
element = va_arg(ap, char *);
if(CCTK_RegexMatch(value, element, 0, NULL))
@@ -1086,7 +1089,7 @@ int CCTK_SetStringInRegexList(char **data, const char *value,
break;
}
}
-
+
va_end(ap);
return retval;
@@ -1096,28 +1099,28 @@ int CCTK_SetStringInRegexList(char **data, const char *value,
@routine CCTK_SetString
@date Thu Jan 21 10:28:27 1999
@author Tom Goodale
- @desc
+ @desc
Sets the value of a string
- @enddesc
- @calls
- @calledby
- @history
-
- @endhistory
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
@var data
@vdesc Pointer to the value to set
@vtype char **
@vio out
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var value
@vdesc The value to check
@vtype const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@returntype int
@returndesc
@@ -1151,29 +1154,29 @@ int CCTK_SetString(char **data, const char *value)
@routine CCTK_SetBoolean
@date Thu Jan 21 10:35:11 1999
@author Tom Goodale
- @desc
+ @desc
Sets the value of a boolean to true or false according to
the value of the value string.
- @enddesc
- @calls
- @calledby
- @history
-
- @endhistory
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
@var data
@vdesc Pointer to the value to set
@vtype CCTK_INT *
@vio out
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var value
@vdesc The value to check
@vtype const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@returntype int
@returndesc
@@ -1208,46 +1211,46 @@ int CCTK_SetBoolean(CCTK_INT *data, const char *value)
@routine CCTK_RegexMatch
@date Fri Apr 16 08:40:14 1999
@author Tom Goodale
- @desc
+ @desc
Perform a regular expression match of string against pattern.
Also returns the specified number of matched substrings as
give by regexec.
- This is a modified form of the example routine given in the SGI
+ This is a modified form of the example routine given in the SGI
man page for regcomp.
- @enddesc
- @calls
- @calledby
- @history
-
- @endhistory
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
@var string
@vdesc String to match against
@vtype const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var pattern
@vdesc Regex pattern
@vtype const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var nmatch
@vdesc The size of the pmatch array
@vtype const int
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var pmatch
@vdesc Array in which to place the matches
@vtype regmatch_t
@vio out
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@returntype int
@returndesc
@@ -1256,20 +1259,20 @@ int CCTK_SetBoolean(CCTK_INT *data, const char *value)
@endreturndesc
@@*/
-int CCTK_RegexMatch(const char *string,
- const char *pattern,
+int CCTK_RegexMatch(const char *string,
+ const char *pattern,
const int nmatch,
- regmatch_t *pmatch)
+ regmatch_t *pmatch)
{
int retval;
int status;
regex_t re;
-
- if (regcomp(&re, pattern, REG_EXTENDED) == 0)
+
+ if (regcomp(&re, pattern, REG_EXTENDED) == 0)
{
status = regexec(&re, string, (size_t)nmatch, pmatch, 0);
regfree(&re);
- if (status != 0)
+ if (status != 0)
{
retval = 0; /* report error */
}
@@ -1292,28 +1295,28 @@ int CCTK_RegexMatch(const char *string,
@author Gabrielle Allen
@desc
Prints the value of a string (this is for fortran)
- @enddesc
- @calls
- @calledby
- @history
-
- @endhistory
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
@var data
@vdesc string to print
- @vtype char *
+ @vtype const char *
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@@*/
-void CCTK_PrintString(char *data)
+void CCTK_PrintString(const char *data)
{
printf("%s\n",data);
}
void CCTK_FCALL CCTK_FNAME(CCTK_PrintString)
- (char **arg1)
+ (const char **arg1)
{
CCTK_PrintString(*arg1);
}
@@ -1326,43 +1329,43 @@ void CCTK_FCALL CCTK_FNAME(CCTK_PrintString)
@desc
Change a C string into a Fortran string
@enddesc
- @calls
- @calledby
- @history
-
- @endhistory
+ @calls
+ @calledby
+ @history
+
+ @endhistory
@var nchar
@vdesc Number of characters in fortran string
@vtype CCTK_INT *
@vio out
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var cstring
@vdesc C string to be converted
@vtype char **
@vio in
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@var ONE_FORTSTRING_ARG
@vdesc Fortran string
@vtype FORTRAN string macro
@vio out
- @vcomment
-
- @endvar
+ @vcomment
+
+ @endvar
@@*/
-
-
+
+
void CCTK_FCALL CCTK_FNAME(CCTK_FortranString)
- (CCTK_INT *nchar,char **cstring,ONE_FORTSTRING_ARG)
+ (CCTK_INT *nchar,const char **cstring,ONE_FORTSTRING_ARG)
{
unsigned int i;
ONE_FORTSTRING_CREATE(fstring)
ONE_FORTSTRING_PTR(fptr)
- if (strlen(*cstring) > cctk_strlen1)
+ if (strlen(*cstring) > cctk_strlen1)
{
CCTK_VWarn (1,__LINE__,__FILE__,"Cactus",
"CCTK_FortranString: Cannot output %s to char* of length %d",
@@ -1370,7 +1373,7 @@ void CCTK_FCALL CCTK_FNAME(CCTK_FortranString)
*nchar = -1;
}
- for (i=0;i<strlen(*cstring);i++)
+ for (i=0;i<strlen(*cstring);i++)
{
fptr[i] = (*cstring)[i];
}
@@ -1386,9 +1389,3 @@ void CCTK_FCALL CCTK_FNAME(CCTK_FortranString)
free(fstring);
}
-
-
-/********************************************************************
- ********************* Local Routines *************************
- ********************************************************************/
-