summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--3rdparty/libconfig/extra/gen/grammar.y6
-rw-r--r--3rdparty/libconfig/grammar.c6
-rw-r--r--3rdparty/libconfig/libconfig.c8
-rw-r--r--3rdparty/libconfig/libconfig.h6
-rw-r--r--3rdparty/libconfig/scanctx.c24
-rw-r--r--3rdparty/libconfig/scanctx.h6
6 files changed, 25 insertions, 31 deletions
diff --git a/3rdparty/libconfig/extra/gen/grammar.y b/3rdparty/libconfig/extra/gen/grammar.y
index ef8ed4f18..a99b8cf1b 100644
--- a/3rdparty/libconfig/extra/gen/grammar.y
+++ b/3rdparty/libconfig/extra/gen/grammar.y
@@ -54,7 +54,7 @@ extern int libconfig_yyget_lineno();
static const char *err_array_elem_type = "mismatched element type in array";
static const char *err_duplicate_setting = "duplicate setting name";
-#define _delete(P) free((void *)(P))
+#define _delete(P) free(P)
#define IN_ARRAY() \
(ctx->parent && (ctx->parent->type == CONFIG_TYPE_ARRAY))
@@ -332,7 +332,7 @@ simple_value:
{
if(IN_ARRAY() || IN_LIST())
{
- const char *s = parsectx_take_string(ctx);
+ char *s = parsectx_take_string(ctx);
struct config_setting_t *e = config_setting_set_string_elem(ctx->parent, -1, s);
_delete(s);
@@ -348,7 +348,7 @@ simple_value:
}
else
{
- const char *s = parsectx_take_string(ctx);
+ char *s = parsectx_take_string(ctx);
config_setting_set_string(ctx->setting, s);
_delete(s);
}
diff --git a/3rdparty/libconfig/grammar.c b/3rdparty/libconfig/grammar.c
index 7d5757b2f..6cd6fb722 100644
--- a/3rdparty/libconfig/grammar.c
+++ b/3rdparty/libconfig/grammar.c
@@ -95,7 +95,7 @@ extern int libconfig_yyget_lineno();
static const char *err_array_elem_type = "mismatched element type in array";
static const char *err_duplicate_setting = "duplicate setting name";
-#define _delete(P) free((void *)(P))
+#define _delete(P) free(P)
#define IN_ARRAY() \
(ctx->parent && (ctx->parent->type == CONFIG_TYPE_ARRAY))
@@ -1751,7 +1751,7 @@ yyreduce:
{
if(IN_ARRAY() || IN_LIST())
{
- const char *s = parsectx_take_string(ctx);
+ char *s = parsectx_take_string(ctx);
struct config_setting_t *e = config_setting_set_string_elem(ctx->parent, -1, s);
_delete(s);
@@ -1767,7 +1767,7 @@ yyreduce:
}
else
{
- const char *s = parsectx_take_string(ctx);
+ char *s = parsectx_take_string(ctx);
config_setting_set_string(ctx->setting, s);
_delete(s);
}
diff --git a/3rdparty/libconfig/libconfig.c b/3rdparty/libconfig/libconfig.c
index 696f5fc08..5b6eaac73 100644
--- a/3rdparty/libconfig/libconfig.c
+++ b/3rdparty/libconfig/libconfig.c
@@ -49,8 +49,8 @@
#define CHUNK_SIZE 16
#define FLOAT_PRECISION DBL_DIG
-#define _new(T) (T *)calloc(1, sizeof(T)) /* zeroed */
-#define _delete(P) free((void *)(P))
+#define _new(T) calloc(1, sizeof(T)) /* zeroed */
+#define _delete(P) free(P)
/* ------------------------------------------------------------------------- */
@@ -567,7 +567,7 @@ static int __config_read(struct config_t *config, FILE *stream, const char *file
/* Reinitialize the config */
void (*destructor)(void *) = config->destructor;
- const char *include_dir = config->include_dir;
+ char *include_dir = config->include_dir;
unsigned short tab_width = config->tab_width;
int options = config->options;
@@ -743,7 +743,7 @@ int config_write_file(struct config_t *config, const char *filename)
void config_destroy(struct config_t *config)
{
unsigned int count = config->num_filenames;
- const char **f;
+ char **f;
__config_setting_destroy(config->root);
diff --git a/3rdparty/libconfig/libconfig.h b/3rdparty/libconfig/libconfig.h
index 58c1f914e..69f2e6dbf 100644
--- a/3rdparty/libconfig/libconfig.h
+++ b/3rdparty/libconfig/libconfig.h
@@ -109,12 +109,12 @@ struct config_t
int options;
unsigned short tab_width;
short default_format;
- const char *include_dir;
+ char *include_dir;
const char *error_text;
const char *error_file;
int error_line;
enum config_error_t error_type;
- const char **filenames;
+ char **filenames;
unsigned int num_filenames;
};
@@ -206,7 +206,7 @@ extern LIBCONFIG_API struct config_setting_t *config_setting_set_string_elem(
struct config_setting_t *setting, int idx, const char *value);
#define /* const char * */ config_get_include_dir(/* const struct config_t * */ C) \
- ((C)->include_dir)
+ ((const char *)(C)->include_dir)
#define /* int */ config_setting_type(/* const struct config_setting_t * */ S) \
((S)->type)
diff --git a/3rdparty/libconfig/scanctx.c b/3rdparty/libconfig/scanctx.c
index b3d9a6379..94ba73edd 100644
--- a/3rdparty/libconfig/scanctx.c
+++ b/3rdparty/libconfig/scanctx.c
@@ -38,25 +38,23 @@ static const char *err_include_too_deep = "include file nesting too deep";
/* ------------------------------------------------------------------------- */
static const char *__scanctx_add_filename(struct scan_context *ctx,
- const char *filename)
+ char *filename)
{
unsigned int count = ctx->num_filenames;
- const char **f;
+ char **f;
for(f = ctx->filenames; count > 0; ++f, --count)
{
if(!strcmp(*f, filename))
{
- free((void *)filename);
+ free(filename);
return(*f); /* already in list */
}
}
if((ctx->num_filenames % CHUNK_SIZE) == 0)
{
- ctx->filenames = (const char **)realloc(
- (void *)ctx->filenames,
- (ctx->num_filenames + CHUNK_SIZE) * sizeof(const char *));
+ ctx->filenames = realloc(ctx->filenames, (ctx->num_filenames + CHUNK_SIZE) * sizeof(char *));
}
ctx->filenames[ctx->num_filenames] = filename;
@@ -69,16 +67,14 @@ static const char *__scanctx_add_filename(struct scan_context *ctx,
void scanctx_init(struct scan_context *ctx, const char *top_filename)
{
memset(ctx, 0, sizeof(struct scan_context));
-#ifndef __clang_analyzer__ // FIXME: Clang's static analyzer doesn't like this
if(top_filename)
ctx->top_filename = __scanctx_add_filename(ctx, strdup(top_filename));
-#endif // __clang_analyzer__
}
/* ------------------------------------------------------------------------- */
-const char **scanctx_cleanup(struct scan_context *ctx,
- unsigned int *num_filenames)
+char **scanctx_cleanup(struct scan_context *ctx,
+ unsigned int *num_filenames)
{
int i;
@@ -97,7 +93,7 @@ FILE *scanctx_push_include(struct scan_context *ctx, void *buffer,
const char **error)
{
FILE *fp = NULL;
- const char *file;
+ char *file;
char *full_file = NULL;
*error = NULL;
@@ -119,20 +115,18 @@ FILE *scanctx_push_include(struct scan_context *ctx, void *buffer,
}
fp = fopen(full_file ? full_file : file, "rt");
- free((void *)full_file);
+ free(full_file);
if(fp)
{
ctx->streams[ctx->depth] = fp;
-#ifndef __clang_analyzer__ // FIXME: Clang's static analyzer doesn't like this
ctx->files[ctx->depth] = __scanctx_add_filename(ctx, file);
-#endif // __clang_analyzer__
ctx->buffers[ctx->depth] = buffer;
++(ctx->depth);
}
else
{
- free((void *)file);
+ free(file);
*error = err_bad_include;
}
diff --git a/3rdparty/libconfig/scanctx.h b/3rdparty/libconfig/scanctx.h
index 004523e2a..a5939ca05 100644
--- a/3rdparty/libconfig/scanctx.h
+++ b/3rdparty/libconfig/scanctx.h
@@ -40,13 +40,13 @@ struct scan_context
FILE *streams[MAX_INCLUDE_DEPTH];
int depth;
strbuf_t string;
- const char **filenames;
+ char **filenames;
unsigned int num_filenames;
};
extern void scanctx_init(struct scan_context *ctx, const char *top_filename);
-extern const char **scanctx_cleanup(struct scan_context *ctx,
- unsigned int *num_filenames);
+extern char **scanctx_cleanup(struct scan_context *ctx,
+ unsigned int *num_filenames);
extern FILE *scanctx_push_include(struct scan_context *ctx, void *prev_buffer,
const char **error);