39 lines
763 B
C
39 lines
763 B
C
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include "wc.h"
|
|
|
|
int
|
|
main(int argc, char **argv)
|
|
{
|
|
Str s = Strnew();
|
|
wc_ces old, from, to;
|
|
FILE *f;
|
|
|
|
if (argc < 3) {
|
|
fprintf(stderr, "wctest <form> <to> [<file>]\n");
|
|
exit(1);
|
|
}
|
|
|
|
from = wc_guess_charset_short(argv[1], 0);
|
|
to = wc_guess_charset_short(argv[2], 0);
|
|
if (argc > 3)
|
|
f = fopen(argv[3], "r");
|
|
else
|
|
f = stdin;
|
|
if (f == NULL) exit(2);
|
|
|
|
fprintf(stderr, "%s -> %s\n", wc_ces_to_charset(from), wc_ces_to_charset(to));
|
|
while (1) {
|
|
s = Strfgets(f);
|
|
if (!s->length)
|
|
break;
|
|
old = from;
|
|
s = wc_Str_conv_with_detect(s, &from, from, to);
|
|
if (from != old)
|
|
fprintf(stderr, "%s ->\n", wc_ces_to_charset(from));
|
|
printf("%s", s->ptr);
|
|
}
|
|
return 0;
|
|
}
|