-/* Attribute flags */
-enum AttrFlags {
- afNone,
- afInt, /* Integer number */
-};
-typedef enum AttrFlags AttrFlags;
-
-/* */
+/* Attribute structure */
typedef struct Attr Attr;
struct Attr {
- AttrFlags Flags; /* Attribute flags */
- char* Name; /* Attribute name */
- char Value[1]; /* Attribute value */
+ char* Name; /* Attribute name - points into Value */
+ char Value[1]; /* Attribute value followed by Name */
};
Attr* NewAttr (const char* Name, const char* Value);
/* Create a new attribute */
+void FreeAttr (Attr* A);
+/* Free an attribute structure */
+
void DumpAttrColl (const Collection* C);
/* Dump a collection of attribute/value pairs for debugging */
* returns NULL if the attribute wasn't found.
*/
-const Attr* NeedAttr (const Collection* C, const char* Name, const char* Context);
+const Attr* NeedAttr (const Collection* C, const char* Name, const char* Op);
/* Search for an attribute with the given name and return it. If the attribute
- * is not found, the function terminates with an error using Context as
- * additional context in the error message.
+ * is not found, the function terminates with an error using Op as additional
+ * context in the error message.
*/
const char* GetAttrVal (const Collection* C, const char* Name);
* function returns NULL if the attribute wasn't found.
*/
-const char* NeedAttrVal (const Collection* C, const char* Name, const char* Context);
+const char* NeedAttrVal (const Collection* C, const char* Name, const char* Op);
/* Search for an attribute with the given name and return its value. If the
* attribute wasn't not found, the function terminates with an error using
- * Context as additional context in the error message.
+ * Op as additional context in the error message.
*/
void AddAttr (Collection* C, const char* Name, const char* Value);
* containing Attr entries.
*/
+void FreeAttrList (Collection* C);
+/* Free a list of attributes */
+
/* End of attr.h */