morita
morit****@razil*****
2008年 7月 9日 (水) 13:47:25 JST
森です。これはバグだったのでなおしました。(rev941)
1:192:128
3:192:128
が返るようになりました。
morita さんは書きました:
> 森です。
> この挙動は僕が想定してるのとちょっと違うのでこちらでも調べてみます。
>
> 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 mailing list
> Senna****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/senna-dev
> バグ報告方法:http://qwik.jp/senna/bug_report.html
>
>