- if (shash_find(stats, key)) {
- free(key);
- continue;
- }
-
- if (LINUX && get_process_info(pid, &pinfo)) {
- value = xasprintf("%lu,%lu,%lld,%d,%lld,%lld",
- pinfo.vsz, pinfo.rss, pinfo.cputime,
- pinfo.crashes, pinfo.booted, pinfo.uptime);
- } else {
- value = xstrdup("");
+ if (!smap_get(stats, key)) {
+ if (LINUX && get_process_info(pid, &pinfo)) {
+ smap_add_format(stats, key, "%lu,%lu,%lld,%d,%lld,%lld",
+ pinfo.vsz, pinfo.rss, pinfo.cputime,
+ pinfo.crashes, pinfo.booted, pinfo.uptime);
+ } else {
+ smap_add(stats, key, "");
+ }