signal.h: Add documentation of signal_pre_select().
[paraslash.git] / attribute.c
index 688d78f1f04032d4d3fd7a74e2b9062d9c7b749c..4cb2982860de78dd26b9fc55ad552c73a7ca1b9f 100644 (file)
@@ -149,7 +149,7 @@ static int com_lsatt_callback(struct afs_callback_arg *aca)
        int ret;
        struct pattern_match_data pmd = {
                .table = attribute_table,
-               .loop_col_num = ATTCOL_BITNUM,
+               .loop_col_num = ATTCOL_NAME,
                .match_col_num = ATTCOL_NAME,
                .patterns = {.data = (char *)aca->query.data + sizeof(flags),
                        .size = aca->query.size - sizeof(flags)},
@@ -158,7 +158,7 @@ static int com_lsatt_callback(struct afs_callback_arg *aca)
                .action = print_attribute
        };
        if (flags & LSATT_FLAG_SORT_BY_ID)
-               pmd.loop_col_num = ATTCOL_NAME;
+               pmd.loop_col_num = ATTCOL_BITNUM;
        if (flags & LSATT_FLAG_REVERSE)
                pmd.pm_flags |= PM_REVERSE_LOOP;
        ret = for_each_matching_row(&pmd);
@@ -266,7 +266,7 @@ static int com_addatt_callback(struct afs_callback_arg *aca)
 out:
        if (ret < 0)
                para_printf(&aca->pbout, "%s: %s\n", p, para_strerror(-ret));
-       return 0;
+       return ret;
 }
 
 int com_addatt(struct command_context *cc)
@@ -437,13 +437,13 @@ err:
 
 static int att_logical_or(struct osl_row *row, void *data)
 {
-       uint64_t *att_mask = data;
+       uint64_t *att_mask = data, one = 1;
        struct osl_object bitnum_obj;
        int ret = osl_get_object(attribute_table, row, ATTCOL_BITNUM, &bitnum_obj);
 
        if (ret < 0)
                return ret;
-       *att_mask |= 1 << *(unsigned char *)bitnum_obj.data;
+       *att_mask |= one << *(unsigned char *)bitnum_obj.data;
        return 0;
 }
 
@@ -508,7 +508,7 @@ static int attribute_open(const char *dir)
                return ret;
        }
        attribute_table = NULL;
-       if (ret >= 0 || ret == -OSL_ERRNO_TO_PARA_ERROR(E_OSL_NOENT))
+       if (ret == -OSL_ERRNO_TO_PARA_ERROR(E_OSL_NOENT))
                return 1;
        return ret;
 }