2
0

Fix some rewrite bugs.

This commit is contained in:
Maarten Billemont
2017-08-23 00:53:14 -04:00
parent 5ee700c9b9
commit 18eaeec1de
4 changed files with 36 additions and 43 deletions

View File

@@ -332,7 +332,7 @@ static bool mpw_marshall_write_json(
if (site->url)
json_object_object_add( json_site_mpw, "url", json_object_new_string( site->url ) );
mpw_free_strings( &content, &loginContent );
mpw_free_strings( &content, &loginContent, NULL );
}
mpw_string_pushf( out, "%s\n", json_object_to_json_string_ext( json_file, JSON_C_TO_STRING_PRETTY | JSON_C_TO_STRING_SPACED ) );

View File

@@ -129,6 +129,7 @@ bool __mpw_free_strings(const char **strings, ...) {
va_list args;
va_start( args, strings );
success &= mpw_free_string( strings );
for (const char **string; (string = va_arg( args, const char ** ));)
success &= mpw_free_string( string );
va_end( args );

View File

@@ -132,17 +132,17 @@ bool mpw_push_int(
bool __mpw_realloc(const void **buffer, size_t *bufferSize, const size_t deltaSize);
/** Free a buffer after zero'ing its contents, then set the reference to NULL. */
#define mpw_free(buffer, bufferSize) \
({ typeof(buffer) _b = buffer; const void *__b = *_b; __mpw_free((const void **)_b, bufferSize); })
({ typeof(buffer) _b = buffer; const void *__b = *_b; __mpw_free( (const void **)_b, bufferSize ); })
bool __mpw_free(
const void **buffer, const size_t bufferSize);
/** Free a string after zero'ing its contents, then set the reference to NULL. */
#define mpw_free_string(string) \
({ typeof(string) _s = string; const char *__s = *_s; __mpw_free_string((const char **)_s); })
({ typeof(string) _s = string; const char *__s = *_s; __mpw_free_string( (const char **)_s ); })
bool __mpw_free_string(
const char **string);
/** Free strings after zero'ing their contents, then set the references to NULL. Terminate the va_list with NULL. */
#define mpw_free_strings(strings, ...) \
({ typeof(strings) _s = strings; const char *__s = *_s; __mpw_free_strings((const char **)strings, __VA_ARGS__); })
({ typeof(strings) _s = strings; const char *__s = *_s; __mpw_free_strings( (const char **)_s, __VA_ARGS__ ); })
bool __mpw_free_strings(
const char **strings, ...);