unbreak $'\xz' to expand to 'xz'
This commit is contained in:
parent
950df6491d
commit
86773fcf21
10
misc.c
10
misc.c
@ -30,7 +30,7 @@
|
|||||||
#include <grp.h>
|
#include <grp.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
__RCSID("$MirOS: src/bin/mksh/misc.c,v 1.251 2017/02/18 02:33:13 tg Exp $");
|
__RCSID("$MirOS: src/bin/mksh/misc.c,v 1.252 2017/03/11 23:56:17 tg Exp $");
|
||||||
|
|
||||||
#define KSH_CHVT_FLAG
|
#define KSH_CHVT_FLAG
|
||||||
#ifdef MKSH_SMALL
|
#ifdef MKSH_SMALL
|
||||||
@ -2150,7 +2150,7 @@ getrusage(int what, struct rusage *ru)
|
|||||||
int
|
int
|
||||||
unbksl(bool cstyle, int (*fg)(void), void (*fp)(int))
|
unbksl(bool cstyle, int (*fg)(void), void (*fp)(int))
|
||||||
{
|
{
|
||||||
int wc, i, c, fc;
|
int wc, i, c, fc, n;
|
||||||
|
|
||||||
fc = (*fg)();
|
fc = (*fg)();
|
||||||
switch (fc) {
|
switch (fc) {
|
||||||
@ -2238,7 +2238,8 @@ unbksl(bool cstyle, int (*fg)(void), void (*fp)(int))
|
|||||||
* four (U: eight) digits; convert to Unicode
|
* four (U: eight) digits; convert to Unicode
|
||||||
*/
|
*/
|
||||||
wc = 0;
|
wc = 0;
|
||||||
while (i--) {
|
n = 0;
|
||||||
|
while (n < i || i == -1) {
|
||||||
wc <<= 4;
|
wc <<= 4;
|
||||||
if ((c = (*fg)()) >= ord('0') && c <= ord('9'))
|
if ((c = (*fg)()) >= ord('0') && c <= ord('9'))
|
||||||
wc += ksh_numdig(c);
|
wc += ksh_numdig(c);
|
||||||
@ -2251,7 +2252,10 @@ unbksl(bool cstyle, int (*fg)(void), void (*fp)(int))
|
|||||||
(*fp)(c);
|
(*fp)(c);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
++n;
|
||||||
}
|
}
|
||||||
|
if (!n)
|
||||||
|
goto unknown_escape;
|
||||||
if ((cstyle && wc > 0xFF) || fc != 'x')
|
if ((cstyle && wc > 0xFF) || fc != 'x')
|
||||||
/* Unicode marker */
|
/* Unicode marker */
|
||||||
wc += 0x100;
|
wc += 0x100;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user