aboutsummaryrefslogtreecommitdiff
path: root/csv.c
diff options
context:
space:
mode:
authorThomas Schmucker <ts@its1.de>2023-09-02 11:20:10 +0200
committerThomas Schmucker <ts@its1.de>2023-09-02 11:20:10 +0200
commit2ff8751874e7b3c1fc8480215d98cca3c48ea37b (patch)
tree17c0349382d48e7e7250c90c3b00b5771b9760f0 /csv.c
parent25eed0fcaca4c72bfddb71ded3930912c8e672fb (diff)
downloadlibcsv-2ff8751874e7b3c1fc8480215d98cca3c48ea37b.tar.gz
libcsv-2ff8751874e7b3c1fc8480215d98cca3c48ea37b.tar.bz2
libcsv-2ff8751874e7b3c1fc8480215d98cca3c48ea37b.zip
linter fehler/warnungen behoben und bessere Benamung verschiedener Variablen
Diffstat (limited to 'csv.c')
-rw-r--r--csv.c27
1 files changed, 6 insertions, 21 deletions
diff --git a/csv.c b/csv.c
index b68189b..0915029 100644
--- a/csv.c
+++ b/csv.c
@@ -5,7 +5,7 @@
5#include <stdlib.h> 5#include <stdlib.h>
6#include <string.h> 6#include <string.h>
7 7
8// === Compiletime Options === 8// === Compile time options ===
9 9
10#ifndef CSV_DEFAULT_DELIMITER 10#ifndef CSV_DEFAULT_DELIMITER
11# define CSV_DEFAULT_DELIMITER '"' 11# define CSV_DEFAULT_DELIMITER '"'
@@ -15,7 +15,7 @@
15# define CSV_DEFAULT_SEPARATOR ',' 15# define CSV_DEFAULT_SEPARATOR ','
16#endif 16#endif
17 17
18// === some usefull Makros === 18// === some useful Makros ===
19 19
20#define UNUSED(x) (void) (x) // mark a parameter as 'unused' 20#define UNUSED(x) (void) (x) // mark a parameter as 'unused'
21#define STR(s) #s // Stringify a Makro 21#define STR(s) #s // Stringify a Makro
@@ -32,33 +32,18 @@ const char csv_version[] = XSTR(CSV_VER_MAJOR) "." XSTR(CSV_VER_MINOR) "." XSTR(
32 32
33// === CSV-MEMORY Interface === 33// === CSV-MEMORY Interface ===
34 34
35#if ( (defined(__GNUC__) && __GNUC__ >= 5) || (defined(__clang__) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4))) )
36# define mul_overflow __builtin_mul_overflow
37#else
38static inline int
39mul_overflow(size_t a, size_t b, size_t *out)
40{
41 *out = a * b;
42 return (a != 0 && (*out / a) != b);
43}
44#endif
45
46static void * 35static void *
47csv_mem_reallocate(void *ptr, size_t number, size_t size, void *cb_arg) 36csv_mem_reallocate(void *ptr, size_t num, size_t size, void *cb_arg)
48{ 37{
49 UNUSED(cb_arg); 38 UNUSED(cb_arg);
50 39
51 size_t len = 0; 40 return reallocarray(ptr, num, size);
52 if ( number == 0 || size == 0 || mul_overflow(number, size, &len) ) {
53 return NULL;
54 }
55 return realloc(ptr, len);
56} 41}
57 42
58static void 43static void
59csv_mem_free(void *ptr, size_t number, size_t size, void *cb_arg) 44csv_mem_free(void *ptr, size_t num, size_t size, void *cb_arg)
60{ 45{
61 UNUSED(number); 46 UNUSED(num);
62 UNUSED(size); 47 UNUSED(size);
63 UNUSED(cb_arg); 48 UNUSED(cb_arg);
64 49