Lines Matching defs:str

80 	keymacro_value_t val;		/* command code or pointer to str,  */
144 * Associate str with a key value
147 keymacro_map_str(EditLine *el, Char *str)
150 el->el_keymacro.val.str = str;
175 * Returns NULL in val.str and XK_STR for no match.
190 * command, an out str or a unix command.
309 val->str = NULL;
317 * Find a node that matches *str or allocate a new one
320 node__try(EditLine *el, keymacro_node_t *ptr, const Char *str,
324 if (ptr->ch != *str) {
328 if (xm->sibling->ch == *str)
331 xm->sibling = node__get(*str); /* setup new node */
334 if (*++str == '\0') {
347 if (ptr->val.str)
348 el_free(ptr->val.str);
362 if ((ptr->val.str = Strdup(val->str)) == NULL)
372 ptr->next = node__get(*str); /* setup new node */
373 (void) node__try(el, ptr->next, str, val, ntype);
380 * Delete node that matches str
383 node__delete(EditLine *el, keymacro_node_t **inptr, const Char *str)
390 if (ptr->ch != *str) {
394 if (xm->sibling->ch == *str)
401 if (*++str == '\0') {
411 node__delete(el, &ptr->next, str) == 1) {
448 if (ptr->val.str != NULL)
449 el_free(ptr->val.str);
472 ptr->val.str = NULL;
489 * look for the str starting at node ptr.
493 node_lookup(EditLine *el, const Char *str, keymacro_node_t *ptr, size_t cnt)
500 if (!str || *str == 0) {
501 /* no more chars in str. node_enum from here. */
506 if (ptr->ch == *str) {
514 return (node_lookup(el, str + 1, ptr->next,
518 if (str[1] == 0) {
527 /* mismatch -- str still has chars */
532 return (node_lookup(el, str, ptr->sibling,
565 /* put this char at end of str */
598 (void) keymacro__decode_str(val->str, unparsbuf,
639 keymacro__decode_str(const Char *str, char *buf, size_t len, const char *sep)
648 if (*str == '\0') {
653 for (p = str; *p != 0; p++) {