Lines Matching refs:menup

66 setmsg(CKMENU *menup, short flag)
75 if (menup->attr & CKUNNUM) {
109 ckitem_err(CKMENU *menup, char *error)
111 deferr = setmsg(menup, 1);
117 ckitem_hlp(CKMENU *menup, char *help)
119 defhlp = setmsg(menup, 0);
125 ckitem(CKMENU *menup, char *item[], short max, char *defstr, char *error,
132 if ((menup->nchoices <= 0) && !menup->invis)
135 if (menup->attr & CKONEFLAG) {
136 if (((n = menup->nchoices) <= 1) && menup->invis) {
137 for (i = 0; menup->invis[i]; ++i)
141 if (menup->choice)
142 item[0] = menup->choice->token;
143 else if (menup->invis)
144 item[0] = menup->invis[0];
151 max = menup->nchoices;
155 defhlp = setmsg(menup, 0);
156 deferr = setmsg(menup, 1);
159 printmenu(menup);
174 list = match(menup, strval, (int)max);
230 match(CKMENU *menup, char *strval, int max)
252 if (!(menup->attr & CKUNNUM) &&
254 if (getnum(strval, (int)menup->nchoices, &begin,
259 chp = menup->choice;
274 chp = menup->choice;
290 if (menup->invis) {
291 for (i = 0; menup->invis[i]; ++i) {
293 if (strncmp(menup->invis[i], strval,
298 if (menup->invis[i][len] == '\0') {
300 found = menup->invis[i];
306 found = menup->invis[i];
321 setitem(CKMENU *menup, char *choice)
329 chp = menup->choice;
334 menup->longest = menup->nchoices = 0;
362 if (n > menup->longest)
363 menup->longest = (short)n;
365 if (insert(chp, menup))
366 menup->nchoices++;
373 setinvis(CKMENU *menup, char *choice)
379 if (menup->invis == NULL)
381 while (menup->invis[index])
382 free(menup->invis[index]);
383 free(menup->invis);
387 if (menup->invis == NULL)
388 menup->invis = calloc(2, sizeof (char *));
390 while (menup->invis[index])
392 menup->invis = realloc(menup->invis,
394 menup->invis[index+1] = NULL;
396 if (!menup->invis)
398 menup->invis[index] = strdup(choice);
403 insert(struct _choice_ *chp, CKMENU *menup)
408 base = menup->choice;
411 if (!(menup->attr & CKALPHA)) {
421 menup->choice = chp;
439 chp->next = menup->choice;
440 menup->choice = chp;
446 printmenu(CKMENU *menup)
455 if (menup->label) {
456 (void) puttext(stderr, menup->label, 0, 0);
459 (void) sprintf(format, "%%-%ds", menup->longest+5);
462 chp = ((menup->attr & CKALPHA) ? next(menup->choice) : menup->choice);
464 if (!(menup->attr & CKUNNUM))
473 if (!(menup->attr & CKUNNUM))
483 chp = ((menup->attr & CKALPHA) ?
484 next(menup->choice) : chp->next);
489 menup->nchoices - i);