MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / el_get

Function el_get

extern/editline/src/eln.c:277–362  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

275
276
277public int
278el_get(EditLine *el, int op, ...)
279{
280 va_list ap;
281 int ret;
282
283 if (!el)
284 return -1;
285
286 va_start(ap, op);
287
288 switch (op) {
289 case EL_PROMPT: /* el_pfunc_t * */
290 case EL_RPROMPT: {
291 el_pfunc_t *p = va_arg(ap, el_pfunc_t *);
292 ret = prompt_get(el, p, 0, op);
293 break;
294 }
295
296 case EL_PROMPT_ESC: /* el_pfunc_t *, char **/
297 case EL_RPROMPT_ESC: {
298 el_pfunc_t *p = va_arg(ap, el_pfunc_t *);
299 char *c = va_arg(ap, char *);
300 wchar_t wc = 0;
301 ret = prompt_get(el, p, &wc, op);
302 *c = (char)wc;
303 break;
304 }
305
306 case EL_EDITOR: {
307 const char **p = va_arg(ap, const char **);
308 const wchar_t *pw;
309 ret = el_wget(el, op, &pw);
310 *p = ct_encode_string(pw, &el->el_lgcyconv);
311 if (!el->el_lgcyconv.csize)
312 ret = -1;
313 break;
314 }
315
316 case EL_TERMINAL: /* const char ** */
317 ret = el_wget(el, op, va_arg(ap, const char **));
318 break;
319
320 case EL_SIGNAL: /* int * */
321 case EL_EDITMODE:
322 case EL_UNBUFFERED:
323 case EL_PREP_TERM:
324 ret = el_wget(el, op, va_arg(ap, int *));
325 break;
326
327 case EL_GETTC: {
328 char *argv[20];
329 static char gettc[] = "gettc";
330 int i;
331 for (i = 1; i < (int)__arraycount(argv); ++i)
332 if ((argv[i] = va_arg(ap, char *)) == NULL)
333 break;
334 argv[0] = gettc;

Callers 2

rl_initializeFunction · 0.85
rl_get_screen_sizeFunction · 0.85

Calls 3

prompt_getFunction · 0.85
ct_encode_stringFunction · 0.85
terminal_gettcFunction · 0.85

Tested by

no test coverage detected