Changeset 3937
- Timestamp:
- 01/01/08 23:13:00 (5 years ago)
- Location:
- lang/perl/Senna/trunk
- Files:
-
- 1 added
- 4 modified
-
lib/Senna.xs (modified) (1 diff)
-
lib/Senna/Index.pm (modified) (1 diff)
-
lib/Senna/Records.pm (added)
-
senna-records.c (modified) (4 diffs)
-
t/index/03_simple.t (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Senna/trunk/lib/Senna.xs
r3915 r3937 142 142 143 143 SV * 144 SennaPerl_Records_next(self) 144 SennaPerl_Records__XS_next(self) 145 SV *self; 146 CODE: 147 RETVAL = SennaPerl_Records_next(self); 148 OUTPUT: 149 RETVAL 150 151 SV * 152 SennaPerl_Records_nhits(self) 145 153 SV *self; 146 154 147 155 SV * 148 SennaPerl_Records_ nhits(self)156 SennaPerl_Records_curr_key(self) 149 157 SV *self; 150 158 -
lang/perl/Senna/trunk/lib/Senna/Index.pm
r3915 r3937 8 8 use warnings; 9 9 use Senna::Index::Info; 10 use Senna::Records; 10 11 use Senna::Record; 11 12 -
lang/perl/Senna/trunk/senna-records.c
r3931 r3937 33 33 char keybuf[SEN_MAX_KEY_SIZE]; 34 34 int score; 35 sen_rc rc;36 35 SennaPerl_Records *records = XS_STATE(SennaPerl_Records *, obj); 37 36 38 rc = sen_records_next(records->records, &keybuf, SEN_MAX_KEY_SIZE, &score); 39 if(rc == sen_success) { 37 if (sen_records_next(records->records, &keybuf, SEN_MAX_KEY_SIZE, &score)) { 40 38 dSP; 41 39 ENTER; … … 45 43 XPUSHs(sv_2mortal(newSVpv("Senna::Record", 13))); 46 44 XPUSHs(sv_2mortal(newSVpv("key", 3))); 47 XPUSHs(sv_2mortal(newSVpv (keybuf, 0)));45 XPUSHs(sv_2mortal(newSVpvf("%s", keybuf))); 48 46 XPUSHs(sv_2mortal(newSVpv("score", 5))); 49 47 XPUSHs(sv_2mortal(newSViv(score))); … … 58 56 croak ("Senna::Record::new did not return a proper object"); 59 57 } 58 SvREFCNT_inc(sv); 60 59 61 60 FREETMPS; … … 80 79 { 81 80 SennaPerl_Records *records = XS_STATE(SennaPerl_Records *, obj); 82 SP_DEBUG("Senna::Records::DESTROY");83 SP_DEBUG("sen_records_close()");84 81 sen_records_close(records->records); 85 SP_DEBUG("Safefree()");86 82 Safefree(records); 87 SP_DEBUG("Senna::Records DONE"); 83 } 84 85 SV * 86 SennaPerl_Records_curr_key(obj) 87 SV *obj; 88 { 89 char keybuf[SEN_MAX_KEY_SIZE]; 90 SennaPerl_Records *records = XS_STATE(SennaPerl_Records *, obj); 91 if (sen_records_curr_key(records->records, keybuf, SEN_MAX_KEY_SIZE)) { 92 return newSVpvf("%s", keybuf); 93 } 94 return &PL_sv_undef; 88 95 } 89 96 -
lang/perl/Senna/trunk/t/index/03_simple.t
r3932 r3937 5 5 6 6 use strict; 7 use Test::More (tests => 82 1);7 use Test::More (tests => 829); 8 8 use File::Spec; 9 9 use File::Temp;
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)