diff options
| -rw-r--r-- | configure.ac | 2 | ||||
| -rw-r--r-- | src/logging.c | 2 | ||||
| -rw-r--r-- | src/pseudotalloc/pseudotalloc.c | 16 | ||||
| -rw-r--r-- | src/pseudotalloc/talloc.h | 3 | ||||
| -rw-r--r-- | src/timer_clockgettime.c | 5 | 
5 files changed, 28 insertions, 0 deletions
| diff --git a/configure.ac b/configure.ac index cb580a37..dd5f15bc 100644 --- a/configure.ac +++ b/configure.ac @@ -91,6 +91,8 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([char foo;])],  CFLAGS="$saved_CFLAGS"  AC_SUBST(SYMBOL_VISIBILITY) +AC_CHECK_FUNCS(clock_gettime localtime_r) +  AC_DEFUN([CHECK_TM_INCLUDES_TM_GMTOFF], [    AC_CACHE_CHECK(      [whether struct tm has tm_gmtoff member], diff --git a/src/logging.c b/src/logging.c index 147b1fb7..1dfd4847 100644 --- a/src/logging.c +++ b/src/logging.c @@ -356,6 +356,7 @@ static void _output(struct log_target *target, unsigned int subsys,  	}  	if (!cont) {  		if (target->print_ext_timestamp) { +#ifdef HAVE_LOCALTIME_R  			struct tm tm;  			struct timeval tv;  			osmo_gettimeofday(&tv, NULL); @@ -367,6 +368,7 @@ static void _output(struct log_target *target, unsigned int subsys,  			if (ret < 0)  				goto err;  			OSMO_SNPRINTF_RET(ret, rem, offset, len); +#endif  		} else if (target->print_timestamp) {  			char *timestr;  			time_t tm; diff --git a/src/pseudotalloc/pseudotalloc.c b/src/pseudotalloc/pseudotalloc.c index 2a990663..89e62696 100644 --- a/src/pseudotalloc/pseudotalloc.c +++ b/src/pseudotalloc/pseudotalloc.c @@ -96,3 +96,19 @@ char *talloc_asprintf(const void *ctx, const char *fmt, ...)  	va_end(args);  	return buf;  } + +void *talloc_steal(const void *new_ctx, const void *obj) +{ +	/* as we don't do hierarchical allocations, this is simply a NOP */ +	return (void *)obj; +} + +char *talloc_vasprintf(const void *t, const char *fmt, va_list ap) +{ +	/* we have a hard-coded maximum string length of 128 bytes in this pseudo implementation */ +	char *buf = pseudotalloc_malloc(128); +	if (!buf) +		return NULL; +	vsnprintf(buf, 128, fmt, ap); +	return buf; +} diff --git a/src/pseudotalloc/talloc.h b/src/pseudotalloc/talloc.h index ae2e1fc8..34088af0 100644 --- a/src/pseudotalloc/talloc.h +++ b/src/pseudotalloc/talloc.h @@ -59,3 +59,6 @@ void *_talloc_zero_array(const void *ctx,  			 unsigned count,  			 const char *name);  char *talloc_asprintf(const void *ctx, const char *fmt, ...); + +void *talloc_steal(const void *new_ctx, const void *obj); +char *talloc_vasprintf(const void *t, const char *fmt, va_list ap); diff --git a/src/timer_clockgettime.c b/src/timer_clockgettime.c index 8d9760c5..7b17fd11 100644 --- a/src/timer_clockgettime.c +++ b/src/timer_clockgettime.c @@ -44,6 +44,9 @@  /*! \file timer_clockgettime.c   */ +#include "config.h" +#ifdef HAVE_CLOCK_GETTIME +  #include <stdlib.h>  #include <stdbool.h>  #include <sys/time.h> @@ -135,4 +138,6 @@ void osmo_clock_override_add(clockid_t clk_id, time_t secs, long nsecs)  		timespecadd(&c->time, &val, &c->time);  } +#endif /* HAVE_CLOCK_GETTIME */ +  /*! @} */ | 
