diff options
| author | Michael Sevakis <jethead71@rockbox.org> | 2010-05-17 12:34:05 +0000 |
|---|---|---|
| committer | Michael Sevakis <jethead71@rockbox.org> | 2010-05-17 12:34:05 +0000 |
| commit | fcf36dd4f9879a82342e5606535d2dcf46d1de2a (patch) | |
| tree | 21ed249c7a6f9d0bd7e2049c7a9f9e0708ba28f8 /firmware/kernel.c | |
| parent | 9fde12676b382a31a10c58e2473edfde460e4d73 (diff) | |
| download | rockbox-fcf36dd4f9879a82342e5606535d2dcf46d1de2a.zip rockbox-fcf36dd4f9879a82342e5606535d2dcf46d1de2a.tar.gz rockbox-fcf36dd4f9879a82342e5606535d2dcf46d1de2a.tar.bz2 rockbox-fcf36dd4f9879a82342e5606535d2dcf46d1de2a.tar.xz | |
Simplify mpegplayer a bit and use array-based lists rather than linked lists for stream management. Move a couple useful functions to handle pointer arrays from kernel.c into general.c; mpeglayer now makes use of them.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26101 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/kernel.c')
| -rw-r--r-- | firmware/kernel.c | 35 |
1 files changed, 1 insertions, 34 deletions
diff --git a/firmware/kernel.c b/firmware/kernel.c index d8c67e8..fe40c35 100644 --- a/firmware/kernel.c +++ b/firmware/kernel.c @@ -27,6 +27,7 @@ #include "system.h" #include "panic.h" #include "debug.h" +#include "general.h" /* Make this nonzero to enable more elaborate checks on objects */ #if defined(DEBUG) || defined(SIMULATOR) @@ -62,40 +63,6 @@ static struct } all_queues SHAREDBSS_ATTR; /**************************************************************************** - * Common utilities - ****************************************************************************/ - -/* Find a pointer in a pointer array. Returns the addess of the element if - * found or the address of the terminating NULL otherwise. */ -static void ** find_array_ptr(void **arr, void *ptr) -{ - void *curr; - for(curr = *arr; curr != NULL && curr != ptr; curr = *(++arr)); - return arr; -} - -/* Remove a pointer from a pointer array if it exists. Compacts it so that - * no gaps exist. Returns 0 on success and -1 if the element wasn't found. */ -static int remove_array_ptr(void **arr, void *ptr) -{ - void *curr; - arr = find_array_ptr(arr, ptr); - - if(*arr == NULL) - return -1; - - /* Found. Slide up following items. */ - do - { - void **arr1 = arr + 1; - *arr++ = curr = *arr1; - } - while(curr != NULL); - - return 0; -} - -/**************************************************************************** * Standard kernel stuff ****************************************************************************/ void kernel_init(void) |