From f0304168ee4fa6473f72351b7332b3773824f82b Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 25 Apr 2007 20:15:48 -0400 Subject: Move log.c/h -> output.c/h to properly reflect what is contained Signed-off-by: Dan McGee --- src/pacman/Makefile.am | 2 +- src/pacman/add.c | 2 +- src/pacman/callback.c | 2 +- src/pacman/deptest.c | 2 +- src/pacman/log.c | 131 ------------------------------------------------- src/pacman/log.h | 51 ------------------- src/pacman/output.c | 131 +++++++++++++++++++++++++++++++++++++++++++++++++ src/pacman/output.h | 51 +++++++++++++++++++ src/pacman/package.c | 2 +- src/pacman/pacman.c | 2 +- src/pacman/query.c | 2 +- src/pacman/remove.c | 2 +- src/pacman/sync.c | 2 +- src/pacman/util.c | 2 +- 14 files changed, 192 insertions(+), 192 deletions(-) delete mode 100644 src/pacman/log.c delete mode 100644 src/pacman/log.h create mode 100644 src/pacman/output.c create mode 100644 src/pacman/output.h (limited to 'src') diff --git a/src/pacman/Makefile.am b/src/pacman/Makefile.am index 241188ab..942e5a68 100644 --- a/src/pacman/Makefile.am +++ b/src/pacman/Makefile.am @@ -16,7 +16,7 @@ pacman_SOURCES = \ add.c \ conf.h conf.c \ deptest.c \ - log.h log.c \ + output.h output.c \ package.h package.c \ pacman.h pacman.c \ query.c \ diff --git a/src/pacman/add.c b/src/pacman/add.c index 3d0622cc..ae32596d 100644 --- a/src/pacman/add.c +++ b/src/pacman/add.c @@ -30,7 +30,7 @@ /* pacman */ #include "pacman.h" -#include "log.h" +#include "output.h" #include "callback.h" #include "conf.h" #include "util.h" diff --git a/src/pacman/callback.c b/src/pacman/callback.c index d86c7d9c..abb47049 100644 --- a/src/pacman/callback.c +++ b/src/pacman/callback.c @@ -36,7 +36,7 @@ /* pacman */ #include "callback.h" #include "util.h" -#include "log.h" +#include "output.h" #include "conf.h" /* TODO this should not have to be defined twice- trans.c & log.c */ diff --git a/src/pacman/deptest.c b/src/pacman/deptest.c index 2877ef3d..409cc25b 100644 --- a/src/pacman/deptest.c +++ b/src/pacman/deptest.c @@ -32,7 +32,7 @@ #include "pacman.h" #include "util.h" #include "conf.h" -#include "log.h" +#include "output.h" extern config_t *config; diff --git a/src/pacman/log.c b/src/pacman/log.c deleted file mode 100644 index 5a4fbf2e..00000000 --- a/src/pacman/log.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * log.c - * - * Copyright (c) 2002-2006 by Judd Vinet - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - * USA. - */ - -#include "config.h" - -#include -#include -#include -#include -#include - -#include - -/* pacman */ -#include "log.h" -#include "conf.h" -#include "util.h" - -#define LOG_STR_LEN 256 - -extern config_t *config; - -static int neednl = 0; /* for cleaner message output */ -static int needpad = 0; /* pad blanks to terminal width */ - -/* simple helper for needpad */ -void set_output_padding(int on) -{ - needpad = on; -} - -/* Wrapper to fprintf() that allows to choose if we want the output - * to be appended on the current line, or written to a new one - */ -void pm_fprintf(FILE *file, unsigned short line, char *fmt, ...) -{ - va_list args; - - char str[LOG_STR_LEN]; - int len = 0; - - if(neednl == 1 && line == NL) { - fprintf(file, "\n"); - neednl = 0; - } - - if(!fmt) { - return; - } - - va_start(args, fmt); - vsnprintf(str, LOG_STR_LEN, fmt, args); - va_end(args); - - len = strlen(str); - - if(needpad == 1 && str[len-1] == '\n') { - /* we want this removed so we can pad */ - str[len-1] = ' '; - neednl = 1; - } - - fprintf(file, str); - - if(needpad == 1) { - int i, cols = getcols(); - for(i=len; i < cols; ++i) { - fprintf(file, " "); - } - if(neednl == 1 && line == NL) { - fprintf(file, "\n"); - neednl = 0; - } - } - fflush(file); - neednl = (str[strlen(str)-1] == '\n') ? 0 : 1; -} - -/* presents a prompt and gets a Y/N answer */ -/* TODO there must be a better way */ -int yesno(char *fmt, ...) -{ - char str[LOG_STR_LEN]; - char response[32]; - va_list args; - - if(config->noconfirm) { - return(1); - } - - va_start(args, fmt); - vsnprintf(str, LOG_STR_LEN, fmt, args); - va_end(args); - - /* Use stderr so questions are always displayed when redirecting output */ - pm_fprintf(stderr, NL, str); \ - - if(fgets(response, 32, stdin)) { - if(strlen(response) != 0) { - strtrim(response); - } - - /* User hits 'enter', forcing a newline here */ - neednl = 0; - - if(!strcasecmp(response, _("Y")) || !strcasecmp(response, _("YES")) || strlen(response) == 0) { - return(1); - } - } - return(0); -} - -/* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/log.h b/src/pacman/log.h deleted file mode 100644 index f9aea4de..00000000 --- a/src/pacman/log.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * log.h - * - * Copyright (c) 2002-2006 by Judd Vinet - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - * USA. - */ -#ifndef _PM_LOG_H -#define _PM_LOG_H - -#include - -/* TODO these are illegal in ISO C, thus the reason -pedantic was never used - * as a compile flag for the pacman side of things (named variadic macros) */ -#define MSG(line, fmt, args...) pm_fprintf(stdout, line, fmt, ##args) -#define ERR(line, fmt, args...) do { \ - pm_fprintf(stderr, line, _("error: ")); \ - pm_fprintf(stderr, CL, fmt, ##args); \ -} while(0) -#define WARN(line, fmt, args...) do { \ - pm_fprintf(stderr, line, _("warning: ")); \ - pm_fprintf(stderr, CL, fmt, ##args); \ -} while(0) - -enum { - NL, /* new line */ - CL /* current line */ -}; - -void set_output_padding(int on); - -void pm_fprintf(FILE *file, unsigned short line, char *fmt, ...); - -int yesno(char *fmt, ...); - -#endif /* _PM_LOG_H */ - -/* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/output.c b/src/pacman/output.c new file mode 100644 index 00000000..23b03373 --- /dev/null +++ b/src/pacman/output.c @@ -0,0 +1,131 @@ +/* + * output.c + * + * Copyright (c) 2002-2007 by Judd Vinet + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + * USA. + */ + +#include "config.h" + +#include +#include +#include +#include +#include + +#include + +/* pacman */ +#include "output.h" +#include "conf.h" +#include "util.h" + +#define LOG_STR_LEN 256 + +extern config_t *config; + +static int neednl = 0; /* for cleaner message output */ +static int needpad = 0; /* pad blanks to terminal width */ + +/* simple helper for needpad */ +void set_output_padding(int on) +{ + needpad = on; +} + +/* Wrapper to fprintf() that allows to choose if we want the output + * to be appended on the current line, or written to a new one + */ +void pm_fprintf(FILE *file, unsigned short line, char *fmt, ...) +{ + va_list args; + + char str[LOG_STR_LEN]; + int len = 0; + + if(neednl == 1 && line == NL) { + fprintf(file, "\n"); + neednl = 0; + } + + if(!fmt) { + return; + } + + va_start(args, fmt); + vsnprintf(str, LOG_STR_LEN, fmt, args); + va_end(args); + + len = strlen(str); + + if(needpad == 1 && str[len-1] == '\n') { + /* we want this removed so we can pad */ + str[len-1] = ' '; + neednl = 1; + } + + fprintf(file, str); + + if(needpad == 1) { + int i, cols = getcols(); + for(i=len; i < cols; ++i) { + fprintf(file, " "); + } + if(neednl == 1 && line == NL) { + fprintf(file, "\n"); + neednl = 0; + } + } + fflush(file); + neednl = (str[strlen(str)-1] == '\n') ? 0 : 1; +} + +/* presents a prompt and gets a Y/N answer */ +/* TODO there must be a better way */ +int yesno(char *fmt, ...) +{ + char str[LOG_STR_LEN]; + char response[32]; + va_list args; + + if(config->noconfirm) { + return(1); + } + + va_start(args, fmt); + vsnprintf(str, LOG_STR_LEN, fmt, args); + va_end(args); + + /* Use stderr so questions are always displayed when redirecting output */ + pm_fprintf(stderr, NL, str); \ + + if(fgets(response, 32, stdin)) { + if(strlen(response) != 0) { + strtrim(response); + } + + /* User hits 'enter', forcing a newline here */ + neednl = 0; + + if(!strcasecmp(response, _("Y")) || !strcasecmp(response, _("YES")) || strlen(response) == 0) { + return(1); + } + } + return(0); +} + +/* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/output.h b/src/pacman/output.h new file mode 100644 index 00000000..c116502a --- /dev/null +++ b/src/pacman/output.h @@ -0,0 +1,51 @@ +/* + * output.h + * + * Copyright (c) 2002-2007 by Judd Vinet + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + * USA. + */ +#ifndef _PM_OUTPUT_H +#define _PM_OUTPUT_H + +#include + +/* TODO these are illegal in ISO C, thus the reason -pedantic was never used + * as a compile flag for the pacman side of things (named variadic macros) */ +#define MSG(line, fmt, args...) pm_fprintf(stdout, line, fmt, ##args) +#define ERR(line, fmt, args...) do { \ + pm_fprintf(stderr, line, _("error: ")); \ + pm_fprintf(stderr, CL, fmt, ##args); \ +} while(0) +#define WARN(line, fmt, args...) do { \ + pm_fprintf(stderr, line, _("warning: ")); \ + pm_fprintf(stderr, CL, fmt, ##args); \ +} while(0) + +enum { + NL, /* new line */ + CL /* current line */ +}; + +void set_output_padding(int on); + +void pm_fprintf(FILE *file, unsigned short line, char *fmt, ...); + +int yesno(char *fmt, ...); + +#endif /* _PM_OUTPUT_H */ + +/* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/package.c b/src/pacman/package.c index c1617f4d..9e95a0f3 100644 --- a/src/pacman/package.c +++ b/src/pacman/package.c @@ -32,7 +32,7 @@ /* pacman */ #include "package.h" -#include "log.h" +#include "output.h" #include "util.h" /* Display the content of an installed package diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c index 1be43ee8..d240263d 100644 --- a/src/pacman/pacman.c +++ b/src/pacman/pacman.c @@ -43,7 +43,7 @@ /* pacman */ #include "pacman.h" #include "util.h" -#include "log.h" +#include "output.h" #include "callback.h" #include "conf.h" #include "package.h" diff --git a/src/pacman/query.c b/src/pacman/query.c index caf1db28..bfe51af3 100644 --- a/src/pacman/query.c +++ b/src/pacman/query.c @@ -35,7 +35,7 @@ /* pacman */ #include "pacman.h" #include "package.h" -#include "log.h" +#include "output.h" #include "conf.h" #include "util.h" diff --git a/src/pacman/remove.c b/src/pacman/remove.c index d3c0648c..bb1ea0d1 100644 --- a/src/pacman/remove.c +++ b/src/pacman/remove.c @@ -31,7 +31,7 @@ /* pacman */ #include "pacman.h" #include "util.h" -#include "log.h" +#include "output.h" #include "callback.h" #include "conf.h" diff --git a/src/pacman/sync.c b/src/pacman/sync.c index b963eb84..730aadde 100644 --- a/src/pacman/sync.c +++ b/src/pacman/sync.c @@ -37,7 +37,7 @@ /* pacman */ #include "pacman.h" #include "util.h" -#include "log.h" +#include "output.h" #include "package.h" #include "callback.h" #include "conf.h" diff --git a/src/pacman/util.c b/src/pacman/util.c index 376582a7..94274da5 100644 --- a/src/pacman/util.c +++ b/src/pacman/util.c @@ -40,7 +40,7 @@ /* pacman */ #include "util.h" #include "conf.h" -#include "log.h" +#include "output.h" extern config_t *config; -- cgit v1.2.3-24-g4f1b