projects
/
paraslash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fade.c: Don't include curses.h.
[paraslash.git]
/
osl.c
diff --git
a/osl.c
b/osl.c
index 5c80641930af2125cdaf7b7ad17e880abbc16c93..b99f3826d7716d4ee02fc2eeae5b4692a6606924 100644
(file)
--- a/
osl.c
+++ b/
osl.c
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (C) 2007 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007
-2008
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.
*/
@@
-179,7
+179,7
@@
int for_each_file_in_dir(const char *dirname,
int cwd_fd, ret2, ret = para_opendir(dirname, &dir, &cwd_fd);
if (ret < 0)
int cwd_fd, ret2, ret = para_opendir(dirname, &dir, &cwd_fd);
if (ret < 0)
- return ret == -E
_CHDIR_PERM
? 1 : ret;
+ return ret == -E
RRNO_TO_PARA_ERROR(EACCES)
? 1 : ret;
/* scan cwd recursively */
while ((entry = readdir(dir))) {
mode_t m;
/* scan cwd recursively */
while ((entry = readdir(dir))) {
mode_t m;
@@
-2013,8
+2013,17
@@
int osl_get_nth_row(const struct osl_table *t, unsigned col_num,
{
struct osl_column *col;
struct rb_node *node;
{
struct osl_column *col;
struct rb_node *node;
- int ret = check_rbtree_col(t, col_num, &col);
+ unsigned num_rows;
+ int ret;
+ if (n == 0)
+ return -E_RB_KEY_NOT_FOUND;
+ ret = osl_get_num_rows(t, &num_rows);
+ if (ret < 0)
+ return ret;
+ if (n > num_rows)
+ return -E_RB_KEY_NOT_FOUND;
+ ret = check_rbtree_col(t, col_num, &col);
if (ret < 0)
return ret;
node = rb_nth(col->rbtree.rb_node, n);
if (ret < 0)
return ret;
node = rb_nth(col->rbtree.rb_node, n);