summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
Diffstat (limited to 'utils')
-rw-r--r--utils/log.h25
1 files changed, 19 insertions, 6 deletions
diff --git a/utils/log.h b/utils/log.h
index e4d5cbef0..cfee359f4 100644
--- a/utils/log.h
+++ b/utils/log.h
@@ -17,21 +17,34 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <stdio.h>
-#include "desktop/netsurf.h"
-
#ifndef _NETSURF_LOG_H_
#define _NETSURF_LOG_H_
+#include <stdio.h>
+#include <sys/time.h>
+#include "desktop/netsurf.h"
+
#ifdef NDEBUG
# define LOG(x) ((void) 0)
#else
+
+static inline const char *nslog_gettime(void)
+{
+ static char buff[32];
+ static struct timeval tv;
+
+ gettimeofday(&tv, NULL);
+ snprintf(buff, sizeof(buff),"(%ld.%ld)", tv.tv_sec, tv.tv_usec);
+ return buff;
+}
+
# ifdef __GNUC__
-# define LOG(x) do { if (verbose_log) (printf(__FILE__ " %s %i: ", __PRETTY_FUNCTION__, __LINE__), printf x, fputc('\n', stdout)); } while (0)
+# define LOG(x) do { if (verbose_log) (printf("%s " __FILE__ " %s %i: ", nslog_gettime(), __PRETTY_FUNCTION__, __LINE__), printf x, fputc('\n', stdout)); } while (0)
+
# elif defined(__CC_NORCROFT)
-# define LOG(x) do { if (verbose_log) (printf(__FILE__ " %s %i: ", __func__, __LINE__), printf x, fputc('\n', stdout)); } while (0)
+# define LOG(x) do { if (verbose_log) (printf("%s "__FILE__ " %s %i: ", nslog_gettime(), __func__, __LINE__), printf x, fputc('\n', stdout)); } while (0)
# else
-# define LOG(x) do { if (verbose_log) (printf(__FILE__ " %i: ", __LINE__), printf x, fputc('\n', stdout)); } while (0)
+# define LOG(x) do { if (verbose_log) (printf("%s" __FILE__ " %i: ", nslog_gettime(), __LINE__), printf x, fputc('\n', stdout)); } while (0)
# endif
#endif