summaryrefslogtreecommitdiff
path: root/app/dynstring
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2018-03-19 19:55:58 +0100
committerJörg Frings-Fürst <debian@jff-webhosting.net>2018-03-19 19:55:58 +0100
commitd1a8285f818eb7e5c3d6a05709ea21a808490b8c (patch)
tree326578f0505cbed07cfe60de530022822dc237ac /app/dynstring
parent16e9630b79f0a7a90c6cedb6781175bb8b337dc1 (diff)
New upstream version 5.1.0upstream/5.1.0
Diffstat (limited to 'app/dynstring')
-rw-r--r--app/dynstring/dynstring.c10
-rw-r--r--app/dynstring/dynstring.h26
2 files changed, 30 insertions, 6 deletions
diff --git a/app/dynstring/dynstring.c b/app/dynstring/dynstring.c
index 6f3159c..eb7b2c5 100644
--- a/app/dynstring/dynstring.c
+++ b/app/dynstring/dynstring.c
@@ -30,7 +30,7 @@ size_t DynStringSize(DynString *s)
}
/* An initialized empty struct string */
-#define STRINIT() (DynStringMalloc(16))
+#define STRINIT(s) (DynStringMalloc(s, 16))
/**
* Allocate memory for a string of the desired length. To optimize memory usage
@@ -430,10 +430,10 @@ void DynStringPrintf(DynString *s, const char *fmt, ...)
size_t len;
DynString nas = NaS;
- ///* Are we not a string? */
- //if (isnas(s)) {
- // *s = STRINIT();
- //}
+ /* Are we not a string? */
+ if (isnas(s)) {
+ STRINIT(s);
+ }
/* Nothing to do? */
if (!fmt) {
diff --git a/app/dynstring/dynstring.h b/app/dynstring/dynstring.h
index d6fac51..2a18409 100644
--- a/app/dynstring/dynstring.h
+++ b/app/dynstring/dynstring.h
@@ -1,13 +1,37 @@
+/** \file dynstring.h
+* Definitions and prototypes for variable length strings
+*/
+
+/* XTrkCad - Model Railroad CAD
+* Copyright (C) 2005 Dave Bullis
+*
+* This program 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 of the License, or
+* (at your option) any later version.
+*
+* This program 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 this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
#ifndef HAVE_DYNSTRING_H
#define HAVE_DYNSTRING_H
-typedef struct DynString DynString;
+#include <stddef.h>
+
struct DynString
{
char *s;
size_t size; // length of the string
size_t b_size; // length of the buffer containing the string
};
+typedef struct DynString DynString;
#define NaS {NULL, 0, 0}
#define isnas(S) (!(S)->s)