about summary refs log tree commit diff
path: root/tr2cyr.c
diff options
context:
space:
mode:
Diffstat (limited to 'tr2cyr.c')
-rw-r--r--tr2cyr.c60
1 files changed, 2 insertions, 58 deletions
diff --git a/tr2cyr.c b/tr2cyr.c
index fc6cfcb..7682d23 100644
--- a/tr2cyr.c
+++ b/tr2cyr.c
@@ -1,50 +1,11 @@
 #include <errno.h>
-#include <locale.h>
-#include <stddef.h>
-#include <stdio.h>
 #include <wchar.h>
 #include <wctype.h>
 
-/*
- * a = а
- * b = б
- * v = в
- * g = г
- * d = д
- * e = е
- * yo = ё
- * yz = ж
- * z = з
- * i = и
- * j = й
- * k = к
- * l = л
- * m = м
- * n = н
- * o = о
- * p = п
- * r = р
- * s = с
- * t = т
- * u = у
- * f = ф
- * h = х
- * c = ц
- * yc = ч
- * ys = ш
- * yg = щ
- * y" = ъ
- * yi = ы
- * y' = ь
- * ye = э
- * yu = ю
- * ya = я
- */
+#include "tr2cyr.h"
 
-typedef int Translator_Writer(wchar_t ch, void *arg);
-typedef wint_t Translator_Reader(size_t i, void *arg);
 
-int Translator_convert(Translator_Reader *reader, void *readerarg, Translator_Writer *writer, void *writerarg)
+int tr2cyr(tr2cyr_reader *reader, void *readerarg, tr2cyr_writer *writer, void *writerarg)
 {
     size_t i;
     int lowercase;
@@ -122,20 +83,3 @@ int Translator_convert(Translator_Reader *reader, void *readerarg, Translator_Wr
     }
     return errno ? -1 : 0;
 }
-
-static wint_t reader(size_t i, void *arg)
-{
-    return getwchar();
-}
-
-static int writer(wchar_t ch, void *arg)
-{
-    (void)arg;
-    return putwchar(ch) == WEOF ? -1 : 0;
-}
-
-int main(int argc, char **argv)
-{
-    setlocale(LC_CTYPE, "");
-    Translator_convert(&reader, 0, &writer, 0);
-}