[Senna-dev 953] Re: SEN_PAT_WITH_SISとSEN_TABLE_ADDED

Back to archive index

morita morit****@razil*****
2008年 7月 9日 (水) 07:33:02 JST


森です。
この挙動は僕が想定してるのとちょっと違うのでこちらでも調べてみます。

Kouhei Sutou さんは書きました:
> 須藤です。
>
> 正しい挙動がわからないので教えてください。
>
> 以下のプログラムを実行するとこのような出力なります。
>
>   1:192:128
>   3:64:0
>
> key2用のsen_pat_lookup()でもSEN_TABLE_ADDEDが立って
>
>   1:192:128
>   3:192:128
>
> となるかなぁと思いました。
>
> # もしよかったらSISはなんの略か教えてもらえませんか?
> # いろいろわからなくてすみません。
>
> /* -*- c-file-style: "gnu" -*- */
>
> #include <stdio.h>
> #include <string.h>
>
> #include <pat.h>
>
> int
> main(int argc, char **argv)
> {
>   sen_ctx *context;
>   sen_pat *pat;
>   sen_id id;
>   void *value;
>   const char key1[] = "セナ";
>   const char key2[] = "セナセナ";
>   sen_table_search_flags flags;
>
>   sen_init();
>
>   context = sen_ctx_open(NULL, SEN_CTX_USEQL);
>   pat = sen_pat_create(context, "/tmp/xxx", SEN_PAT_MAX_KEY_SIZE,
>                        64, SEN_PAT_WITH_SIS, sen_enc_utf8);
>
>   flags = SEN_TABLE_ADD;
>   id = sen_pat_lookup(pat, key1, strlen(key1), &value, &flags);
>   printf("%u:%d:%ld\n", id, flags, flags & SEN_TABLE_ADDED);
>
>   flags = SEN_TABLE_ADD;
>   id = sen_pat_lookup(pat, key2, strlen(key2), &value, &flags);
>   printf("%u:%d:%ld\n", id, flags, flags & SEN_TABLE_ADDED);
>
>   sen_fin();
>
>   return 0;
> }
>
> _______________________________________________
> Senna-dev mailing list
> Senna****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/senna-dev
> バグ報告方法:http://qwik.jp/senna/bug_report.html
>
>   
SISはsemi-infinite string(半無限文字列)のつもりです。。




Senna-dev メーリングリストの案内
Back to archive index