X-Git-Url: http://git.tuebingen.mpg.de/?p=adu.git;a=blobdiff_plain;f=select.c;h=4e11e7f7e39251908d1aa530e1c988b581d1f0d4;hp=9dda08909c6803d5827ef1f020ab819cb476418c;hb=560d397a66ba141f18e13557feae78ca94a25f98;hpb=6623054b9febd52cff8f92253656222fe1b9688d diff --git a/select.c b/select.c index 9dda089..4e11e7f 100644 --- a/select.c +++ b/select.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 Andre Noll + * Copyright (C) 2008 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -436,6 +436,7 @@ static int print_global_summary(struct format_info *fi) return output("%s", select_conf.trailer_arg); } +/* row: a pointer to a row of the *user* table */ static int user_summary_loop_function(struct osl_row *row, void *data) { struct user_summary_info *usi = data; @@ -444,7 +445,7 @@ static int user_summary_loop_function(struct osl_row *row, void *data) if (usi->preg) { char *dirname; - ret = get_dir_name_of_row(row, &dirname); + ret = get_dir_name_of_user_row(row, usi->ui, &dirname); if (ret < 0) goto err; ret = dir_is_admissible(dirname, usi->preg, usi->inverse_matching); @@ -811,14 +812,15 @@ static int print_statistics(struct format_info *fi) return print_user_lists(fi); case select_mode_arg_user_summary: return print_user_summary(fi); + default: + ERROR_LOG("bad select mode\n"); + return -ERRNO_TO_ERROR(EINVAL); }; - ERROR_LOG("bad select mode\n"); - return -ERRNO_TO_ERROR(EINVAL); } static int open_pipe(char *path) { - int p[2], ret, argc; + int p[2], ret; char **argv; ret = pipe(p); @@ -839,7 +841,7 @@ static int open_pipe(char *path) if (p[0] != STDIN_FILENO) dup2(p[0], STDIN_FILENO); DEBUG_LOG("executing %s\n", path); - argc = split_args(path, &argv, " \t"); + split_args(path, &argv, " \t"); execvp(argv[0], argv); ERROR_LOG("error executing %s: %s\n", path, adu_strerror(ERRNO_TO_ERROR(errno))); @@ -951,7 +953,7 @@ out: /** Default format string for user_list mode. */ #define USER_LIST_DFLT_FMT "%(size:r:5) %(files:r:5) %(dirname)\n" /** Default format string for user_summary mode. */ -#define USER_SUMMARY_DFLT_FMT "%(pw_name:l:16) %(uid:r:5) %(dirs:r:5) %(files:r:5) %(size:r:5)\n" +#define USER_SUMMARY_DFLT_FMT "%(pw_name:l:16) %(uid:r:6) %(dirs:r:5) %(files:r:5) %(size:r:5)\n" static int setup_format_string(char *fmt, struct format_info **fi) {