]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
make fr_print_string return the string length
authorAlan T. DeKok <aland@freeradius.org>
Thu, 27 Jan 2011 14:33:17 +0000 (15:33 +0100)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 27 Jan 2011 14:33:17 +0000 (15:33 +0100)
src/include/libradius.h
src/lib/print.c

index 7a14ea408359fbe37a70fbdc65a3753988fda7a8..780433550cdca5de7479ef45082cbcb8fa4175e8 100644 (file)
@@ -240,7 +240,7 @@ typedef struct radius_packet {
  *     Printing functions.
  */
 int            fr_utf8_char(const uint8_t *str);
-void           fr_print_string(const char *in, size_t inlen,
+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,
                                VALUE_PAIR *vp, int delimitst);
index e122a7442e280240846e58b2229371b1a62016e2..7ea155f9f8dffeb239215f1fdc34ecba9cf4de02 100644 (file)
@@ -127,8 +127,9 @@ int fr_utf8_char(const uint8_t *str)
  *     has to be larger than the input string by at least 5 bytes.
  *     If not, the output is silently truncated...
  */
-void fr_print_string(const char *in, size_t inlen, char *out, size_t outlen)
+size_t fr_print_string(const char *in, size_t inlen, char *out, size_t outlen)
 {
+       const char      *start = out;
        const uint8_t   *str = (const uint8_t *) in;
        int             sp = 0;
        int             utf8 = 0;
@@ -193,6 +194,8 @@ void fr_print_string(const char *in, size_t inlen, char *out, size_t outlen)
                } while (--utf8 > 0);
        }
        *out = 0;
+
+       return out - start;
 }