Skip to content

Commit df631a4

Browse files
committed
Fix Iterators.
1 parent 16ee150 commit df631a4

2 files changed

Lines changed: 10 additions & 15 deletions

File tree

lib/src/main/cpp/libzim/entry_iterator.cpp

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -66,22 +66,19 @@ METHOD0(void, dispose)
6666
METHOD0(jboolean, hasNext) {
6767
switch (get_order(env, thisObj)) {
6868
case 0: {
69-
PATH_NATIVE_TYPE next(*GET_PTR(PATH_NATIVE_TYPE));
70-
next++;
69+
PATH_NATIVE_TYPE current(*GET_PTR(PATH_NATIVE_TYPE));
7170
auto end = getPtr<PATH_NATIVE_TYPE>(env, thisObj, "nativeHandleEnd");
72-
return next == *end;
71+
return current != *end;
7372
}
7473
case 1: {
75-
TITLE_NATIVE_TYPE next(*GET_PTR(TITLE_NATIVE_TYPE));
76-
next++;
74+
TITLE_NATIVE_TYPE current(*GET_PTR(TITLE_NATIVE_TYPE));
7775
auto end = getPtr<TITLE_NATIVE_TYPE>(env, thisObj, "nativeHandleEnd");
78-
return next == *end;
76+
return current != *end;
7977
}
8078
case 2: {
81-
EFFICIENT_NATIVE_TYPE next(*GET_PTR(EFFICIENT_NATIVE_TYPE));
82-
next++;
79+
EFFICIENT_NATIVE_TYPE current(*GET_PTR(EFFICIENT_NATIVE_TYPE));
8380
auto end = getPtr<EFFICIENT_NATIVE_TYPE>(env, thisObj, "nativeHandleEnd");
84-
return next == *end;
81+
return current != *end;
8582
}
8683
default:
8784
// unreachable!()
@@ -92,18 +89,18 @@ METHOD0(jboolean, hasNext) {
9289
METHOD0(jobject, next) {
9390
switch (get_order(env, thisObj)) {
9491
case 0: {
95-
(*GET_PTR(PATH_NATIVE_TYPE))++;
9692
zim::Entry entry = **GET_PTR(PATH_NATIVE_TYPE);
93+
(*GET_PTR(PATH_NATIVE_TYPE))++;
9794
return BUILD_WRAPPER("org/kiwix/libzim/Entry", entry);
9895
}
9996
case 1: {
100-
(*GET_PTR(TITLE_NATIVE_TYPE))++;
10197
zim::Entry entry = **GET_PTR(TITLE_NATIVE_TYPE);
98+
(*GET_PTR(TITLE_NATIVE_TYPE))++;
10299
return BUILD_WRAPPER("org/kiwix/libzim/Entry", entry);
103100
}
104101
case 2: {
105-
(*GET_PTR(EFFICIENT_NATIVE_TYPE))++;
106102
zim::Entry entry = **GET_PTR(EFFICIENT_NATIVE_TYPE);
103+
(*GET_PTR(EFFICIENT_NATIVE_TYPE))++;
107104
return BUILD_WRAPPER("org/kiwix/libzim/Entry", entry);
108105
}
109106
default:

lib/src/main/cpp/libzim/search_iterator.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,8 @@ METHOD0(jstring, getZimId) {
5757
}
5858

5959
METHOD0(jboolean, hasNext) {
60-
zim::SearchIterator next(*THIS);
61-
next++;
6260
auto end = getPtr<NATIVE_TYPE>(env, thisObj, "nativeHandleEnd");
63-
return next == *end;
61+
return *THIS != *end;
6462
}
6563

6664
METHOD0(jobject, next) {

0 commit comments

Comments
 (0)