Minimal library that provides dynamic strings using plain C99. Convenience macros are also provided if GNU C is used.
Go to file
Xavier Del Campo Romero 909d716a1e dynstr.c: Fix memory leak if realloc(3) fails
According to C99 §7.20.3.4:

If memory for the new object cannot be allocated, the old object is not
deallocated and its value is unchanged.

Therefore, a temporary pointer must be used to ensure the original
object can still be deallocated should realloc(3) return a null pointer.
2023-03-08 01:21:16 +01:00
include Update copyright notice 2023-03-08 01:18:47 +01:00
.gitignore First commit 2020-03-19 18:40:31 +01:00
CMakeLists.txt Added license notice to CMakeLists.txt, used PROJECT_NAME 2020-07-26 14:37:57 +02:00
LICENSE First commit 2020-03-19 18:40:31 +01:00
README.md Updated README.md with dynstr_prepend example 2020-08-04 20:01:11 +02:00
dynstr.c dynstr.c: Fix memory leak if realloc(3) fails 2023-03-08 01:21:16 +01:00

README.md

dynstr

Minimal library that provides dynamic strings using plain C99. Convenience macros are also provided if GNU C is used.

Usage

#include <stdio.h>
#include "dynstr.h"

int main(const int argc, const char *argv[])
{
    struct dynstr s;

    dynstr_init(&s);
    dynstr_append(&s, "Hello");
    dynstr_append(&s, " from %s:%d\n", __func__, __LINE__);
    dynstr_prepend(&s, "Hey! ");
    printf("%s", s.str);
    dynstr_free(&s);

    return 0;
}

Output:

Hey! Hello from main:10

License

See LICENSE file.