File: sample.c

package info (click to toggle)
php5 5.2.0-8%2Betch1
  • links: PTS
  • area: main
  • in suites: etch-m68k
  • size: 58,836 kB
  • ctags: 45,575
  • sloc: ansic: 535,107; sh: 17,819; php: 11,336; cpp: 4,289; xml: 3,861; yacc: 2,446; lex: 2,174; makefile: 1,150; tcl: 1,128; awk: 693; perl: 71; sql: 22; pascal: 15
file content (38 lines) | stat: -rw-r--r-- 1,008 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*
  this is a small sample script to use libmbfl.
  Rui Hirokawa <hirokawa@php.net>
  
  this file is encoded in EUC-JP.
 */

#include <stdio.h>
#include "../mbfl/mbfilter.h"

int main()
{
  enum mbfl_no_encoding from_encoding, to_encoding;
  enum mbfl_no_language no_language;
  mbfl_buffer_converter *convd = NULL;
  mbfl_string string, result, *ret;
  mbfl_language lang;
  unsigned char input[] = "ܸʸ"; /* EUC-JP kanji string */

  no_language = mbfl_name2no_language("Japanese");
  from_encoding = mbfl_name2no_encoding("EUC-JP");
  to_encoding = mbfl_name2no_encoding("SJIS");

  mbfl_string_init(&string);
  mbfl_string_init(&result);

  string.no_encoding = from_encoding;
  string.no_language = no_language;
  string.val = (unsigned char *)input;
  string.len = strlen(input);

  convd = mbfl_buffer_converter_new(from_encoding, to_encoding, 0);
  ret = mbfl_buffer_converter_feed_result(convd, &string, &result);
  mbfl_buffer_converter_delete(convd);  

  puts(ret->val);
  return 1;
}