10 if (!stralloc_copys(
out,
""))
return 0;
18 if (!stralloc_append(
out,
"|"))
return 0;
22 if (ch ==
'\\')
if (*in) ch = *in++;
23 if (!stralloc_append(
out,&ch))
return 0;
25 if (!stralloc_0(
out))
return 0;
29 if (!stralloc_append(
out,
"|"))
return 0;
30 if (!stralloc_append(
out,
"["))
return 0;
34 if (ch ==
'\\')
if (*in) ch = *in++;
35 if (!stralloc_append(
out,&ch))
return 0;
37 if (!stralloc_append(
out,
"]"))
return 0;
38 if (!stralloc_0(
out))
return 0;
42 if (!stralloc_append(
out,
"("))
return 0;
49 if (!stralloc_append(
out,
")"))
return 0;
53 if (level)
if (!stralloc_append(
out,
"("))
return 0;
57 if (ch ==
'\\')
if (*in) ch = *in++;
58 if (!stralloc_append(
out,&ch))
return 0;
60 if (!stralloc_0(
out))
return 0;
63 case '<':
case '>':
case ',':
case ';':
case ':':
66 if (!stralloc_append(
out,&ch))
return 0;
67 if (!stralloc_0(
out))
return 0;
71 if (!stralloc_append(
out,
"|"))
return 0;
74 if (ch ==
'\\')
if (*in) ch = *in++;
75 if (!stralloc_append(
out,&ch))
return 0;
89 if (ch ==
'\t')
break;
93 if (!stralloc_0(
out))
return 0;
int mess822_token(stralloc *out, char *in)