diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/htssafe.h | 7 | ||||
-rw-r--r-- | src/httrack.c | 5 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/htssafe.h b/src/htssafe.h index 9de63a3..f938094 100644 --- a/src/htssafe.h +++ b/src/htssafe.h @@ -175,6 +175,13 @@ static HTS_UNUSED void htssafe_compile_time_check_(void) { HTS_IS_NOT_CHAR_BUFFER(B) ? (size_t) -1 : sizeof(B), \ "overflow while copying '" #B "' to '"#A"'", __FILE__, __LINE__) +/** strnlen replacement (autotools). **/ +static HTS_UNUSED size_t rpl_strnlen(const char *s, size_t maxlen) { + size_t i; + for(i = 0 ; s[i] != '\0' && i < maxlen ; i++) ; + return i; +} + static HTS_INLINE HTS_UNUSED size_t strlen_safe_(const char *source, const size_t sizeof_source, const char *file, int line) { size_t size; diff --git a/src/httrack.c b/src/httrack.c index a760300..f231db7 100644 --- a/src/httrack.c +++ b/src/httrack.c @@ -69,8 +69,9 @@ static int linput(FILE * fp, char *s, int max); #include <unistd.h> #endif #include <ctype.h> -#ifdef __linux +#if (defined(__linux) && defined(HAVE_EXECINFO_H)) #include <execinfo.h> +#define USES_BACKTRACE #endif /* END specific definitions */ @@ -878,7 +879,7 @@ static void sig_doback(int blind) { // mettre en backing #define FD_ERR 2 static void print_backtrace(void) { -#ifdef __linux +#ifdef USES_BACKTRACE void *stack[256]; const int size = backtrace(stack, sizeof(stack)/sizeof(stack[0])); if (size != 0) { |