X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=osl.c;h=ff588713b320aad0ef7e80a5258ac80f0c148622;hp=9843a02034fc8927bdcce36be4bc6f7959d6f88d;hb=f85e05c0b3951e7d3119983c118c82d71f2662a3;hpb=c47aa3e188e0e51b4dfdf957a140177bfc03a8da diff --git a/osl.c b/osl.c index 9843a020..ff588713 100644 --- a/osl.c +++ b/osl.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Andre Noll + * Copyright (C) 2007-2009 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -12,7 +12,6 @@ #include "para.h" #include "error.h" #include "fd.h" -#include "list.h" #include "osl_core.h" /** * A wrapper for lseek(2). @@ -32,8 +31,9 @@ */ int para_lseek(int fd, off_t *offset, int whence) { - *offset = lseek(fd, *offset, whence); int ret = -E_LSEEK; + + *offset = lseek(fd, *offset, whence); if (*offset == -1) return ret; return 1; @@ -168,18 +168,17 @@ out: * 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 (*func)(const char *, const void *), const void *private_data) + int (*func)(const char *, void *), void *private_data) { DIR *dir; struct dirent *entry; int cwd_fd, ret2, ret = para_opendir(dirname, &dir, &cwd_fd); if (ret < 0) - return ret == -E_CHDIR_PERM? 1 : ret; + return ret == -ERRNO_TO_PARA_ERROR(EACCES)? 1 : ret; /* scan cwd recursively */ while ((entry = readdir(dir))) { mode_t m; @@ -305,7 +304,7 @@ static int disk_storage_name_of_row(const struct osl_table *t, static void column_name_hash(const char *col_name, HASH_TYPE *hash) { - return hash_function(col_name, strlen(col_name), hash); + hash_function(col_name, strlen(col_name), hash); } static int init_column_descriptions(struct osl_table *t) @@ -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--) { + enum osl_storage_type st; + 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;