diff options
| author | Thomas Schmucker <ts@its1.de> | 2020-07-06 09:59:13 +0200 |
|---|---|---|
| committer | Thomas Schmucker <ts@its1.de> | 2020-07-06 09:59:13 +0200 |
| commit | dab0e53da15abd57bb7cd35c4fef59a1d39af17d (patch) | |
| tree | 2bd7775500c5f85fa4ec616d657d27a2d2430fec /csv.c | |
| parent | af0761b4a1ece7a05baf1b12bce3be461e0c3914 (diff) | |
| download | libcsv-dab0e53da15abd57bb7cd35c4fef59a1d39af17d.tar.gz libcsv-dab0e53da15abd57bb7cd35c4fef59a1d39af17d.tar.bz2 libcsv-dab0e53da15abd57bb7cd35c4fef59a1d39af17d.zip | |
Versionsinformationen hinzugefügt und Headerdatei etwas aufgeräumt.
Diffstat (limited to 'csv.c')
| -rw-r--r-- | csv.c | 26 |
1 files changed, 21 insertions, 5 deletions
| @@ -5,6 +5,8 @@ | |||
| 5 | #include <stdlib.h> | 5 | #include <stdlib.h> |
| 6 | #include <string.h> | 6 | #include <string.h> |
| 7 | 7 | ||
| 8 | // === Compiletimeoptions === | ||
| 9 | |||
| 8 | #ifndef CSV_DEFAULT_DELIMITER | 10 | #ifndef CSV_DEFAULT_DELIMITER |
| 9 | # define CSV_DEFAULT_DELIMITER '"' | 11 | # define CSV_DEFAULT_DELIMITER '"' |
| 10 | #endif | 12 | #endif |
| @@ -13,7 +15,25 @@ | |||
| 13 | # define CSV_DEFAULT_SEPARATOR ',' | 15 | # define CSV_DEFAULT_SEPARATOR ',' |
| 14 | #endif | 16 | #endif |
| 15 | 17 | ||
| 16 | #if defined(__GNUC__) || defined(__clang__) | 18 | // === some usefull Makros === |
| 19 | |||
| 20 | #define UNUSED(x) (void) (sizeof((x), 0)) // mark a parameter as 'unused' | ||
| 21 | #define STR(s) #s // Stringify a Makro | ||
| 22 | #define XSTR(s) STR(s) | ||
| 23 | |||
| 24 | // === Version Information === | ||
| 25 | |||
| 26 | #define CSV_VER_MAJOR 1 | ||
| 27 | #define CSV_VER_MINOR 0 | ||
| 28 | #define CSV_VER_PATCH 0 | ||
| 29 | #define CSV_VER_APPENDIX "-dev" | ||
| 30 | |||
| 31 | // version information as described at semver.org | ||
| 32 | const char csv_version[] = XSTR(CSV_VER_MAJOR) "." XSTR(CSV_VER_MINOR) "." XSTR(CSV_VER_PATCH) CSV_VER_APPENDIX "\0" XSTR(__DATE__) "\0" XSTR(__TIME__); | ||
| 33 | |||
| 34 | // === CSV-MEMORY Interface === | ||
| 35 | |||
| 36 | #if ( (defined(__GNUC__) && __GNUC__ >= 5) || (defined(__clang__) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4))) ) | ||
| 17 | # define mul_overflow __builtin_mul_overflow | 37 | # define mul_overflow __builtin_mul_overflow |
| 18 | #else | 38 | #else |
| 19 | static inline int | 39 | static inline int |
| @@ -24,10 +44,6 @@ mul_overflow(size_t a, size_t b, size_t *out) | |||
| 24 | } | 44 | } |
| 25 | #endif | 45 | #endif |
| 26 | 46 | ||
| 27 | #define UNUSED(x) (void) (sizeof((x), 0)) | ||
| 28 | |||
| 29 | // === CSV-MEMORY Interface === | ||
| 30 | |||
| 31 | static void * | 47 | static void * |
| 32 | csv_mem_allocate(size_t n, size_t sz, void *cb_arg) | 48 | csv_mem_allocate(size_t n, size_t sz, void *cb_arg) |
| 33 | { | 49 | { |
