gui: Combine open_stat_pipe() and para_open_stat_pipe().
[paraslash.git] / wma_common.c
index 0df19ae9e0599707338b6c0e2273e4bd69b6d3d1..0cb881e5de2eb851e5e0594d9fa18de17f100002 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2009 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2009-2010 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
 #include "imdct.h"
 #include "wma.h"
 
-const char *search_pattern(const char *pattern, int pattern_len, const char *buf, int buf_size)
+/**
+ * Find the first occurrence of the given pattern.
+ *
+ * \param pattern The pattern to search for.
+ * \param pattern_len The length of the pattern in bytes.
+ * \param buf The buffer to search for the pattern.
+ * \param buf_size The number of bytes in \a buf.
+ */
+const char *search_pattern(const char *pattern, int pattern_len,
+               const char *buf, int buf_size)
 {
        const char *p, *end = buf + buf_size;
 
+       /* TODO: Use suffix arrays to speed up the search. */
        for (p = buf; p + pattern_len < end; p++) {
                if (memcmp(p, pattern, pattern_len))
                        continue;
                PARA_DEBUG_LOG("found %d byte pattern@%d\n",
-                       pattern_len, p - buf);
+                       pattern_len, (int)(p - buf));
                return p;
        }
        PARA_NOTICE_LOG("%d byte pattern not found\n", pattern_len);
@@ -46,7 +56,7 @@ static int find_audio_stream_info(const char *buf, int len)
 
        if (!p)
                return -E_WMA_NO_GUID;
-       PARA_DEBUG_LOG("found audio stream guid@%0zx\n", p - buf);
+       PARA_DEBUG_LOG("found audio stream guid@%0x\n", (int)(p - buf));
        return p - buf + 16;
 }
 
@@ -125,6 +135,13 @@ const uint8_t log2_tab[256] = {
        7, 7, 7, 7, 7, 7, 7, 7
 };
 
+/**
+ * Compute the base-2 logarithm.
+ *
+ * \param v The value to compute the logarithm of.
+ *
+ * \return An integer approximation of log2(v).
+ */
 int wma_log2(unsigned int v)
 {
        int n = 0;