lsatt: Fix sort order.
authorAndre Noll <maan@tuebingen.mpg.de>
Fri, 28 Aug 2015 20:33:57 +0000 (22:33 +0200)
committerAndre Noll <maan@tuebingen.mpg.de>
Sun, 30 Aug 2015 10:56:40 +0000 (12:56 +0200)
The -i option had the opposite effect of what the documentation
says. That is, lsatt -i sorted the attribute list by name while the
default was to sort by id. This patch reverts the logic in com_lsatt()
to let the implementation match the documentation.

attribute.c

index 96b54c9..5672309 100644 (file)
@@ -162,7 +162,7 @@ static void com_lsatt_callback(int fd, const struct osl_object *query)
        };
        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 *)query->data + sizeof(laad.flags),
                        .size = query->size - sizeof(laad.flags)},
@@ -171,7 +171,7 @@ static void com_lsatt_callback(int fd, const struct osl_object *query)
                .action = print_attribute
        };
        if (laad.flags & LSATT_FLAG_SORT_BY_ID)
-               pmd.loop_col_num = ATTCOL_NAME;
+               pmd.loop_col_num = ATTCOL_BITNUM;
        if (laad.flags & LSATT_FLAG_REVERSE)
                pmd.pm_flags |= PM_REVERSE_LOOP;
        for_each_matching_row(&pmd);