HDRS:=types.h context.h strmd5.h
-SRCS:=context.c strmd5.c
+SRCS:=context.c strmd5.c attr.c
OBJS:=${SRCS:.c=.lo}
commonlib:= libglite_jp_common.la
typedef struct _glite_jp_error_t {
int code;
- char *desc;
- char *source;
+ const char *desc;
+ const char *source;
struct _glite_jp_error_t *reason;
} glite_jp_error_t;
} value,value2;
} glite_jp_query_rec_t;
+void glite_jp_attrval_free(glite_jp_attrval_t *,int);
+
#endif
--- /dev/null
+#include <stdlib.h>
+
+#include "types.h"
+
+void glite_jp_attrval_free(glite_jp_attrval_t *a,int f)
+{
+ free(a->attr.name);
+
+ switch (a->attr.type) {
+ case GLITE_JP_ATTR_OWNER:
+ case GLITE_JP_ATTR_TAG:
+ free(a->value.s);
+ break;
+ default: break;
+ }
+
+ if (f) free(a);
+}