]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Make vp_print_name return size_t
authorAlan T. DeKok <aland@freeradius.org>
Mon, 17 Oct 2011 11:50:45 +0000 (13:50 +0200)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 17 Oct 2011 14:45:00 +0000 (16:45 +0200)
which makes more sense

src/include/libradius.h
src/lib/print.c

index b22544d18f1651eb45c21677892789ffcd7d18e1..fa438a0b0a0a98e61ccf5a22212fa08946e42c96 100644 (file)
@@ -256,7 +256,7 @@ size_t              fr_print_string(const char *in, size_t inlen,
                                 char *out, size_t outlen);
 int            vp_prints_value(char *out, size_t outlen,
                                const VALUE_PAIR *vp, int delimitst);
-const char     *vp_print_name(char *buffer, size_t bufsize,
+size_t         vp_print_name(char *buffer, size_t bufsize,
                               unsigned int attr, unsigned int vendor);
 int            vp_prints(char *out, size_t outlen, const VALUE_PAIR *vp);
 void           vp_print(FILE *, const VALUE_PAIR *);
index 63e54e438583e6c4398b2a146d6e1d63bab60b85..20985282fea4f56d313102d367b101c369793c7d 100644 (file)
@@ -439,14 +439,14 @@ static size_t vp_print_attr_oid(char *buffer, size_t size, unsigned int attr,
        return outlen;
 }
 
-const char *vp_print_name(char *buffer, size_t bufsize,
-                         unsigned int attr, unsigned int vendor)
+size_t vp_print_name(char *buffer, size_t bufsize,
+                    unsigned int attr, unsigned int vendor)
 {
        char *p = buffer;
        int dv_type = 1;
        size_t len = 0;
 
-       if (!buffer) return NULL;
+       if (!buffer) return 0;
        
        len = snprintf(p, bufsize, "Attr-");
        p += len;
@@ -473,9 +473,9 @@ const char *vp_print_name(char *buffer, size_t bufsize,
                bufsize -= len;
        }
 
-       vp_print_attr_oid(p, bufsize , attr, dv_type);
+       p += vp_print_attr_oid(p, bufsize , attr, dv_type);
 
-       return buffer;
+       return p - buffer;
 }
 
 
@@ -486,21 +486,10 @@ int vp_prints(char *out, size_t outlen, const VALUE_PAIR *vp)
 {
        size_t          len;
        const char      *token = NULL;
-       const char      *name;
-       char            namebuf[128];
 
        out[0] = 0;
        if (!vp) return 0;
 
-       name = vp->name;
-
-       if (!name || !*name) {
-               if (!vp_print_name(namebuf, sizeof(namebuf), vp->attribute, vp->attribute)) {
-                       return 0;
-               }
-               name = namebuf;
-       }
-
        if ((vp->operator > T_OP_INVALID) &&
            (vp->operator < T_TOKEN_LAST)) {
                token = vp_tokens[vp->operator];
@@ -510,13 +499,13 @@ int vp_prints(char *out, size_t outlen, const VALUE_PAIR *vp)
 
        if( vp->flags.has_tag ) {
                snprintf(out, outlen, "%s:%d %s ",
-                        name, vp->flags.tag, token);
+                        vp->name, vp->flags.tag, token);
 
                len = strlen(out);
                vp_prints_value(out + len, outlen - len, vp, 1);
 
        } else {
-               snprintf(out, outlen, "%s %s ", name, token);
+               snprintf(out, outlen, "%s %s ", vp->name, token);
                len = strlen(out);
                vp_prints_value(out + len, outlen - len, vp, 1);