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/log.c | 131 ------------------------------------------------------- 1 file changed, 131 deletions(-) delete mode 100644 src/pacman/log.c (limited to 'src/pacman/log.c') 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: */ -- cgit v1.2.3