Fix warnings on FreeBSD

This commit is contained in:
Ulrich Wilkens
2018-06-01 03:55:10 +02:00
committed by Jon Trulson
parent 885b65a09a
commit 297b6bd845
65 changed files with 342 additions and 269 deletions

View File

@@ -117,6 +117,7 @@ USE_GCC = UseGcc
#define HasMakefileSafeInclude YES
#define IncludeMakefile(file) HASH_SIGN dependencies are in .depend
#define DependFileName .depend
#define DependDefines -D__cplusplus
#if OSMajorVersion < 3
#if OSMinorVersion < 2
#ifndef ExtraLibraries

View File

@@ -81,6 +81,7 @@
#include "ifparser.h"
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
@@ -201,7 +202,7 @@ parse_value (g, cp, valp)
const char *cp;
long *valp;
{
const char *var;
const char *var, *varend;
*valp = 0;
@@ -228,6 +229,16 @@ parse_value (g, cp, valp)
*valp = -(*valp);
return cp;
case '+':
DO (cp = parse_value (g, cp + 1, valp));
*valp = +(*valp);
return cp;
case '~':
DO (cp = parse_value (g, cp + 1, valp));
*valp = ~(*valp);
return cp;
case '#':
DO (cp = parse_variable (g, cp + 1, &var));
SKIPSPACE (cp);
@@ -276,7 +287,24 @@ parse_value (g, cp, valp)
return CALLFUNC(g, handle_error) (g, cp, "variable or number");
else {
DO (cp = parse_variable (g, cp, &var));
*valp = (*(g->funcs.eval_variable)) (g, var, cp - var);
varend = cp;
SKIPSPACE(cp);
if (*cp != '(') {
*valp = (*(g->funcs.eval_variable)) (g, var, varend - var);
} else {
do {
long dummy;
DO (cp = ParseIfExpression (g, cp + 1, &dummy));
SKIPSPACE(cp);
if (*cp == ')')
break;
if (*cp != ',')
return CALLFUNC(g, handle_error) (g, cp, ",");
} while (1);
*valp = 1; /* XXX */
cp++;
}
}
return cp;
@@ -464,7 +492,7 @@ parse_band (g, cp, valp)
static const char *
parse_bor (g, cp, valp)
parse_bxor (g, cp, valp)
IfParser *g;
const char *cp;
long *valp;
@@ -474,6 +502,27 @@ parse_bor (g, cp, valp)
DO (cp = parse_band (g, cp, valp));
SKIPSPACE (cp);
switch (*cp) {
case '^':
DO (cp = parse_bxor (g, cp + 1, &rightval));
*valp = (*valp ^ rightval);
break;
}
return cp;
}
static const char *
parse_bor (g, cp, valp)
IfParser *g;
const char *cp;
long *valp;
{
long rightval;
DO (cp = parse_bxor (g, cp, valp));
SKIPSPACE (cp);
switch (*cp) {
case '|':
if (cp[1] != '|') {