diff options
author | Guy Harris <guy@alum.mit.edu> | 2018-03-23 19:05:45 -0700 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2018-03-24 02:33:17 +0000 |
commit | bff1f7f70e354d5e5b5f47bed87b996c538a3633 (patch) | |
tree | 9a5be1ddb600dd492001a787edd24db9830c66ab /epan/app_mem_usage.c | |
parent | d12a41b17a006ccc1b0f98e9df3fc442e4ee7643 (diff) |
Don't rely on "xxx *yyy[N] = {};" compiling.
At least as I read C90 "6.5.7 Initialization" and C99 "6.7.8
Initialization", there must be at least one "initializer" in an
"initializer-list", so nothing requires that the compiler accept, for
example
static const ws_mem_usage_t *memory_components[MAX_COMPONENTS] = {
};
Bug: 14556
Change-Id: Ief1dbfee504ad5ef1d984390dc2da18deba7fb90
Reviewed-on: https://code.wireshark.org/review/26616
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'epan/app_mem_usage.c')
-rw-r--r-- | epan/app_mem_usage.c | 47 |
1 files changed, 19 insertions, 28 deletions
diff --git a/epan/app_mem_usage.c b/epan/app_mem_usage.c index 730474a067..bd8760151e 100644 --- a/epan/app_mem_usage.c +++ b/epan/app_mem_usage.c @@ -36,6 +36,7 @@ #define MAX_COMPONENTS 16 #if defined(_WIN32) + static gsize win32_get_total_mem_used_by_app(void) { @@ -58,11 +59,15 @@ win32_get_total_mem_used_by_app(void) } } -#define get_total_mem_used_by_app win32_get_total_mem_used_by_app +static const ws_mem_usage_t total_usage = { "Total", win32_get_total_mem_used_by_app, NULL }; + +static const ws_mem_usage_t *memory_components[MAX_COMPONENTS] = { + &total_usage, +}; -#endif /* (_WIN32) */ +static guint memory_register_num = 1; -#if defined(__linux__) +#elif defined(__linux__) static gboolean linux_get_memory(gsize *ptotal, gsize *prss) @@ -132,39 +137,25 @@ linux_get_rss_mem_used_by_app(void) return rss; } -#define get_total_mem_used_by_app linux_get_total_mem_used_by_app +static const ws_mem_usage_t total_usage = { "Total", linux_get_total_mem_used_by_app, NULL }; +static const ws_mem_usage_t rss_usage = { "RSS", linux_get_rss_mem_used_by_app, NULL }; -#define get_rss_mem_used_by_app linux_get_rss_mem_used_by_app +static const ws_mem_usage_t *memory_components[MAX_COMPONENTS] = { + &total_usage, + &rss_usage, +}; -#endif +static guint memory_register_num = 2; + +#else /* XXX, BSD 4.3: getrusage() -> ru_ixrss ? */ -#ifdef get_total_mem_used_by_app -static const ws_mem_usage_t total_usage = { "Total", get_total_mem_used_by_app, NULL }; -#endif +static const ws_mem_usage_t *memory_components[MAX_COMPONENTS]; -#ifdef get_rss_mem_used_by_app -static const ws_mem_usage_t rss_usage = { "RSS", get_rss_mem_used_by_app, NULL }; -#endif +static guint memory_register_num = 0; -static const ws_mem_usage_t *memory_components[MAX_COMPONENTS] = { -#ifdef get_total_mem_used_by_app - &total_usage, -#endif -#ifdef get_rss_mem_used_by_app - &rss_usage, -#endif -}; - -static guint memory_register_num = 0 -#ifdef get_total_mem_used_by_app - + 1 -#endif -#ifdef get_rss_mem_used_by_app - + 1 #endif - ; /* public API */ |