PR/25694: Luke Mewburn: Don't abuse unconstify'ing a string and writing to
it, because you'll core dump. Also remove extra const that gives pain to the irix compiler.
This commit is contained in:
parent
65b04a0bf1
commit
917b5f36b1
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: parse.c,v 1.20 2003/12/05 13:37:48 lukem Exp $ */
|
/* $NetBSD: parse.c,v 1.21 2005/05/29 03:55:37 christos Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* Copyright (c) 1992, 1993
|
* Copyright (c) 1992, 1993
|
||||||
@ -37,7 +37,7 @@
|
|||||||
#if 0
|
#if 0
|
||||||
static char sccsid[] = "@(#)parse.c 8.1 (Berkeley) 6/4/93";
|
static char sccsid[] = "@(#)parse.c 8.1 (Berkeley) 6/4/93";
|
||||||
#else
|
#else
|
||||||
__RCSID("$NetBSD: parse.c,v 1.20 2003/12/05 13:37:48 lukem Exp $");
|
__RCSID("$NetBSD: parse.c,v 1.21 2005/05/29 03:55:37 christos Exp $");
|
||||||
#endif
|
#endif
|
||||||
#endif /* not lint && not SCCSID */
|
#endif /* not lint && not SCCSID */
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ el_parse(EditLine *el, int argc, const char *argv[])
|
|||||||
* the appropriate character or -1 if the escape is not valid
|
* the appropriate character or -1 if the escape is not valid
|
||||||
*/
|
*/
|
||||||
protected int
|
protected int
|
||||||
parse__escape(const char **const ptr)
|
parse__escape(const char ** ptr)
|
||||||
{
|
{
|
||||||
const char *p;
|
const char *p;
|
||||||
int c;
|
int c;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: tty.c,v 1.21 2004/08/13 12:10:39 mycroft Exp $ */
|
/* $NetBSD: tty.c,v 1.22 2005/05/29 03:55:37 christos Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* Copyright (c) 1992, 1993
|
* Copyright (c) 1992, 1993
|
||||||
@ -37,7 +37,7 @@
|
|||||||
#if 0
|
#if 0
|
||||||
static char sccsid[] = "@(#)tty.c 8.1 (Berkeley) 6/4/93";
|
static char sccsid[] = "@(#)tty.c 8.1 (Berkeley) 6/4/93";
|
||||||
#else
|
#else
|
||||||
__RCSID("$NetBSD: tty.c,v 1.21 2004/08/13 12:10:39 mycroft Exp $");
|
__RCSID("$NetBSD: tty.c,v 1.22 2005/05/29 03:55:37 christos Exp $");
|
||||||
#endif
|
#endif
|
||||||
#endif /* not lint && not SCCSID */
|
#endif /* not lint && not SCCSID */
|
||||||
|
|
||||||
@ -1228,7 +1228,7 @@ tty_stty(EditLine *el, int argc __attribute__((__unused__)), const char **argv)
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
while (argv && (s = *argv++)) {
|
while (argv && (s = *argv++)) {
|
||||||
char *p;
|
const char *p;
|
||||||
switch (*s) {
|
switch (*s) {
|
||||||
case '+':
|
case '+':
|
||||||
case '-':
|
case '-':
|
||||||
@ -1239,10 +1239,10 @@ tty_stty(EditLine *el, int argc __attribute__((__unused__)), const char **argv)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
d = s;
|
d = s;
|
||||||
if ((p = strchr(s, '=')) != NULL)
|
p = strchr(s, '=');
|
||||||
*p++ = '\0';
|
|
||||||
for (m = ttymodes; m->m_name; m++)
|
for (m = ttymodes; m->m_name; m++)
|
||||||
if (strcmp(m->m_name, d) == 0 &&
|
if ((p ? strncmp(m->m_name, d, (size_t)(p - d)) :
|
||||||
|
strcmp(m->m_name, d)) == 0 &&
|
||||||
(p == NULL || m->m_type == MD_CHAR))
|
(p == NULL || m->m_type == MD_CHAR))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -1253,7 +1253,7 @@ tty_stty(EditLine *el, int argc __attribute__((__unused__)), const char **argv)
|
|||||||
}
|
}
|
||||||
if (p) {
|
if (p) {
|
||||||
int c = ffs((int)m->m_value);
|
int c = ffs((int)m->m_value);
|
||||||
int v = *p ? parse__escape((const char **const) &p) :
|
int v = *++p ? parse__escape((const char **) &p) :
|
||||||
el->el_tty.t_vdisable;
|
el->el_tty.t_vdisable;
|
||||||
assert(c-- != 0);
|
assert(c-- != 0);
|
||||||
c = tty__getcharindex(c);
|
c = tty__getcharindex(c);
|
||||||
|
Loading…
Reference in New Issue
Block a user