Define XOPEN_SOURCE and __EXTENSIONS__ on Solaris.
[paraslash.git] / attribute.c
index 6740e4743ec111e1279d3c876f9f39f9120ce0eb..88b394adc7cf37e764153ddbe53d93607aa1e337 100644 (file)
@@ -279,6 +279,12 @@ int com_setatt(__a_unused int fd, int argc, char * const * const argv)
                NULL);
 }
 
+struct addatt_event_data {
+       const char *name;
+       unsigned char bitnum;
+};
+
+
 static int com_addatt_callback(const struct osl_object *query,
                struct osl_object *result)
 {
@@ -409,10 +415,13 @@ int com_mvatt(int fd, int argc, char * const * const argv)
        return ret;
 }
 
-
+/** Data passed to the action handler of com_rmatt(). */
 struct remove_attribute_action_data {
+       /** Message buffer. */
        struct para_buffer pb;
+       /** Numver of attributes removed. */
        int num_removed;
+       /** Bitwise "or" of the removed attributes. */
        uint64_t mask_of_removed_atts;
 };
 
@@ -521,8 +530,10 @@ int get_attribute_text(uint64_t *atts, const char *delim, char **text)
        const uint64_t one = 1;
 
        *text = NULL;
-       if (greatest_att_bitnum < 0) /* no attributes available */
+       if (greatest_att_bitnum < 0) { /* no attributes available */
+               *text = para_strdup("(no attributes available)");
                return 1;
+       }
        for (i = 0; i <= greatest_att_bitnum; i++) {
                unsigned char bn = i;
                struct osl_object obj = {.data = &bn, .size = 1};