return r;
}
+int cli_term_confirm_yes(struct pakfire* pakfire,
+ void* data, const char* message, const char* question) {
+ return 0;
+}
+
static int cli_term_enter_number(const char* question, unsigned int* choice,
unsigned int min, unsigned int max) {
char* line = NULL;
struct pakfire_problem** problems, const unsigned int choice) {
struct pakfire_solution* selected_solution = NULL;
struct pakfire_solution** solutions = NULL;
- int r;
// Count solutions
unsigned int i = 1;
int cli_term_confirm(struct pakfire* pakfire,
void* data, const char* message, const char* question);
+int cli_term_confirm_yes(struct pakfire* pakfire,
+ void* data, const char* message, const char* question);
int cli_term_pick_solution(
struct pakfire* pakfire, struct pakfire_transaction* transaction, void* data);
return 0;
}
+static int configure_callbacks(const struct config* config, struct pakfire* pakfire) {
+ // If the user wants to answer yes to everything we only configure that
+ if (config->yes) {
+ pakfire_set_confirm_callback(pakfire, cli_term_confirm_yes, NULL);
+
+ return 0;
+ }
+
+ // Configure confirm callback
+ pakfire_set_confirm_callback(pakfire, cli_term_confirm, NULL);
+
+ // Configure pick solution callback
+ pakfire_set_pick_solution_callback(pakfire, cli_term_pick_solution, NULL);
+
+ return 0;
+}
+
static void cli_set_repo_enabled(struct pakfire* pakfire, const char* name, int enabled) {
struct pakfire_repo* repo = NULL;
goto ERROR;
// Configure callbacks
- pakfire_set_confirm_callback(pakfire, cli_term_confirm, NULL);
-
- // Configure pick solution callback
- pakfire_set_pick_solution_callback(pakfire, cli_term_pick_solution, NULL);
+ r = configure_callbacks(&config, pakfire);
+ if (r)
+ goto ERROR;
// Enable repositories
for (unsigned int i = 0; i < config.num_enable_repos; i++)