Skip to content

Commit

Permalink
Move the json_min() and json_max() macros to json_util.h and mark eve…
Browse files Browse the repository at this point in the history
…rything else in bits.h deprecated.

Eliminate all uses of bits.h within the json-c code.
  • Loading branch information
hawicz committed May 5, 2014
1 parent 1da0599 commit d4e81f9
Show file tree
Hide file tree
Showing 7 changed files with 34 additions and 17 deletions.
5 changes: 3 additions & 2 deletions arraylist.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
# include <strings.h>
#endif /* HAVE_STRINGS_H */

#include "bits.h"
#include "arraylist.h"

struct array_list*
Expand Down Expand Up @@ -63,7 +62,9 @@ static int array_list_expand_internal(struct array_list *arr, int max)
int new_size;

if(max < arr->size) return 0;
new_size = json_max(arr->size << 1, max);
new_size = arr->size << 1;
if (new_size < max)
new_size = max;
if(!(t = realloc(arr->array, new_size*sizeof(void*)))) return -1;
arr->array = (void**)t;
(void)memset(arr->array + arr->size, 0, (new_size-arr->size)*sizeof(void*));
Expand Down
25 changes: 16 additions & 9 deletions bits.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
/*
/**
* @file
* @deprecated Use json_util.h instead.
*
* $Id: bits.h,v 1.10 2006/01/30 23:07:57 mclark Exp $
*
* Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd.
Expand All @@ -12,17 +15,21 @@
#ifndef _bits_h_
#define _bits_h_

#ifndef json_min
#define json_min(a,b) ((a) < (b) ? (a) : (b))
#endif

#ifndef json_max
#define json_max(a,b) ((a) > (b) ? (a) : (b))
#endif

/**
* @deprecated
*/
#define hexdigit(x) (((x) <= '9') ? (x) - '0' : ((x) & 7) + 9)
/**
* @deprecated
*/
#define error_ptr(error) ((void*)error)
/**
* @deprecated
*/
#define error_description(error) (json_tokener_get_error(error))
/**
* @deprecated
*/
#define is_error(ptr) (ptr == NULL)

#endif
1 change: 0 additions & 1 deletion json.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
extern "C" {
#endif

#include "bits.h"
#include "debug.h"
#include "linkhash.h"
#include "arraylist.h"
Expand Down
5 changes: 3 additions & 2 deletions json_tokener.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
#include <string.h>
#include <limits.h>

#include "bits.h"
#include "debug.h"
#include "printbuf.h"
#include "arraylist.h"
Expand All @@ -36,6 +35,8 @@
#include <locale.h>
#endif /* HAVE_LOCALE_H */

#define jt_hexdigit(x) (((x) <= '9') ? (x) - '0' : ((x) & 7) + 9)

#if !HAVE_STRDUP && defined(_MSC_VER)
/* MSC has the version as _strdup */
# define strdup _strdup
Expand Down Expand Up @@ -536,7 +537,7 @@ struct json_object* json_tokener_parse_ex(struct json_tokener *tok,
/* Handle a 4-byte sequence, or two sequences if a surrogate pair */
while(1) {
if(strchr(json_hex_chars, c)) {
tok->ucs_char += ((unsigned int)hexdigit(c) << ((3-tok->st_pos++)*4));
tok->ucs_char += ((unsigned int)jt_hexdigit(c) << ((3-tok->st_pos++)*4));
if(tok->st_pos == 4) {
unsigned char unescaped_utf[4];

Expand Down
1 change: 0 additions & 1 deletion json_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@
# error You do not have snprintf on your system.
#endif /* HAVE_SNPRINTF */

#include "bits.h"
#include "debug.h"
#include "printbuf.h"
#include "json_inttypes.h"
Expand Down
9 changes: 9 additions & 0 deletions json_util.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,15 @@

#include "json_object.h"

#ifndef json_min
#define json_min(a,b) ((a) < (b) ? (a) : (b))
#endif

#ifndef json_max
#define json_max(a,b) ((a) > (b) ? (a) : (b))
#endif


#ifdef __cplusplus
extern "C" {
#endif
Expand Down
5 changes: 3 additions & 2 deletions printbuf.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
# error Not enough var arg support!
#endif /* HAVE_STDARG_H */

#include "bits.h"
#include "debug.h"
#include "printbuf.h"

Expand Down Expand Up @@ -63,7 +62,9 @@ static int printbuf_extend(struct printbuf *p, int min_size)
if (p->size >= min_size)
return 0;

new_size = json_max(p->size * 2, min_size + 8);
new_size = p->size * 2;
if (new_size < min_size + 8)
new_size = min_size + 8;
#ifdef PRINTBUF_DEBUG
MC_DEBUG("printbuf_memappend: realloc "
"bpos=%d min_size=%d old_size=%d new_size=%d\n",
Expand Down

0 comments on commit d4e81f9

Please sign in to comment.