aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cfg.c24
-rw-r--r--evaluator.c13
2 files changed, 27 insertions, 10 deletions
diff --git a/cfg.c b/cfg.c
index 66dbd98..f0e483a 100644
--- a/cfg.c
+++ b/cfg.c
@@ -1,4 +1,4 @@
-/* $Id: cfg.c,v 1.47 2005/05/08 04:32:43 reinelt Exp $^
+/* $Id: cfg.c,v 1.48 2006/01/30 12:53:07 reinelt Exp $^
*
* config file stuff
*
@@ -23,6 +23,9 @@
*
*
* $Log: cfg.c,v $
+ * Revision 1.48 2006/01/30 12:53:07 reinelt
+ * replaced strncpy with strcpy where possible
+ *
* Revision 1.47 2005/05/08 04:32:43 reinelt
* CodingStyle added and applied
*
@@ -334,6 +337,7 @@ static char *strip(char *s, const int strip_comments)
while (isblank(*s))
s++;
+
for (p = s; *p; p++) {
if (*p == '"')
do
@@ -348,8 +352,10 @@ static char *strip(char *s, const int strip_comments)
break;
}
}
+
for (p--; p > s && isblank(*p); p--)
*p = '\0';
+
return s;
}
@@ -452,9 +458,9 @@ static void cfg_add(const char *section, const char *key, const char *val, const
int cfg_cmd(const char *arg)
{
char *key, *val;
- char buffer[256];
+ char *buffer;
- strncpy(buffer, arg, sizeof(buffer));
+ buffer = strdup (arg);
key = strip(buffer, 0);
for (val = key; *val; val++) {
if (*val == '=') {
@@ -462,11 +468,19 @@ int cfg_cmd(const char *arg)
break;
}
}
- if (*key == '\0' || *val == '\0')
+ if (*key == '\0' || *val == '\0') {
+ free (buffer);
return -1;
- if (!validchars(key))
+ }
+
+ if (!validchars(key)) {
+ free (buffer);
return -1;
+ }
+
cfg_add("", key, val, 1);
+
+ free (buffer);
return 0;
}
diff --git a/evaluator.c b/evaluator.c
index 86235a1..d22bbfa 100644
--- a/evaluator.c
+++ b/evaluator.c
@@ -1,4 +1,4 @@
-/* $Id: evaluator.c,v 1.29 2006/01/30 06:11:36 reinelt Exp $
+/* $Id: evaluator.c,v 1.30 2006/01/30 12:53:08 reinelt Exp $
*
* expression evaluation
*
@@ -23,6 +23,9 @@
*
*
* $Log: evaluator.c,v $
+ * Revision 1.30 2006/01/30 12:53:08 reinelt
+ * replaced strncpy with strcpy where possible
+ *
* Revision 1.29 2006/01/30 06:11:36 reinelt
* changed Result->length to Result->size
*
@@ -377,10 +380,10 @@ RESULT *SetResult(RESULT ** result, const int type, const void *value)
if ((*result)->string)
free((*result)->string);
/* allocate memory in multiples of CHUNK_SIZE */
- (*result)->size = CHUNK_SIZE * (len / CHUNK_SIZE + 1);
+ (*result)->size = CHUNK_SIZE * ((len+1) / CHUNK_SIZE + 1);
(*result)->string = malloc((*result)->size);
}
- strncpy((*result)->string, value, (*result)->size);
+ strcpy((*result)->string, value);
} else {
error("Evaluator: internal error: invalid result type %d", type);
return NULL;
@@ -413,7 +416,7 @@ static RESULT *CopyResult(RESULT ** result, RESULT * value)
(*result)->size = value->size;
(*result)->string = malloc((*result)->size);
}
- strncpy((*result)->string, value->string, (*result)->size);
+ strcpy((*result)->string, value->string);
}
return *result;
}
@@ -1315,7 +1318,7 @@ int Eval(void *tree, RESULT * result)
if (result->size > 0) {
result->string = malloc(result->size);
if (Tree->Result->string != NULL) {
- strncpy(result->string, Tree->Result->string, result->size);
+ strcpy(result->string, Tree->Result->string);
} else
result->string[0] = '\0';
} else {