char * grub_tparm(const char *string,...) { char *result; int *dataptr = (int *)(void *) &string; dataptr++; result = tparam_internal(string, dataptr); return result; }
char *tparm(NCURSES_CONST char *string, ...) { va_list ap; char *result; va_start(ap, string); #ifdef TRACE tname = "tparm"; #endif /* TRACE */ result = tparam_internal(string, ap); va_end(ap); return result; }
/* scan forward for a %; at level zero */ string++; level = 0; while (*string) { if (*string == '%') { string++; if (*string == '?') level++; else if (*string == ';') { if (level > 0) level--; else break; } } if (*string) string++; } break; case ';': break; } /* endswitch (*string) */ } /* endelse (*string == '%') */ if (*string == '\0') break; string++; } /* endwhile (*string) */ if (out_buff == 0) out_buff = calloc(1,1); if (out_used == 0) *out_buff = '\0'; T((T_RETURN("%s"), _nc_visbuf(out_buff))); return(out_buff); } char *tparm(NCURSES_CONST char *string, ...) { va_list ap; char *result; va_start(ap, string); #ifdef TRACE tname = "tparm"; #endif /* TRACE */ result = tparam_internal(string, ap); va_end(ap); return result; } #ifdef __UNUSED__ /* we never documented this, and it confuses Emacs */ char *tparam(const char *string, char *buffer, int bufsiz, ...) { va_list ap; char *result = 0; va_start(ap, bufsiz); #ifdef TRACE tname = "tparam"; #endif /* TRACE */ if (tparam_internal(string, ap) != 0 && (int)out_used < bufsiz) result = strcpy(buffer, out_buff); va_end(ap); return result; }