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

Function ch_init

extern/editline/src/chared.c:392–454  ·  view source on GitHub ↗

ch_init(): * Initialize the character editor */

Source from the content-addressed store, hash-verified

390 * Initialize the character editor
391 */
392protected int
393ch_init(EditLine *el)
394{
395 c_macro_t *ma = &el->el_chared.c_macro;
396
397 el->el_line.buffer = el_malloc(EL_BUFSIZ *
398 sizeof(*el->el_line.buffer));
399 if (el->el_line.buffer == NULL)
400 return -1;
401
402 (void) memset(el->el_line.buffer, 0, EL_BUFSIZ *
403 sizeof(*el->el_line.buffer));
404 el->el_line.cursor = el->el_line.buffer;
405 el->el_line.lastchar = el->el_line.buffer;
406 el->el_line.limit = &el->el_line.buffer[EL_BUFSIZ - EL_LEAVE];
407
408 el->el_chared.c_undo.buf = el_malloc(EL_BUFSIZ *
409 sizeof(*el->el_chared.c_undo.buf));
410 if (el->el_chared.c_undo.buf == NULL)
411 return -1;
412 (void) memset(el->el_chared.c_undo.buf, 0, EL_BUFSIZ *
413 sizeof(*el->el_chared.c_undo.buf));
414 el->el_chared.c_undo.len = -1;
415 el->el_chared.c_undo.cursor = 0;
416 el->el_chared.c_redo.buf = el_malloc(EL_BUFSIZ *
417 sizeof(*el->el_chared.c_redo.buf));
418 if (el->el_chared.c_redo.buf == NULL)
419 return -1;
420 el->el_chared.c_redo.pos = el->el_chared.c_redo.buf;
421 el->el_chared.c_redo.lim = el->el_chared.c_redo.buf + EL_BUFSIZ;
422 el->el_chared.c_redo.cmd = ED_UNASSIGNED;
423
424 el->el_chared.c_vcmd.action = NOP;
425 el->el_chared.c_vcmd.pos = el->el_line.buffer;
426
427 el->el_chared.c_kill.buf = el_malloc(EL_BUFSIZ *
428 sizeof(*el->el_chared.c_kill.buf));
429 if (el->el_chared.c_kill.buf == NULL)
430 return -1;
431 (void) memset(el->el_chared.c_kill.buf, 0, EL_BUFSIZ *
432 sizeof(*el->el_chared.c_kill.buf));
433 el->el_chared.c_kill.mark = el->el_line.buffer;
434 el->el_chared.c_kill.last = el->el_chared.c_kill.buf;
435 el->el_chared.c_resizefun = NULL;
436 el->el_chared.c_resizearg = NULL;
437 el->el_chared.c_aliasfun = NULL;
438 el->el_chared.c_aliasarg = NULL;
439
440 el->el_map.current = el->el_map.key;
441
442 el->el_state.inputmode = MODE_INSERT; /* XXX: save a default */
443 el->el_state.doingarg = 0;
444 el->el_state.metanext = 0;
445 el->el_state.argument = 1;
446 el->el_state.lastcmd = ED_UNASSIGNED;
447
448 ma->level = -1;
449 ma->offset = 0;

Callers 1

el_init_fdFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected