Hi all, They need to be adapted to the changed API for q_get_* etc.
The attached patch should be obviously correct and safe to apply, but I'm sending it here for review just in case. Max
Index: debian/changelog =================================================================== --- debian/changelog (Revision 53045) +++ debian/changelog (Arbeitskopie) @@ -1,8 +1,13 @@ cdebconf (0.131) UNRELEASED; urgency=low + [ Frans Pop ] * gtk frontend: remove special handling for countrychooser/country-name as that template no longer exists. Requires: localechooser (>= 2.02). + [ Max Vozeler ] + * src/modules/frontend/{ncurses,slang,bogl}: Adapt to API changes made in + cdebconf 0.129 - q_get_*() and question_get_value(). + -- Frans Pop <[EMAIL PROTECTED]> Sun, 20 Apr 2008 18:21:40 +0200 cdebconf (0.130) unstable; urgency=low Index: src/modules/frontend/ncurses/ncurses.c =================================================================== --- src/modules/frontend/ncurses/ncurses.c (Revision 53045) +++ src/modules/frontend/ncurses/ncurses.c (Arbeitskopie) @@ -225,8 +225,8 @@ { WINDOW *qrywin = UIDATA(ui)->qrywin; WINDOW *descwin = UIDATA(ui)->descwin; - char *descr = q_get_description(q); - char *ext_descr = q_get_extended_description(q); + char *descr = q_get_description(ui, q); + char *ext_descr = q_get_extended_description(ui, q); drawframe(ui, WIN_QUERY, ui->title); wrapprint(qrywin, descr, 0, COLS-2); @@ -369,13 +369,13 @@ WINDOW *win = UIDATA(ui)->qrywin; /* Parse out all the choices */ - count = strchoicesplit(q_get_choices_vals(q), choices, DIM(choices)); + count = strchoicesplit(q_get_choices_vals(ui, q), choices, DIM(choices)); if (count <= 0) return DC_NOTOK; if (count == 1) defval = choices[0]; - strchoicesplit(q_get_choices(q), choices_translated, DIM(choices_translated)); - dcount = strchoicesplit(question_get_field(q, "C", "value"), defaults, DIM(defaults)); + strchoicesplit(q_get_choices(ui, q), choices_translated, DIM(choices_translated)); + dcount = strchoicesplit(question_get_field(ui, q, "C", "value"), defaults, DIM(defaults)); /* See what the currently selected value should be -- either a * previously selected value, or the default for the question Index: src/modules/frontend/slang/slang.c =================================================================== --- src/modules/frontend/slang/slang.c (Revision 53045) +++ src/modules/frontend/slang/slang.c (Arbeitskopie) @@ -202,8 +202,8 @@ static void slang_drawdesc(struct frontend *ui, struct question *q) { struct uidata *uid = UIDATA(ui); - char *descr = q_get_description(q); - char *ext_descr = q_get_extended_description(q); + char *descr = q_get_description(ui, q); + char *ext_descr = q_get_extended_description(ui, q); /* Clear the windows */ slang_drawwin(&uid->qrywin); @@ -290,14 +290,14 @@ static char *get_text(struct frontend *obj, const char *template, char *fallback) { struct question *q = obj->qdb->methods.get(obj->qdb, template); - return q ? q_get_description(q) : fallback; + return q ? q_get_description(obj, q) : fallback; } static char *button_text(struct frontend *obj, const char *template, char *fallback) { char text[50]; struct question *q = obj->qdb->methods.get(obj->qdb, template); - sprintf(text, "< %s >", q ? q_get_description(q) : fallback); + sprintf(text, "< %s >", q ? q_get_description(obj, q) : fallback); return strdup(text); } @@ -368,7 +368,7 @@ if (!yes_text) yes_text = get_text(ui, "debconf/button-yes", "Yes"); if (!no_text) no_text = get_text(ui, "debconf/button-no", "No"); - value = question_get_field(q, "C", "value"); + value = question_get_field(ui, q, "C", "value"); ans = (strcmp(value, "true") == 0); pos = (ans ? 2 : 3); @@ -428,24 +428,24 @@ char *selected; char answer[1024] = {0}; int *tindex = NULL; - const char *indices = q_get_indices(q); + const char *indices = q_get_indices(ui, q); int i, j, count, dcount, ret = 0, val = 0, pos = 2, xpos, ypos; int top, bottom, longest, ch; struct uidata *uid = UIDATA(ui); struct slwindow *win = &uid->qrywin; /* Parse out all the choices */ - count = strgetargc(q_get_choices_vals(q)); + count = strgetargc(q_get_choices_vals(ui, q)); if (count <= 0) return DC_NOTOK; choices = malloc(sizeof(char *) * count); choices_translated = malloc(sizeof(char *) * count); tindex = malloc(sizeof(int) * count); - if (strchoicesplitsort(q_get_choices_vals(q), q_get_choices(q), indices, choices, choices_translated, tindex, count) != count) + if (strchoicesplitsort(q_get_choices_vals(ui, q), q_get_choices(ui, q), indices, choices, choices_translated, tindex, count) != count) return DC_NOTOK; defaults = malloc(sizeof(char *) * count); - dcount = strchoicesplit(question_get_field(q, "C", "value"), defaults, count); + dcount = strchoicesplit(question_get_field(ui, q, "C", "value"), defaults, count); INFO(INFO_VERBOSE, "Parsed out %d choices, %d defaults", count, dcount); if (dcount <= 0) return DC_NOTOK; if (count == 1 && !multi) @@ -592,7 +592,7 @@ int xpos = 0, ypos = win->y + win->border + 4; int cursor; - STRCPY(value, question_get_field(q, "C", "value")); + STRCPY(value, question_get_field(ui, q, "C", "value")); cursor = strlen(value); /* TODO: scrolling */ Index: src/modules/frontend/bogl/bogl.c =================================================================== --- src/modules/frontend/bogl/bogl.c (Revision 53045) +++ src/modules/frontend/bogl/bogl.c (Arbeitskopie) @@ -38,7 +38,7 @@ get_text(struct frontend *obj, const char *template, const char *fallback ) { struct question *q = obj->qdb->methods.get(obj->qdb, template); - return q ? q_get_description(q) : fallback; + return q ? q_get_description(obj, q) : fallback; } static handler_t handler(const char *type) @@ -62,12 +62,12 @@ static void drawdesctop(struct frontend *ui, struct question *q) { bowl_title(ui->title); - bowl_new_text(q_get_description(q)); + bowl_new_text(q_get_description(ui, q)); } static void drawdescbot(struct frontend *ui, struct question *q) { - bowl_new_text(q_get_extended_description(q)); + bowl_new_text(q_get_extended_description(ui, q)); } @@ -76,7 +76,7 @@ int bogl_handler_boolean(struct frontend *ui, struct question *q) { /* Should just make bowl_new_checkbox be properly const-qualified. */ - char *desc = strdup(q_get_description(q)); + char *desc = strdup(q_get_description(ui, q)); int ret; #if 0 @@ -128,7 +128,7 @@ const char *p; count = 0; - p = q_get_choices_vals(q); + p = q_get_choices_vals(ui, q); if (*p) { count++; @@ -140,18 +140,18 @@ if (count <= 0) return DC_NOTOK; choices = malloc(sizeof(char *) * count); - strchoicesplit(q_get_choices_vals(q), choices, count); + strchoicesplit(q_get_choices_vals(ui, q), choices, count); choices_translated = malloc(sizeof(char *) * count); - strchoicesplit(q_get_choices(q), choices_translated, count); + strchoicesplit(q_get_choices(ui, q), choices_translated, count); selected = malloc(sizeof(char) * count); memset(selected, ' ', count); dcount = 1; - for(p = question_get_field(q, "C", "value"); *p; p++) + for(p = question_get_field(ui, q, "C", "value"); *p; p++) if(*p == ',') dcount++; defaults = malloc(sizeof(char *) * dcount); - dcount = strchoicesplit(question_get_field(q, "C", "value"), defaults, dcount); + dcount = strchoicesplit(question_get_field(ui, q, "C", "value"), defaults, dcount); for(j = 0; j < dcount; j++) { for(i = 0; i < count; i++) @@ -176,7 +176,7 @@ if(ret == DC_OK) { /* Be safe - allow for commas and spaces. */ - char *answer = malloc(strlen(q_get_choices(q)) + 1 + count); + char *answer = malloc(strlen(q_get_choices(ui, q)) + 1 + count); answer[0] = 0; for(i = 0; i < count; i++) if (selected[i] == '*') @@ -202,7 +202,7 @@ bowl_flush(); drawdesctop(ui, q); - bowl_new_input(&s, question_get_field(q, "C", "value")); + bowl_new_input(&s, question_get_field(ui, q, "C", "value")); drawnavbuttons(ui, q); drawdescbot(ui, q); bowl_layout();