Recognize the eof packet also in the udp receiver.
[paraslash.git] / osl.c
diff --git a/osl.c b/osl.c
index 2519228890bc2c25f1b82da6887585afe42840ae..ff588713b320aad0ef7e80a5258ac80f0c148622 100644 (file)
--- a/osl.c
+++ b/osl.c
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (C) 2007-2008 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2009 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -12,7 +12,6 @@
 #include "para.h"
 #include "error.h"
 #include "fd.h"
 #include "para.h"
 #include "error.h"
 #include "fd.h"
-#include "list.h"
 #include "osl_core.h"
 /**
  * A wrapper for lseek(2).
 #include "osl_core.h"
 /**
  * A wrapper for lseek(2).
@@ -32,8 +31,9 @@
  */
 int para_lseek(int fd, off_t *offset, int whence)
 {
  */
 int para_lseek(int fd, off_t *offset, int whence)
 {
-       *offset = lseek(fd, *offset, whence);
        int ret = -E_LSEEK;
        int ret = -E_LSEEK;
+
+       *offset = lseek(fd, *offset, whence);
        if (*offset == -1)
                return ret;
        return 1;
        if (*offset == -1)
                return ret;
        return 1;
@@ -168,11 +168,10 @@ out:
  * are passed to \a func. Directories for which the calling process has no
  * permissions to change to are silently ignored.
  *
  * are passed to \a func. Directories for which the calling process has no
  * permissions to change to are silently ignored.
  *
- * \return On success, 1 is returned. Otherwise, this function returns a
- * negative value which indicates the kind of the error.
+ * \return Standard.
  */
 int for_each_file_in_dir(const char *dirname,
  */
 int for_each_file_in_dir(const char *dirname,
-               int (*func)(const char *, const void *), const void *private_data)
+               int (*func)(const char *, void *), void *private_data)
 {
        DIR *dir;
        struct dirent *entry;
 {
        DIR *dir;
        struct dirent *entry;
@@ -1449,8 +1448,10 @@ int osl_add_and_get_row(struct osl_table *t, struct osl_object *objects,
        goto out;
 rollback: /* rollback all changes made, ignore further errors */
        for (i--; i >= 0; i--) {
        goto out;
 rollback: /* rollback all changes made, ignore further errors */
        for (i--; i >= 0; i--) {
+               enum osl_storage_type st;
+
                cd = get_column_description(t->desc, i);
                cd = get_column_description(t->desc, i);
-               enum osl_storage_type st = cd->storage_type;
+               st = cd->storage_type;
                if (st == OSL_NO_STORAGE)
                        continue;
 
                if (st == OSL_NO_STORAGE)
                        continue;