[Senna-dev 952] SEN_PAT_WITH_SISとSEN_TABLE_ADDED

Zurück zum Archiv-Index

Kouhei Sutou kou****@cozmi*****
2008年 7月 8日 (火) 11:51:33 JST


須藤です。

正しい挙動がわからないので教えてください。

以下のプログラムを実行するとこのような出力なります。

  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 メーリングリストの案内
Zurück zum Archiv-Index