]> git.proxmox.com Git - mirror_frr.git/blobdiff - lib/sbuf.c
Merge pull request #13649 from donaldsharp/unlock_the_node_or_else
[mirror_frr.git] / lib / sbuf.c
index 37c1e5283deac6ed38a7114ca94cbfa5e7cf3a7a..2762e449938b0c5c6c5ef337ba5dd32b54a2d990 100644 (file)
@@ -1,27 +1,12 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
 /*
  * Simple string buffer
  *
  * Copyright (C) 2017 Christian Franke
- *
- * This file is part of FRR.
- *
- * FRR is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2, or (at your option) any
- * later version.
- *
- * FRR is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with FRR; see the file COPYING.  If not, write to the Free
- * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
  */
 #include <zebra.h>
 
+#include "printfrr.h"
 #include "sbuf.h"
 #include "memory.h"
 
@@ -32,8 +17,8 @@ void sbuf_init(struct sbuf *dest, char *buf, size_t size)
                dest->buf = buf;
                dest->size = size;
        } else {
-               dest->buf = XMALLOC(MTYPE_TMP, 4096);
-               dest->size = 4096;
+               dest->buf = XMALLOC(MTYPE_TMP, SBUF_DEFAULT_SIZE);
+               dest->size = SBUF_DEFAULT_SIZE;
        }
 
        dest->pos = 0;
@@ -63,13 +48,12 @@ void sbuf_push(struct sbuf *buf, int indent, const char *format, ...)
        int written;
 
        if (!buf->fixed) {
-               char dummy;
                int written1, written2;
                size_t new_size;
 
-               written1 = snprintf(&dummy, 0, "%*s", indent, "");
+               written1 = indent;
                va_start(args, format);
-               written2 = vsnprintf(&dummy, 0, format, args);
+               written2 = vsnprintfrr(NULL, 0, format, args);
                va_end(args);
 
                new_size = buf->size;
@@ -93,8 +77,8 @@ void sbuf_push(struct sbuf *buf, int indent, const char *format, ...)
                buf->pos = buf->size;
 
        va_start(args, format);
-       written = vsnprintf(buf->buf + buf->pos, buf->size - buf->pos, format,
-                           args);
+       written = vsnprintfrr(buf->buf + buf->pos, buf->size - buf->pos,
+                             format, args);
        va_end(args);
 
        if (written >= 0)