diff options
| author | Ron Yorston <rmy@pobox.com> | 2016-05-16 09:33:03 +0100 |
|---|---|---|
| committer | Ron Yorston <rmy@pobox.com> | 2016-05-16 09:33:03 +0100 |
| commit | 35d2f5bccb0f3dde600702ebcdb5424d4d50be4a (patch) | |
| tree | 6e0ff0341c69839e268459a199682628bae734ed /procps | |
| parent | 248a2600a2f4b442101ad568d1994b908bb28d4b (diff) | |
| parent | f2559e5c2b7bd2c5fa0dd8e88d0a931da92a23af (diff) | |
| download | busybox-w32-35d2f5bccb0f3dde600702ebcdb5424d4d50be4a.tar.gz busybox-w32-35d2f5bccb0f3dde600702ebcdb5424d4d50be4a.tar.bz2 busybox-w32-35d2f5bccb0f3dde600702ebcdb5424d4d50be4a.zip | |
Merge branch 'busybox' into merge
Diffstat (limited to 'procps')
| -rw-r--r-- | procps/free.c | 5 | ||||
| -rw-r--r-- | procps/fuser.c | 4 | ||||
| -rw-r--r-- | procps/nmeter.c | 10 | ||||
| -rw-r--r-- | procps/ps.c | 5 | ||||
| -rw-r--r-- | procps/top.c | 10 |
5 files changed, 20 insertions, 14 deletions
diff --git a/procps/free.c b/procps/free.c index 0d023f740..fca9a2242 100644 --- a/procps/free.c +++ b/procps/free.c | |||
| @@ -22,6 +22,7 @@ | |||
| 22 | //usage: "Total: 386144 257128 129016\n" | 22 | //usage: "Total: 386144 257128 129016\n" |
| 23 | 23 | ||
| 24 | #include "libbb.h" | 24 | #include "libbb.h" |
| 25 | #include "common_bufsiz.h" | ||
| 25 | #ifdef __linux__ | 26 | #ifdef __linux__ |
| 26 | # include <sys/sysinfo.h> | 27 | # include <sys/sysinfo.h> |
| 27 | #endif | 28 | #endif |
| @@ -35,8 +36,8 @@ struct globals { | |||
| 35 | # define G_unit_steps 10 | 36 | # define G_unit_steps 10 |
| 36 | #endif | 37 | #endif |
| 37 | } FIX_ALIASING; | 38 | } FIX_ALIASING; |
| 38 | #define G (*(struct globals*)&bb_common_bufsiz1) | 39 | #define G (*(struct globals*)bb_common_bufsiz1) |
| 39 | #define INIT_G() do { } while (0) | 40 | #define INIT_G() do { setup_common_bufsiz(); } while (0) |
| 40 | 41 | ||
| 41 | 42 | ||
| 42 | static unsigned long long scale(unsigned long d) | 43 | static unsigned long long scale(unsigned long d) |
diff --git a/procps/fuser.c b/procps/fuser.c index 05b52abb1..6dac852ed 100644 --- a/procps/fuser.c +++ b/procps/fuser.c | |||
| @@ -18,6 +18,7 @@ | |||
| 18 | //usage: "\n -SIGNAL Signal to send (default: KILL)" | 18 | //usage: "\n -SIGNAL Signal to send (default: KILL)" |
| 19 | 19 | ||
| 20 | #include "libbb.h" | 20 | #include "libbb.h" |
| 21 | #include "common_bufsiz.h" | ||
| 21 | 22 | ||
| 22 | #define MAX_LINE 255 | 23 | #define MAX_LINE 255 |
| 23 | 24 | ||
| @@ -43,8 +44,9 @@ struct globals { | |||
| 43 | smallint kill_failed; | 44 | smallint kill_failed; |
| 44 | int killsig; | 45 | int killsig; |
| 45 | } FIX_ALIASING; | 46 | } FIX_ALIASING; |
| 46 | #define G (*(struct globals*)&bb_common_bufsiz1) | 47 | #define G (*(struct globals*)bb_common_bufsiz1) |
| 47 | #define INIT_G() do { \ | 48 | #define INIT_G() do { \ |
| 49 | setup_common_bufsiz(); \ | ||
| 48 | G.mypid = getpid(); \ | 50 | G.mypid = getpid(); \ |
| 49 | G.killsig = SIGKILL; \ | 51 | G.killsig = SIGKILL; \ |
| 50 | } while (0) | 52 | } while (0) |
diff --git a/procps/nmeter.c b/procps/nmeter.c index 33de3790f..3eac2d3b2 100644 --- a/procps/nmeter.c +++ b/procps/nmeter.c | |||
| @@ -53,6 +53,7 @@ | |||
| 53 | // totalswap=134209536, freeswap=134209536, procs=157}) | 53 | // totalswap=134209536, freeswap=134209536, procs=157}) |
| 54 | 54 | ||
| 55 | #include "libbb.h" | 55 | #include "libbb.h" |
| 56 | #include "common_bufsiz.h" | ||
| 56 | 57 | ||
| 57 | typedef unsigned long long ullong; | 58 | typedef unsigned long long ullong; |
| 58 | 59 | ||
| @@ -108,16 +109,15 @@ struct globals { | |||
| 108 | #define proc_meminfo (G.proc_meminfo ) | 109 | #define proc_meminfo (G.proc_meminfo ) |
| 109 | #define proc_diskstats (G.proc_diskstats ) | 110 | #define proc_diskstats (G.proc_diskstats ) |
| 110 | #define proc_sys_fs_filenr (G.proc_sys_fs_filenr) | 111 | #define proc_sys_fs_filenr (G.proc_sys_fs_filenr) |
| 112 | #define outbuf bb_common_bufsiz1 | ||
| 111 | #define INIT_G() do { \ | 113 | #define INIT_G() do { \ |
| 114 | setup_common_bufsiz(); \ | ||
| 112 | SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \ | 115 | SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \ |
| 113 | cur_outbuf = outbuf; \ | 116 | cur_outbuf = outbuf; \ |
| 114 | G.final_char = '\n'; \ | 117 | G.final_char = '\n'; \ |
| 115 | G.deltanz = G.delta = 1000000; \ | 118 | G.deltanz = G.delta = 1000000; \ |
| 116 | } while (0) | 119 | } while (0) |
| 117 | 120 | ||
| 118 | // We depend on this being a char[], not char* - we take sizeof() of it | ||
| 119 | #define outbuf bb_common_bufsiz1 | ||
| 120 | |||
| 121 | static inline void reset_outbuf(void) | 121 | static inline void reset_outbuf(void) |
| 122 | { | 122 | { |
| 123 | cur_outbuf = outbuf; | 123 | cur_outbuf = outbuf; |
| @@ -140,7 +140,7 @@ static void print_outbuf(void) | |||
| 140 | static void put(const char *s) | 140 | static void put(const char *s) |
| 141 | { | 141 | { |
| 142 | char *p = cur_outbuf; | 142 | char *p = cur_outbuf; |
| 143 | int sz = outbuf + sizeof(outbuf) - p; | 143 | int sz = outbuf + COMMON_BUFSIZE - p; |
| 144 | while (*s && --sz >= 0) | 144 | while (*s && --sz >= 0) |
| 145 | *p++ = *s++; | 145 | *p++ = *s++; |
| 146 | cur_outbuf = p; | 146 | cur_outbuf = p; |
| @@ -148,7 +148,7 @@ static void put(const char *s) | |||
| 148 | 148 | ||
| 149 | static void put_c(char c) | 149 | static void put_c(char c) |
| 150 | { | 150 | { |
| 151 | if (cur_outbuf < outbuf + sizeof(outbuf)) | 151 | if (cur_outbuf < outbuf + COMMON_BUFSIZE) |
| 152 | *cur_outbuf++ = c; | 152 | *cur_outbuf++ = c; |
| 153 | } | 153 | } |
| 154 | 154 | ||
diff --git a/procps/ps.c b/procps/ps.c index 8c373376d..39cccec82 100644 --- a/procps/ps.c +++ b/procps/ps.c | |||
| @@ -62,6 +62,7 @@ | |||
| 62 | //usage: " 2990 andersen andersen R ps\n" | 62 | //usage: " 2990 andersen andersen R ps\n" |
| 63 | 63 | ||
| 64 | #include "libbb.h" | 64 | #include "libbb.h" |
| 65 | #include "common_bufsiz.h" | ||
| 65 | #ifdef __linux__ | 66 | #ifdef __linux__ |
| 66 | # include <sys/sysinfo.h> | 67 | # include <sys/sysinfo.h> |
| 67 | #endif | 68 | #endif |
| @@ -144,7 +145,7 @@ struct globals { | |||
| 144 | unsigned long seconds_since_boot; | 145 | unsigned long seconds_since_boot; |
| 145 | #endif | 146 | #endif |
| 146 | } FIX_ALIASING; | 147 | } FIX_ALIASING; |
| 147 | #define G (*(struct globals*)&bb_common_bufsiz1) | 148 | #define G (*(struct globals*)bb_common_bufsiz1) |
| 148 | #define out (G.out ) | 149 | #define out (G.out ) |
| 149 | #define out_cnt (G.out_cnt ) | 150 | #define out_cnt (G.out_cnt ) |
| 150 | #define print_header (G.print_header ) | 151 | #define print_header (G.print_header ) |
| @@ -152,7 +153,7 @@ struct globals { | |||
| 152 | #define buffer (G.buffer ) | 153 | #define buffer (G.buffer ) |
| 153 | #define terminal_width (G.terminal_width ) | 154 | #define terminal_width (G.terminal_width ) |
| 154 | #define kernel_HZ (G.kernel_HZ ) | 155 | #define kernel_HZ (G.kernel_HZ ) |
| 155 | #define INIT_G() do { } while (0) | 156 | #define INIT_G() do { setup_common_bufsiz(); } while (0) |
| 156 | 157 | ||
| 157 | #if ENABLE_FEATURE_PS_TIME | 158 | #if ENABLE_FEATURE_PS_TIME |
| 158 | /* for ELF executables, notes are pushed before environment and args */ | 159 | /* for ELF executables, notes are pushed before environment and args */ |
diff --git a/procps/top.c b/procps/top.c index ddf794d7d..73cd285f0 100644 --- a/procps/top.c +++ b/procps/top.c | |||
| @@ -105,6 +105,7 @@ | |||
| 105 | //config: Enable 's' in top (gives lots of memory info). | 105 | //config: Enable 's' in top (gives lots of memory info). |
| 106 | 106 | ||
| 107 | #include "libbb.h" | 107 | #include "libbb.h" |
| 108 | #include "common_bufsiz.h" | ||
| 108 | 109 | ||
| 109 | 110 | ||
| 110 | typedef struct top_status_t { | 111 | typedef struct top_status_t { |
| @@ -183,7 +184,7 @@ struct globals { | |||
| 183 | char line_buf[80]; | 184 | char line_buf[80]; |
| 184 | }; //FIX_ALIASING; - large code growth | 185 | }; //FIX_ALIASING; - large code growth |
| 185 | enum { LINE_BUF_SIZE = COMMON_BUFSIZE - offsetof(struct globals, line_buf) }; | 186 | enum { LINE_BUF_SIZE = COMMON_BUFSIZE - offsetof(struct globals, line_buf) }; |
| 186 | #define G (*(struct globals*)&bb_common_bufsiz1) | 187 | #define G (*(struct globals*)bb_common_bufsiz1) |
| 187 | #define top (G.top ) | 188 | #define top (G.top ) |
| 188 | #define ntop (G.ntop ) | 189 | #define ntop (G.ntop ) |
| 189 | #define sort_field (G.sort_field ) | 190 | #define sort_field (G.sort_field ) |
| @@ -201,6 +202,7 @@ enum { LINE_BUF_SIZE = COMMON_BUFSIZE - offsetof(struct globals, line_buf) }; | |||
| 201 | #define total_pcpu (G.total_pcpu ) | 202 | #define total_pcpu (G.total_pcpu ) |
| 202 | #define line_buf (G.line_buf ) | 203 | #define line_buf (G.line_buf ) |
| 203 | #define INIT_G() do { \ | 204 | #define INIT_G() do { \ |
| 205 | setup_common_bufsiz(); \ | ||
| 204 | BUILD_BUG_ON(sizeof(G) > COMMON_BUFSIZE); \ | 206 | BUILD_BUG_ON(sizeof(G) > COMMON_BUFSIZE); \ |
| 205 | BUILD_BUG_ON(LINE_BUF_SIZE <= 80); \ | 207 | BUILD_BUG_ON(LINE_BUF_SIZE <= 80); \ |
| 206 | } while (0) | 208 | } while (0) |
| @@ -263,9 +265,9 @@ static int mult_lvl_cmp(void* a, void* b) | |||
| 263 | static NOINLINE int read_cpu_jiffy(FILE *fp, jiffy_counts_t *p_jif) | 265 | static NOINLINE int read_cpu_jiffy(FILE *fp, jiffy_counts_t *p_jif) |
| 264 | { | 266 | { |
| 265 | #if !ENABLE_FEATURE_TOP_SMP_CPU | 267 | #if !ENABLE_FEATURE_TOP_SMP_CPU |
| 266 | static const char fmt[] = "cpu %llu %llu %llu %llu %llu %llu %llu %llu"; | 268 | static const char fmt[] ALIGN1 = "cpu %llu %llu %llu %llu %llu %llu %llu %llu"; |
| 267 | #else | 269 | #else |
| 268 | static const char fmt[] = "cp%*s %llu %llu %llu %llu %llu %llu %llu %llu"; | 270 | static const char fmt[] ALIGN1 = "cp%*s %llu %llu %llu %llu %llu %llu %llu %llu"; |
| 269 | #endif | 271 | #endif |
| 270 | int ret; | 272 | int ret; |
| 271 | 273 | ||
| @@ -517,7 +519,7 @@ enum { | |||
| 517 | 519 | ||
| 518 | static void parse_meminfo(unsigned long meminfo[MI_MAX]) | 520 | static void parse_meminfo(unsigned long meminfo[MI_MAX]) |
| 519 | { | 521 | { |
| 520 | static const char fields[] = | 522 | static const char fields[] ALIGN1 = |
| 521 | "MemTotal\0" | 523 | "MemTotal\0" |
| 522 | "MemFree\0" | 524 | "MemFree\0" |
| 523 | "MemShared\0" | 525 | "MemShared\0" |
