}
-typedef struct _virBufferEscapePair virBufferEscapePair;
-typedef virBufferEscapePair *virBufferEscapePairPtr;
-
-struct _virBufferEscapePair {
+struct virBufferEscapePair {
char escape;
char *toescape;
};
-static void
-virBufferEscapePairFree(virBufferEscapePairPtr pair)
-{
- if (!pair)
- return;
-
- VIR_FREE(pair->toescape);
- VIR_FREE(pair);
-}
-
-VIR_DEFINE_AUTOPTR_FUNC(virBufferEscapePair, virBufferEscapePairFree);
-
/**
* virBufferEscapeN:
VIR_AUTOFREE(char *) escaped = NULL;
char *out;
const char *cur;
- virBufferEscapePair escapeItem;
- VIR_AUTOPTR(virBufferEscapePair) escapeList = NULL;
+ struct virBufferEscapePair escapeItem;
+ struct virBufferEscapePair *escapeList = NULL;
size_t nescapeList = 0;
va_list ap;
va_start(ap, str);
while ((escapeItem.escape = va_arg(ap, int))) {
- if (VIR_STRDUP(escapeItem.toescape, va_arg(ap, char *)) < 0) {
+ if (!(escapeItem.toescape = va_arg(ap, char *))) {
virBufferSetError(buf, errno);
goto cleanup;
}
cleanup:
va_end(ap);
+ VIR_FREE(escapeList);
}