aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-09-29 22:26:01 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-09-29 22:26:01 +0000
commit72e1c89d971aa2e37abf705c6a01f002deac09b8 (patch)
tree6edb25e260701f9f6e49769e4bb7e31e7e2e6063 /libbb
parent2450e4ba44707a64920ea6c9276930a1210e76cc (diff)
downloadbusybox-w32-72e1c89d971aa2e37abf705c6a01f002deac09b8.tar.gz
busybox-w32-72e1c89d971aa2e37abf705c6a01f002deac09b8.tar.bz2
busybox-w32-72e1c89d971aa2e37abf705c6a01f002deac09b8.zip
pgrep,pkill: new applets by Loic Grenie <loic.grenie@gmail.com>
Diffstat (limited to 'libbb')
-rw-r--r--libbb/procps.c11
-rw-r--r--libbb/u_signal_names.c15
2 files changed, 25 insertions, 1 deletions
diff --git a/libbb/procps.c b/libbb/procps.c
index e62e5a1f1..476e1f34d 100644
--- a/libbb/procps.c
+++ b/libbb/procps.c
@@ -375,13 +375,22 @@ procps_status_t *procps_scan(procps_status_t* sp, int flags)
375 } 375 }
376 } 376 }
377#else 377#else
378 if (flags & PSSCAN_ARGV0) { 378 if (flags & *PSSCAN_ARGV0|PSSCAN_ARGVN)) {
379 free(sp->argv0); 379 free(sp->argv0);
380 sp->argv0 = NULL; 380 sp->argv0 = NULL;
381 strcpy(filename_tail, "/cmdline"); 381 strcpy(filename_tail, "/cmdline");
382 n = read_to_buf(filename, buf); 382 n = read_to_buf(filename, buf);
383 if (n <= 0) 383 if (n <= 0)
384 break; 384 break;
385#if ENABLE_PGREP || ENABLE_PKILL
386 if (flags & PSSCAN_ARGVN) {
387 do {
388 n--;
389 if (buf[n] == '\0')
390 buf[n] = ' ';
391 } while (n);
392 }
393#endif
385 sp->argv0 = xstrdup(buf); 394 sp->argv0 = xstrdup(buf);
386 } 395 }
387#endif 396#endif
diff --git a/libbb/u_signal_names.c b/libbb/u_signal_names.c
index f8eaea76d..5a6f592aa 100644
--- a/libbb/u_signal_names.c
+++ b/libbb/u_signal_names.c
@@ -159,3 +159,18 @@ const char *get_signame(int number)
159 159
160 return itoa(number); 160 return itoa(number);
161} 161}
162
163
164// Print the whole signal list
165
166void print_signames_and_exit(void)
167{
168 int signo;
169
170 for (signo = 1; signo < ARRAY_SIZE(signals); signo++) {
171 const char *name = signals[signo];
172 if (name[0])
173 puts(name);
174 }
175 exit(EXIT_SUCCESS);
176}