fixed code style
[prss.git] / src / ttrss_model.c
index a1cdcef..5753256 100644 (file)
 #include <stdio.h>
 #include <string.h>
 
+#include "list.h"
 #include "ttrss_model.h"
 
-static int list_length(void **list)
-{
-       int n;
-
-       if (!list)
-               return 0;
-
-       n = 0;
-       while (*list) {
-               n++;
-               list++;
-       }
-
-       return n;
-}
-
-static void **list_add(void **list, void *item)
-{
-       int n;
-       void **result;
-
-       n = list_length(list);
-
-       result = malloc((n + 1 + 1) * sizeof(void *));
-
-       if (list)
-               memcpy(result, list, n * sizeof(void *));
-
-       result[n] = item;
-       result[n + 1] = NULL;
-
-       return result;
-}
-
 struct headline **headlines_add(struct headline **list, struct headline *h)
 {
        return (struct headline **)list_add((void **)list, (void *)h);
@@ -104,7 +71,7 @@ struct headline *headline_new(int id, const char *url, const char *title)
        h->unread = -1;
        h->excerpt = NULL;
        h->content = NULL;
-       
+
        return h;
 }
 
@@ -167,14 +134,29 @@ struct feed *feeds_get_feed(struct feed **feeds, int id)
 {
        struct feed **cur;
 
-       printf("%p\n", feeds);
-
        if (feeds)
                for (cur = feeds; *cur; cur++)
-                       if ((*cur)->id == id) {
-                               printf("match!\n");
+                       if ((*cur)->id == id)
                                return *cur;
-                       }
+
+       return NULL;
+}
+
+struct headline *feeds_get_headline(struct feed **feeds, int id)
+{
+       struct headline *h;
+
+       if (!feeds)
+               return NULL;
+
+       while (*feeds) {
+               h = feed_get_headline(*feeds, id);
+
+               if (h)
+                       return h;
+
+               feeds++;
+       }
 
        return NULL;
 }