1*6d41907cSArnaldo Carvalho de Melo // SPDX-License-Identifier: LGPL-2.1 2*6d41907cSArnaldo Carvalho de Melo #undef _GNU_SOURCE 3*6d41907cSArnaldo Carvalho de Melo #include <string.h> 4*6d41907cSArnaldo Carvalho de Melo #include <stdio.h> 5*6d41907cSArnaldo Carvalho de Melo #include "str_error.h" 6*6d41907cSArnaldo Carvalho de Melo 7*6d41907cSArnaldo Carvalho de Melo /* 8*6d41907cSArnaldo Carvalho de Melo * Wrapper to allow for building in non-GNU systems such as Alpine Linux's musl 9*6d41907cSArnaldo Carvalho de Melo * libc, while checking strerror_r() return to avoid having to check this in 10*6d41907cSArnaldo Carvalho de Melo * all places calling it. 11*6d41907cSArnaldo Carvalho de Melo */ 12*6d41907cSArnaldo Carvalho de Melo char *str_error(int err, char *dst, int len) 13*6d41907cSArnaldo Carvalho de Melo { 14*6d41907cSArnaldo Carvalho de Melo int ret = strerror_r(err, dst, len); 15*6d41907cSArnaldo Carvalho de Melo if (ret) 16*6d41907cSArnaldo Carvalho de Melo snprintf(dst, len, "ERROR: strerror_r(%d)=%d", err, ret); 17*6d41907cSArnaldo Carvalho de Melo return dst; 18*6d41907cSArnaldo Carvalho de Melo } 19