Missing explicit casts from void* to specific pointers required. Added #define strcasecmp for Visual C++.

This commit is contained in:
Mateusz Loskot
2012-05-22 23:51:44 +01:00
parent a6f39a3c0c
commit 271c53ebdd
3 changed files with 11 additions and 3 deletions

View File

@@ -538,7 +538,7 @@ struct json_object* json_object_new_string_len(const char *s, int len)
if(!jso) return NULL;
jso->_delete = &json_object_string_delete;
jso->_to_json_string = &json_object_string_to_json_string;
jso->o.c_string.str = malloc(len);
jso->o.c_string.str = (char*)malloc(len);
memcpy(jso->o.c_string.str, (void *)s, len);
jso->o.c_string.len = len;
return jso;

View File

@@ -1,9 +1,17 @@
#include "config.h"
#include <stdio.h>
#include <string.h>
#include "json.h"
#include "parse_flags.h"
#if !defined(HAVE_STRCASECMP) && defined(_MSC_VER)
# define strcasecmp _stricmp
#elif !defined(HAVE_STRCASECMP)
# error You do not have strcasecmp on your system.
#endif /* HAVE_STRNCASECMP */
static struct {
const char *arg;
int flag;

View File

@@ -12,8 +12,8 @@ static int sort_fn (const void *j1, const void *j2)
json_object * const *jso1, * const *jso2;
int i1, i2;
jso1 = j1;
jso2 = j2;
jso1 = (json_object* const*)j1;
jso2 = (json_object* const*)j2;
if (!*jso1 && !*jso2) {
return 0;
}