mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-04 00:14:44 +01:00
aa-status: fix json output with --count flag
This commit is contained in:
parent
4f006a660c
commit
9967ba9873
1 changed files with 17 additions and 6 deletions
|
@ -490,7 +490,7 @@ static int filter_processes(struct process *processes,
|
|||
*
|
||||
* Return: 0 on success, else shell error code
|
||||
*/
|
||||
static int simple_filtered_count(FILE *outf, filters_t *filters,
|
||||
static int simple_filtered_count(FILE *outf, filters_t *filters, bool json,
|
||||
struct profile *profiles, size_t nprofiles)
|
||||
{
|
||||
struct profile *filtered = NULL;
|
||||
|
@ -499,7 +499,13 @@ static int simple_filtered_count(FILE *outf, filters_t *filters,
|
|||
|
||||
ret = filter_profiles(profiles, nprofiles, filters,
|
||||
&filtered, &nfiltered);
|
||||
fprintf(outf, "%zd\n", nfiltered);
|
||||
|
||||
if (!json) {
|
||||
fprintf(outf, "%zd\n", nfiltered);
|
||||
} else {
|
||||
fprintf(outf, "\"profile_count\": %zd", nfiltered);
|
||||
}
|
||||
|
||||
free_profiles(filtered, nfiltered);
|
||||
|
||||
return ret;
|
||||
|
@ -514,7 +520,7 @@ static int simple_filtered_count(FILE *outf, filters_t *filters,
|
|||
*
|
||||
* Return: 0 on success, else shell error code
|
||||
*/
|
||||
static int simple_filtered_process_count(FILE *outf, filters_t *filters,
|
||||
static int simple_filtered_process_count(FILE *outf, filters_t *filters, bool json,
|
||||
struct process *processes, size_t nprocesses) {
|
||||
struct process *filtered = NULL;
|
||||
size_t nfiltered;
|
||||
|
@ -522,7 +528,12 @@ static int simple_filtered_process_count(FILE *outf, filters_t *filters,
|
|||
|
||||
ret = filter_processes(processes, nprocesses, filters, &filtered,
|
||||
&nfiltered);
|
||||
fprintf(outf, "%zd\n", nfiltered);
|
||||
if (!json) {
|
||||
fprintf(outf, "%zd\n", nfiltered);
|
||||
} else {
|
||||
fprintf(outf, "\"process_count\": %zd", nfiltered);
|
||||
}
|
||||
|
||||
free_processes(filtered, nfiltered);
|
||||
|
||||
return ret;
|
||||
|
@ -1038,7 +1049,7 @@ int main(int argc, char **argv)
|
|||
if (opt_json)
|
||||
json_seperator(outf);
|
||||
if (opt_count) {
|
||||
ret = simple_filtered_count(outf, &filters,
|
||||
ret = simple_filtered_count(outf, &filters, opt_json,
|
||||
profiles, nprofiles);
|
||||
} else {
|
||||
ret = detailed_profiles(outf, &filters, opt_json,
|
||||
|
@ -1059,7 +1070,7 @@ int main(int argc, char **argv)
|
|||
if (ret != 0) {
|
||||
eprintf(_("Failed to get processes: %d....\n"), ret);
|
||||
} else if (opt_count) {
|
||||
ret = simple_filtered_process_count(outf, &filters,
|
||||
ret = simple_filtered_process_count(outf, &filters, opt_json,
|
||||
processes, nprocesses);
|
||||
} else {
|
||||
ret = detailed_processes(outf, &filters, opt_json,
|
||||
|
|
Loading…
Add table
Reference in a new issue