From: Jeroen van der Heijden Date: Wed, 26 Feb 2020 15:33:27 +0000 (+0100) Subject: Update portable strerror_r X-Git-Tag: archive/raspbian/2.0.44-1+rpi1~1^2~3^2~5^2~6^2~2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=12f6e22b2dd3e777a73dbe12a5441f26c74c5beb;p=siridb-server.git Update portable strerror_r --- diff --git a/include/siri/siri.h b/include/siri/siri.h index aa615da9..ec42665d 100644 --- a/include/siri/siri.h +++ b/include/siri/siri.h @@ -19,6 +19,14 @@ #define SIRI_MAX_SIZE_ERR_MSG 1024 #define MAX_NUMBER_DB 1024 +#if defined(__GLIBC__) +#define strerror_s(__err, __buf, __sz) \ + strerror_r(__err, __buf, __sz) +#else +#define strerror_s(__err, __buf, __sz) \ + (strerror_r(__err, __buf, __sz) == 0 ? __buf : "unexpected error") +#endif + typedef enum { SIRI_STATUS_LOADING, diff --git a/src/siri/db/shard.c b/src/siri/db/shard.c index 61ffb535..cd89df90 100644 --- a/src/siri/db/shard.c +++ b/src/siri/db/shard.c @@ -23,7 +23,6 @@ #include #include - /* max read buffer size used for reading from index file */ #define SIRIDB_SHARD_MAX_CHUNK_SZ 65536 @@ -336,7 +335,7 @@ siridb_shard_t * siridb_shard_create( { char buf[1024]; log_critical("Cannot create shard file: '%s' (%s)", - shard->fn, strerror_r(errno, buf, 1024)); + shard->fn, strerror_s(errno, buf, sizeof(buf))); siridb_shard_decref(shard); ERR_FILE return NULL; @@ -360,7 +359,7 @@ siridb_shard_t * siridb_shard_create( { char buf[1024]; log_critical("Cannot write to shard file: '%s' (%s)", - shard->fn, strerror_r(errno, buf, 1024)); + shard->fn, strerror_s(errno, buf, sizeof(buf))); fclose(fp); siridb_shard_decref(shard); ERR_FILE @@ -371,7 +370,7 @@ siridb_shard_t * siridb_shard_create( { char buf[1024]; log_critical("Cannot close shard file: '%s' (%s)", - shard->fn, strerror_r(errno, buf, 1024)); + shard->fn, strerror_s(errno, buf, sizeof(buf))); siridb_shard_decref(shard); ERR_FILE return NULL;