Fix some gcc warnings on x86_64.
[paraslash.git] / fecdec_filter.c
index 6ca0b037da0f55be826137facc4632415648329c..499c0a88931d1712bff7c3b57fef5fa75c075be8 100644 (file)
@@ -198,6 +198,8 @@ static int add_slice(char *buf, struct fecdec_group *fg)
        int r, slice_num;
 
        if (group_complete(fg)) {
+               PARA_DEBUG_LOG("group complete, ignoring slice %d\n",
+                       fg->h.slice_num);
                fg->num_received_slices++;
                return 0;
        }
@@ -285,14 +287,8 @@ static int dispatch_slice(char *buf, size_t len, struct fec_header *h,
        ret = get_group(h, pfd, &fg);
        if (ret < 0)
                return ret;
-       if (group_complete(fg)) {
-               PARA_DEBUG_LOG("group complete, ignoring slice %d\n",
-                       h->slice_num);
+       if (!add_slice(buf, fg))
                return 1;
-       }
-       ret = add_slice(buf, fg);
-       if (ret < 0)
-               return ret;
        if (group_complete(fg)) {
                if (!pfd->fec) {
                        int k = h->data_slices_per_group, n = h->slices_per_group;
@@ -308,7 +304,7 @@ static int dispatch_slice(char *buf, size_t len, struct fec_header *h,
        return 1;
 }
 
-static int fecdec(char *buf, size_t len, struct filter_node *fn)
+static ssize_t fecdec(char *buf, size_t len, struct filter_node *fn)
 {
        int ret;
        struct fec_header h;