Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=8407c0db9f38d6fcc337f435f491f34cd0750bce
commit 8407c0db9f38d6fcc337f435f491f34cd0750bce Author: Michel Hermier <[email protected]> Date: Sun Sep 7 22:39:14 2014 +0200 libpacman: Make f_ptrlist* a little bit more dumb. diff --git a/lib/libpacman/util/fptrlist.cpp b/lib/libpacman/util/fptrlist.cpp index 2664f42..d5c14aa 100644 --- a/lib/libpacman/util/fptrlist.cpp +++ b/lib/libpacman/util/fptrlist.cpp @@ -259,59 +259,62 @@ int f_ptrlist_clear(FPtrList *list, FVisitor *visitor) size_t f_ptrlist_count(const FPtrList *self) { + if(self != NULL) { #ifndef F_NOCOMPAT - return f_ptrlistiterator_count(self->begin(), self->end()); + return f_ptrlistiterator_count(self->begin(), self->end()); #else - return self->size(); + return self->size(); #endif + } + return 0; } FPtrListIterator *f_ptrlist_end(FPtrList *self) { - return (FPtrListIterator *)f_ptrlist_end_const(self); + ASSERT(self != NULL, RET_ERR(PM_ERR_WRONG_ARGS, NULL)); + return self->end(); } const FPtrListIterator *f_ptrlist_end_const(const FPtrList *self) { - return NULL; + ASSERT(self != NULL, RET_ERR(PM_ERR_WRONG_ARGS, NULL)); + return self->end(); } FPtrListIterator *f_ptrlist_first(FPtrList *self) { - return (FPtrListIterator *)f_ptrlist_first_const(self); + ASSERT(self != NULL, RET_ERR(PM_ERR_WRONG_ARGS, NULL)); + return self->begin(); } const FPtrListIterator *f_ptrlist_first_const(const FPtrList *self) { - return (FPtrListIterator *)self->begin(); + ASSERT(self != NULL, RET_ERR(PM_ERR_WRONG_ARGS, NULL)); + return self->begin(); } FPtrListIterator *f_ptrlist_last(FPtrList *self) { - return (FPtrListIterator *)f_ptrlist_last_const(self); + ASSERT(self != NULL, RET_ERR(PM_ERR_WRONG_ARGS, NULL)); + return self->last(); } const FPtrListIterator *f_ptrlist_last_const(const FPtrList *self) { - const FPtrListIterator *it; - ASSERT(self != NULL, RET_ERR(PM_ERR_WRONG_ARGS, NULL)); - - it = f_ptrlist_first_const(self); - while(it->next() != f_ptrlist_end_const(self)) { - it = it->next(); - } - return it; + return self->last(); } FPtrListIterator *f_ptrlist_rend(FPtrList *self) { - return (FPtrListIterator *)f_ptrlist_rend_const(self); + ASSERT(self != NULL, RET_ERR(PM_ERR_WRONG_ARGS, false)); + return self->rend(); } const FPtrListIterator *f_ptrlist_rend_const(const FPtrList *self) { - return NULL; + ASSERT(self != NULL, RET_ERR(PM_ERR_WRONG_ARGS, false)); + return self->rend(); } /* vim: set ts=2 sw=2 noet: */ _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
