]> git.deb.at Git - pkg/abook.git/commitdiff
custom field update
authorJaakko Heinonen <jheinonen@users.sourceforge.net>
Sat, 22 Nov 2003 13:46:02 +0000 (13:46 +0000)
committerJaakko Heinonen <jheinonen@users.sourceforge.net>
Sat, 22 Nov 2003 13:46:02 +0000 (13:46 +0000)
database.c
options.c

index cf4f96632176f61604c8ffb5db5fb74b3783cfc4..add1db02ec475a8eaf312b89baf683e1f6c2cbc0 100644 (file)
@@ -524,6 +524,9 @@ assign_fieldname(const char *name, int i)
 {
        char *s;
 
+       assert(name);
+       assert(i >= 0 && i < ITEM_FIELDS);
+
        if(strcasecmp(abook_fields[i].name, name)) { /* name differs */
                /*
                 * check if we are overwriting statically allocated default
@@ -545,6 +548,8 @@ change_custom_field_name(const char *name, int n)
        int i;
        char keyname[21];
 
+       assert(name);
+
        snprintf(keyname, sizeof(keyname), "custom%d", n);
 
        for(i = CUSTOM_MIN; i <= CUSTOM_MAX; i++) {
index fb5c7a635d61e10c8340e774bf280e1766bdb555..9724103818794cc5db1075b025a5c56850347e24 100644 (file)
--- a/options.c
+++ b/options.c
@@ -283,6 +283,8 @@ opt_parse_set(buffer *b)
        return "unknown option";
 }
 
+#include "database.h" /* needed for change_custom_field_name */
+
 static char *
 opt_parse_customfield(buffer *b)
 {
@@ -298,10 +300,8 @@ opt_parse_customfield(buffer *b)
 
        memset(num, 0, sizeof(num));
 
-       if((len = (b -> ptr - p)) > sizeof(num))
-               return "invalid custom field number";
-
-       strncpy(num, p, min(sizeof(num), len));
+       len = (b -> ptr - p);
+       strncpy(num, p, min(sizeof(num) - 1, len));
        n = atoi(num);
 
        find_token_start(b);