attribute.c: Fix com_rmatt().
authorAndre Noll <maan@systemlinux.org>
Sat, 29 Sep 2007 13:31:35 +0000 (15:31 +0200)
committerAndre Noll <maan@systemlinux.org>
Sat, 29 Sep 2007 13:31:35 +0000 (15:31 +0200)
We have to get the bit number _before_ we remove the row.

attribute.c

index 694a962..671ca05 100644 (file)
@@ -356,14 +356,15 @@ static int remove_attribute(struct osl_table *table, struct osl_row *row,
                const char *name, void *data)
 {
        struct remove_attribute_action_data *raad = data;
-       int ret = osl_del_row(table, row);
        unsigned char bitnum;
+       int ret;
 
+       ret = get_attribute_bitnum_by_name(name, &bitnum);
        if (ret < 0) {
                para_printf(&raad->pb, "%s: %s\n", name, PARA_STRERROR(-ret));
                return 1;
        }
-       ret = get_attribute_bitnum_by_name(name, &bitnum);
+       ret = osl_del_row(table, row);
        if (ret < 0) {
                para_printf(&raad->pb, "%s: %s\n", name, PARA_STRERROR(-ret));
                return 1;