diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-05-02 17:35:04 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-05-02 17:35:04 +0400 |
commit | 08d8914b3d0c0028c0f204d499ddfe46a76da113 (patch) | |
tree | 39749ad52c1f15627bd061b2fa92bd780dbd4ee0 /source/blender/blenkernel/intern/context.c | |
parent | 6baa456dfdb293f87b7ab4efdf856e7516b4d942 (diff) |
reverse string lookup listbase function BLI_findstring counterparts, added BLI_rfindstring, BLI_rfindstring_ptr, these search from the end of the listbase (like pythons rfind).
Diffstat (limited to 'source/blender/blenkernel/intern/context.c')
-rw-r--r-- | source/blender/blenkernel/intern/context.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/source/blender/blenkernel/intern/context.c b/source/blender/blenkernel/intern/context.c index 8929b1aa474..2aeb726f623 100644 --- a/source/blender/blenkernel/intern/context.c +++ b/source/blender/blenkernel/intern/context.c @@ -451,12 +451,10 @@ static int ctx_data_get(bContext *C, const char *member, bContextDataResult *res C->data.recursion= 1; - for(entry=C->wm.store->entries.last; entry; entry=entry->prev) { - if(strcmp(entry->name, member) == 0) { - result->ptr= entry->ptr; - done= 1; - break; - } + entry= BLI_rfindstring(&C->wm.store->entries, member, offsetof(bContextStoreEntry, name)); + if(entry) { + result->ptr= entry->ptr; + done= 1; } } if(done!=1 && recursion < 2 && C->wm.region) { |