Changeset 2164

Show
Ignore:
Timestamp:
09/20/08 19:47:52 (4 months ago)
Author:
karpet
Message:

use new TokenIterator? API

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • libswish3/trunk/bindings/perl/3.xs

    r2161 r2164  
    371371        char* CLASS; 
    372372        swish_TokenIterator* ti; 
    373         swish_TokenList* tl; 
    374373        swish_MetaName* metaname; 
    375374        xmlChar* meta;   
     
    379378    CODE: 
    380379        CLASS           = TOKENITERATOR_CLASS; 
    381         tl              = swish_init_token_list(); 
    382         ti              = swish_init_token_iterator(self->config, tl); 
     380        ti              = swish_init_token_iterator(self); 
    383381        ti->ref_cnt++; 
    384382        meta            = (xmlChar*)SWISH_DEFAULT_METANAME;    
     
    411409        metaname->ref_cnt++; 
    412410                         
    413         sp_tokenize3( self, buf, tl, metaname, context ); 
     411        sp_tokenize3( ti, buf, metaname, context ); 
    414412         
    415413        RETVAL = ti; 
     
    430428        char* CLASS; 
    431429        swish_TokenIterator* ti; 
    432         swish_TokenList* tl; 
    433430        swish_MetaName* metaname; 
    434431        xmlChar* meta;   
     
    438435    CODE: 
    439436        CLASS           = TOKENITERATOR_CLASS; 
    440         tl              = swish_init_token_list(); 
    441         ti              = swish_init_token_iterator(self->config, tl); 
     437        ti              = swish_init_token_iterator(self); 
    442438        ti->ref_cnt++; 
    443439        meta            = (xmlChar*)SWISH_DEFAULT_METANAME;    
     
    469465        metaname->ref_cnt++; 
    470466                         
    471         swish_tokenize3( self, buf, tl, metaname, context ); 
     467        swish_tokenize3( ti, buf, metaname, context ); 
    472468         
    473469        RETVAL = ti; 
  • libswish3/trunk/bindings/perl/XS/Token.xs

    r2161 r2164  
    1212    CODE: 
    1313        value = swish_get_token_value(self); 
    14         RETVAL = newSVpvn( (char*)value, strlen((char*)value) ); 
     14        RETVAL = newSVpvn( (char*)value, self->len ); 
    1515         
    1616    OUTPUT: 
  • libswish3/trunk/bindings/perl/xs_helpers.c

    r2161 r2164  
    3636static void     sp_test_handler( swish_ParserData* parse_data ); 
    3737static void     sp_handler( swish_ParserData* parse_data ); 
    38 static int      sp_tokenize3( swish_3 *s3,  
     38static int      sp_tokenize3( swish_TokenIterator *ti, 
    3939                              xmlChar *buf,  
    40                               swish_TokenList * tl,  
    4140                              swish_MetaName *meta, 
    4241                              xmlChar *context ); 
     
    632631static int 
    633632sp_tokenize3( 
    634     swish_3 *s3
     633    swish_TokenIterator *ti
    635634    xmlChar *buf, 
    636     swish_TokenList *tl, 
    637635    swish_MetaName *meta, 
    638636    xmlChar *context 
     
    648646    xmlChar         *str_start; 
    649647    int              str_len; 
     648    int              minwordlen, maxwordlen; 
    650649    xmlChar         *str_end; 
    651650    SV              *token_re; 
     
    659658    str_len         = strlen((char*)buf); 
    660659    str_end         = str_start + str_len; 
    661     token_re        = s3->analyzer->regex; 
     660    token_re        = ti->s3->analyzer->regex; 
     661    minwordlen      = ti->s3->analyzer->minwordlen; 
     662    maxwordlen      = ti->s3->analyzer->maxwordlen; 
    662663     
    663664     
     
    703704 
    704705        token_len = (end_ptr - start_ptr) + 1; 
    705         swish_add_token(tl, start_ptr, token_len, meta, context); 
     706         
     707        if (token_len < minwordlen) 
     708            continue; 
     709         
     710        if (token_len > maxwordlen) 
     711            continue; 
     712         
     713        swish_add_token(ti->tl, start_ptr, token_len, meta, context); 
    706714        num_tokens++; 
    707715