From: graham.gower Date: Tue, 3 Nov 2009 06:19:56 +0000 (+0000) Subject: Remove response_callback bits. Forgot to commit this before. X-Git-Url: https://git.librecmc.org/?p=oweals%2Fopkg-lede.git;a=commitdiff_plain;h=a03d7bafd2ada5d8d8d67388a450362d7e427258;hp=fe5e98ee4104f8d192a0107e0e7bb3fddd582dbe Remove response_callback bits. Forgot to commit this before. git-svn-id: http://opkg.googlecode.com/svn/trunk@249 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358 --- diff --git a/libopkg/user.c b/libopkg/user.c index 04dfd9e..8c960dc 100644 --- a/libopkg/user.c +++ b/libopkg/user.c @@ -23,30 +23,21 @@ #include "str_util.h" #include "user.h" -static char *question = NULL; -static int question_len = 255; - -opkg_response_callback opkg_cb_response = NULL; - char *get_user_response(const char *format, ...) { - int len = question_len; - va_list ap; - char *response; - - do { - if (question == NULL || len > question_len) { - question = realloc(question, len + 1); - question_len = len; - } - - va_start(ap, format); - len = vsnprintf(question,question_len,format,ap); - va_end(ap); - } while (len > question_len); - response = strdup(opkg_cb_response(question)); - str_chomp(response); - str_tolower(response); - - return response; + va_list ap; + char *response; + + va_start(ap, format); + vprintf(format, ap); + va_end(ap); + + response = (char *)file_read_line_alloc(stdin); + if (response == NULL) + return NULL; + + str_chomp(response); + str_tolower(response); + + return response; } diff --git a/libopkg/user.h b/libopkg/user.h index 8d2a0cf..81d7262 100644 --- a/libopkg/user.h +++ b/libopkg/user.h @@ -19,6 +19,5 @@ #include #include -typedef char* (*opkg_response_callback)(char *question); char *get_user_response(const char *format, ...);