#include "runeunfold.c" #include 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(""); }