static zbarSymbol* symboliter_iternext (zbarSymbolIter *self) { if(!self->zsym) self->zsym = zbar_image_first_symbol(self->img->zimg); else self->zsym = zbar_symbol_next(self->zsym); if(!self->zsym) return(NULL); return(zbarSymbol_FromSymbol(self->img, self->zsym)); }
static zbarSymbol* symboliter_iternext (zbarSymbolIter *self) { if(self->zsym) { zbar_symbol_t *zsym = (zbar_symbol_t*)self->zsym; zbar_symbol_ref(zsym, -1); self->zsym = zbar_symbol_next(self->zsym); } else if(self->syms->zsyms) self->zsym = zbar_symbol_set_first_symbol(self->syms->zsyms); else self->zsym = NULL; zbar_symbol_t *zsym = (zbar_symbol_t*)self->zsym; if(!zsym) return(NULL); zbar_symbol_ref(zsym, 1); return(zbarSymbol_FromSymbol(self->zsym)); }