Merge "Always have ps output to stdout at least one line."

am: 4602f2b77b

* commit '4602f2b77b6e8405c5c84e2f67749ba83ed39d6c':
  Always have ps output to stdout at least one line.
This commit is contained in:
Christopher Ferris 2016-01-29 19:14:29 +00:00 committed by android-build-merger
commit 94f8442f2e
1 changed files with 11 additions and 5 deletions

View File

@ -264,9 +264,6 @@ int ps_main(int argc, char **argv)
int pidfilter = 0;
int threads = 0;
d = opendir("/proc");
if(d == 0) return -1;
while(argc > 1){
if(!strcmp(argv[1],"-t")) {
threads = 1;
@ -287,7 +284,10 @@ int ps_main(int argc, char **argv)
} else if(!strcmp(argv[1],"--ppid")) {
ppid_filter = atoi(argv[2]);
if (ppid_filter == 0) {
fprintf(stderr, "bad ppid '%s'\n", argv[2]);
/* Bug 26554285: Use printf because some apps require at least
* one line of output to stdout even for errors.
*/
printf("bad ppid '%s'\n", argv[2]);
return 1;
}
argc--;
@ -295,7 +295,10 @@ int ps_main(int argc, char **argv)
} else {
pidfilter = atoi(argv[1]);
if (pidfilter == 0) {
fprintf(stderr, "bad pid '%s'\n", argv[1]);
/* Bug 26554285: Use printf because some apps require at least
* one line of output to stdout even for errors.
*/
printf("bad pid '%s'\n", argv[1]);
return 1;
}
}
@ -313,6 +316,9 @@ int ps_main(int argc, char **argv)
(int) PC_WIDTH, "PC",
(display_flags&SHOW_ABI)?"ABI " : "");
d = opendir("/proc");
if(d == 0) return -1;
while((de = readdir(d)) != 0){
if(isdigit(de->d_name[0])){
int pid = atoi(de->d_name);