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;
 | 
						|
}
 |