Move max() to jansson_private.h, define only if not already defined

On some platforms (Visual C++ for one) the standard library already
defines max() as a macro.
This commit is contained in:
Petri Lehtinen 2010-09-05 20:54:37 +03:00
parent e3654c2245
commit 06eb436008
5 changed files with 6 additions and 16 deletions

View File

@ -11,7 +11,6 @@ libjansson_la_SOURCES = \
strbuffer.h \
utf.c \
utf.h \
util.h \
value.c
libjansson_la_LDFLAGS = \
-export-symbols-regex '^json_' \

View File

@ -15,6 +15,11 @@
#define container_of(ptr_, type_, member_) \
((type_ *)((char *)ptr_ - offsetof(type_, member_)))
/* On some platforms, max() may already be defined */
#ifndef max
#define max(a, b) ((a) > (b) ? (a) : (b))
#endif
typedef struct {
json_t json;
hashtable_t hashtable;

View File

@ -8,8 +8,8 @@
#define _GNU_SOURCE
#include <stdlib.h>
#include <string.h>
#include "jansson_private.h"
#include "strbuffer.h"
#include "util.h"
#define STRBUFFER_MIN_SIZE 16
#define STRBUFFER_FACTOR 2

View File

@ -1,13 +0,0 @@
/*
* Copyright (c) 2009, 2010 Petri Lehtinen <petri@digip.org>
*
* Jansson is free software; you can redistribute it and/or modify
* it under the terms of the MIT license. See LICENSE for details.
*/
#ifndef UTIL_H
#define UTIL_H
#define max(a, b) ((a) > (b) ? (a) : (b))
#endif

View File

@ -15,7 +15,6 @@
#include "hashtable.h"
#include "jansson_private.h"
#include "utf.h"
#include "util.h"
static JSON_INLINE void json_init(json_t *json, json_type type)