#include "runeunfold.c"
#include <bio.h>
void
unfold(Biobuf *b, char *re)
{
Rune r, r0, *s;
for(; *re != 0; ){
if(*re == '\\'){
Bputc(b, '\\');
if(re[1] == 0)
break;
}
re += chartorune(&r, re);
r0 = tobaserune(r);
if(s = equivrune(r0))
Bprint(b, "%S", s);
else
Bputrune(b, r);
}
}
void
usage(void)
{
fprint(2, "usage: unfoldre\n");
exits("usage");
}
void
main(int argc, char **argv)
{
int i;
Biobuf b;
ARGBEGIN{
default:
usage();
}ARGEND
Binit(&b, 1, OWRITE);
for(i = 0; i < argc; i++)
unfold(&b, argv[i]);
Bterm(&b);
exits("");
}
|