#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,
#include <unistd.h>
#include <xstr/xstr.h>
-
/* max read buffer size used for reading from index file */
#define SIRIDB_SHARD_MAX_CHUNK_SZ 65536
{
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;
{
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
{
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;