/** * Prints options as selected when invoking the program with -v option * @param opt the options_t * structure that contains all selected options * from the command line and that will be used by the program. */ static void print_selected_options(options_t *opt) { gchar *blocksize = NULL; if (opt != NULL) { fprintf(stdout, _("\n%s options are:\n"), PROGRAM_NAME); print_filelist(opt->dirname_list, _("Directory list:\n")); print_filelist(opt->exclude_list, _("Exclude list:\n")); if (opt->adaptive == FALSE) { /** * We need to translate this number into a string before * inserting it into the final string in order to allow * this final string to be translated in an other language. */ blocksize = g_strdup_printf("%" G_GINT64_FORMAT, opt->blocksize); fprintf(stdout, _("Blocksize: %s\n"), blocksize); free_variable(blocksize); } else { fprintf(stdout, _("Blocksize: adaptive mode\n")); } print_string_option(_("Configuration file: %s\n"), opt->configfile); print_string_option(_("Cache directory: %s\n"), opt->dircache); print_string_option(_("Cache database name: %s\n"), opt->dbname); if (opt->srv_conf != NULL) { print_string_option(_("Server's IP address: %s\n"), opt->srv_conf->ip); fprintf(stdout, _("Server's port number: %d\n"), opt->srv_conf->port); } fprintf(stdout, _("Buffersize: %d\n"), opt->buffersize); } }
static void exec_search(Pcs pcs, struct params *params) { PcsFileInfoList *list; printf("\n%sSearch %s in %s\n", params->is_recursion ? "Recursive " : "", params->args[1], params->args[0]); list = pcs_search(pcs, params->args[0], params->args[1], params->is_recursion); putchar('\n'); if (list) { print_filelist(list); pcs_filist_destroy(list); } else { print_filelist_head(4); } }
static void exec_list(Pcs pcs, struct params *params) { PcsFileInfoList *list; printf("\n%sList %s\n", params->is_recursion ? "Recursive " : "", params->args[0]); list = get_file_list(pcs, params->args[0], params->sort, params->is_desc, params->is_recursion); if (list) { printf("Got %d Files\n", list->count); fflush(stdout); print_filelist(list); pcs_filist_destroy(list); } else { printf("Got 0 Files\n"); fflush(stdout); print_filelist_head(4); } }
static int print_pkg(alpm_pkg_t *pkg, const char *format) { const char *f, *end; char fmt[64], buf[64]; int len, out = 0; end = format + strlen(format); for (f = format; f < end; f++) { len = 0; if (*f == '%') { len = strspn(f + 1 + len, printf_flags); len += strspn(f + 1 + len, digits); snprintf(fmt, len + 3, "%ss", f); fmt[len + 1] = 's'; f += len + 1; switch (*f) { /* simple attributes */ case 'f': /* filename */ out += printf(fmt, alpm_pkg_get_filename(pkg)); break; case 'n': /* package name */ out += printf(fmt, alpm_pkg_get_name(pkg)); break; case 'v': /* version */ out += printf(fmt, alpm_pkg_get_version(pkg)); break; case 'd': /* description */ out += printf(fmt, alpm_pkg_get_desc(pkg)); break; case 'u': /* project url */ out += printf(fmt, alpm_pkg_get_url(pkg)); break; case 'p': /* packager name */ out += printf(fmt, alpm_pkg_get_packager(pkg)); break; case 's': /* md5sum */ out += printf(fmt, alpm_pkg_get_md5sum(pkg)); break; case 'a': /* architecutre */ out += printf(fmt, alpm_pkg_get_arch(pkg)); break; case 'i': /* has install scriptlet? */ out += printf(fmt, alpm_pkg_has_scriptlet(pkg) ? "yes" : "no"); break; case 'r': /* repo */ out += printf(fmt, alpm_db_get_name(alpm_pkg_get_db(pkg))); break; case 'w': /* install reason */ out += printf(fmt, alpm_pkg_get_reason(pkg) ? "dependency" : "explicit"); break; case '!': /* result number */ snprintf(buf, sizeof(buf), "%d", opt_pkgcounter++); out += printf(fmt, buf); break; case 'g': /* base64 gpg sig */ out += printf(fmt, alpm_pkg_get_base64_sig(pkg)); break; case 'h': /* sha256sum */ out += printf(fmt, alpm_pkg_get_sha256sum(pkg)); break; /* times */ case 'b': /* build date */ out += print_time(alpm_pkg_get_builddate(pkg)); break; case 'l': /* install date */ out += print_time(alpm_pkg_get_installdate(pkg)); break; /* sizes */ case 'k': /* download size */ out += printf(fmt, size_to_string(alpm_pkg_get_size(pkg))); break; case 'm': /* install size */ out += printf(fmt, size_to_string(alpm_pkg_get_isize(pkg))); break; /* lists */ case 'F': /* files */ out += print_filelist(alpm_pkg_get_files(pkg)); break; case 'N': /* requiredby */ out += print_list(alpm_pkg_compute_requiredby(pkg), NULL); break; case 'L': /* licenses */ out += print_list(alpm_pkg_get_licenses(pkg), NULL); break; case 'G': /* groups */ out += print_list(alpm_pkg_get_groups(pkg), NULL); break; case 'E': /* depends (shortdeps) */ out += print_list(alpm_pkg_get_depends(pkg), (extractfn)alpm_dep_get_name); break; case 'D': /* depends */ out += print_list(alpm_pkg_get_depends(pkg), (extractfn)alpm_dep_compute_string); break; case 'O': /* optdepends */ out += print_list(alpm_pkg_get_optdepends(pkg), (extractfn)format_optdep); break; case 'o': /* optdepends (shortdeps) */ out += print_list(alpm_pkg_get_optdepends(pkg), (extractfn)alpm_dep_get_name); break; case 'C': /* conflicts */ out += print_list(alpm_pkg_get_conflicts(pkg), (extractfn)alpm_dep_get_name); break; case 'S': /* provides (shortdeps) */ out += print_list(alpm_pkg_get_provides(pkg), (extractfn)alpm_dep_get_name); break; case 'P': /* provides */ out += print_list(alpm_pkg_get_provides(pkg), (extractfn)alpm_dep_compute_string); break; case 'R': /* replaces */ out += print_list(alpm_pkg_get_replaces(pkg), (extractfn)alpm_dep_get_name); break; case 'B': /* backup */ out += print_list(alpm_pkg_get_backup(pkg), alpm_backup_get_name); break; case 'V': /* package validation */ out += print_allocated_list(get_validation_method(pkg), NULL); break; case 'M': /* modified */ out += print_allocated_list(get_modified_files(pkg), NULL); break; case '%': fputc('%', stdout); out++; break; default: fputc('?', stdout); out++; break; } } else if (*f == '\\') { char esc[3] = { f[0], f[1], '\0' }; out += print_escaped(esc); ++f; } else { fputc(*f, stdout); out++; } } /* only print a delimeter if any package data was outputted */ if (out > 0) { print_escaped(opt_delim); } return !out; }