helper: replacements: rework including replacements.h

The static analyser 'sparse' complains that the functions
clear_malloc() and fill_malloc() are defined global but not cross
checked against a prototype in an include file.

Rework replacements.h and replacements.c to let the former be
included by the latter.

Change-Id: I536393a9c3718dcd7e144cde8f02e169f64c88e0
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7667
Tested-by: jenkins
This commit is contained in:
Antonio Borneo 2023-05-06 16:14:15 +02:00
parent faf7202f8e
commit 247d8df314
2 changed files with 11 additions and 8 deletions

View File

@ -10,10 +10,18 @@
* Copyright (C) 2008 by Spencer Oliver *
* spen@spen-soft.co.uk *
***************************************************************************/
/* DANGER!!!! These must be defined *BEFORE* replacements.h and the malloc() macro!!!! */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
/* define IN_REPLACEMENTS_C before include replacements.h */
#define IN_REPLACEMENTS_C
#include "replacements.h"
#include <stdlib.h>
#include <string.h>
/*
* clear_malloc
*
@ -41,10 +49,6 @@ void *fill_malloc(size_t size)
return t;
}
#define IN_REPLACEMENTS_C
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#ifdef HAVE_STRINGS_H
#include <strings.h>
#endif

View File

@ -66,12 +66,10 @@ int gettimeofday(struct timeval *tv, struct timezone *tz);
#endif
#ifndef IN_REPLACEMENTS_C
/**** clear_malloc & fill_malloc ****/
void *clear_malloc(size_t size);
void *fill_malloc(size_t size);
#endif
#ifndef IN_REPLACEMENTS_C
/*
* Now you have 3 ways for the malloc function:
*
@ -100,6 +98,7 @@ void *fill_malloc(size_t size);
/* #define malloc(_a) clear_malloc(_a)
* #define malloc(_a) fill_malloc(_a) */
#endif /* IN_REPLACEMENTS_C */
/* GNU extensions to the C library that may be missing on some systems */
#ifndef HAVE_STRNDUP