diff options
author | Karel Zak | 2017-05-09 12:31:52 +0200 |
---|---|---|
committer | Karel Zak | 2017-05-09 12:31:52 +0200 |
commit | 577d1a663c81035260a7e191f1e2a00775d7effc (patch) | |
tree | ea64d41bcaf8b83d17c40f0d2ff87a9372b9c279 /sys-utils/lscpu.c | |
parent | lscpu: make cpu_{max,min}_mhz() usage more elegant (diff) | |
download | kernel-qcow2-util-linux-577d1a663c81035260a7e191f1e2a00775d7effc.tar.gz kernel-qcow2-util-linux-577d1a663c81035260a7e191f1e2a00775d7effc.tar.xz kernel-qcow2-util-linux-577d1a663c81035260a7e191f1e2a00775d7effc.zip |
lscpu: reuse the same buffer
Now we use libsmartcols for the default output and all is allocated in
the smartcols table. So, we can reuse the same buffer for all
sprintf/scanf calls.
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'sys-utils/lscpu.c')
-rw-r--r-- | sys-utils/lscpu.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c index 66bb5e82d..8baa3cc26 100644 --- a/sys-utils/lscpu.c +++ b/sys-utils/lscpu.c @@ -1851,7 +1851,7 @@ print_cpuset(struct libscols_table *tb, static void print_summary(struct lscpu_desc *desc, struct lscpu_modifier *mod) { - char buf[512]; + char buf[BUFSIZ]; int i = 0; size_t setsize = CPU_ALLOC_SIZE(maxcpus); struct libscols_table *tb; @@ -1874,7 +1874,7 @@ print_summary(struct lscpu_desc *desc, struct lscpu_modifier *mod) add_summary_s(tb, _("Architecture:"), desc->arch); if (desc->mode) { - char mbuf[64], *p = mbuf; + char *p = buf; if (desc->mode & MODE_32BIT) { strcpy(p, "32-bit, "); @@ -1885,7 +1885,7 @@ print_summary(struct lscpu_desc *desc, struct lscpu_modifier *mod) p += 8; } *(p - 2) = '\0'; - add_summary_s(tb, _("CPU op-mode(s):"), mbuf); + add_summary_s(tb, _("CPU op-mode(s):"), buf); } #if !defined(WORDS_BIGENDIAN) add_summary_s(tb, _("Byte Order:"), "Little Endian"); @@ -1937,11 +1937,10 @@ print_summary(struct lscpu_desc *desc, struct lscpu_modifier *mod) * fall back to old calculation scheme. */ if ((fd = path_fopen("r", 0, _PATH_PROC_SYSINFO))) { - char pbuf[BUFSIZ]; int t0, t1; - while (fd && fgets(pbuf, sizeof(pbuf), fd) != NULL) { - if (sscanf(pbuf, "CPU Topology SW:%d%d%d%d%d%d", + while (fd && fgets(buf, sizeof(buf), fd) != NULL) { + if (sscanf(buf, "CPU Topology SW:%d%d%d%d%d%d", &t0, &t1, &drawers, &books_per_drawer, &sockets_per_book, &cores_per_socket) == 6) @@ -2011,21 +2010,17 @@ print_summary(struct lscpu_desc *desc, struct lscpu_modifier *mod) if (desc->dispatching >= 0) add_summary_s(tb, _("Dispatching mode:"), _(disp_modes[desc->dispatching])); if (desc->ncaches) { - char cbuf[512]; - for (i = desc->ncaches - 1; i >= 0; i--) { - snprintf(cbuf, sizeof(cbuf), + snprintf(buf, sizeof(buf), _("%s cache:"), desc->caches[i].name); - add_summary_s(tb, cbuf, desc->caches[i].size); + add_summary_s(tb, buf, desc->caches[i].size); } } if (desc->necaches) { - char cbuf[512]; - for (i = desc->necaches - 1; i >= 0; i--) { - snprintf(cbuf, sizeof(cbuf), + snprintf(buf, sizeof(buf), _("%s cache:"), desc->ecaches[i].name); - add_summary_s(tb, cbuf, desc->ecaches[i].size); + add_summary_s(tb, buf, desc->ecaches[i].size); } } |