ctx->exclusive_zombies = exclusive_zombies;
for (totpref = 0; msg_prefixes[totpref]; totpref++);
- ctx->msg_prefixes = (char**) calloc(sizeof(char*), totpref);
+ ctx->msg_prefixes = (char**) calloc(sizeof(char*), totpref+1);
for (npref = 0; npref<totpref; npref++)
ctx->msg_prefixes[npref]=strdup(msg_prefixes[npref]);
for (totpref = 0; msg_brokers && msg_brokers[totpref]; totpref++);
- ctx->msg_brokers = (char**) calloc(sizeof(char*), totpref);
+ ctx->msg_brokers = (char**) calloc(sizeof(char*), totpref+1);
for (npref = 0; npref<totpref; npref++)
ctx->msg_brokers[npref]=strdup(msg_brokers[npref]);
free(a); a=NULL; \
}
+#define TRS(name,type,field) \
+{ \
+ int l; \
+ if (field) \
+ l = asprintf(&a,"%s=" type "", \
+ name, field); \
+ else \
+ l = asprintf(&a,"%s=", name); \
+ b = realloc(b, sizeof(*b)*(pomL+l+1)); \
+ strcpy(b+pomL, a); \
+ pomL += l; \
+ free(a); a=NULL; \
+}
+
+#define TRA(type,field) \
+{ \
+ int l; \
+ if (field) \
+ l = asprintf(&a,"," type "", \
+ field); \
+ else \
+ l = asprintf(&a,"\n"); \
+ b = realloc(b, sizeof(*b)*(pomL+l+1)); \
+ strcpy(b+pomL, a); \
+ pomL += l; \
+ free(a); a=NULL; \
+}
+
+
int edg_wll_UserInfoToText(edg_wll_Context ctx, edg_wlc_JobId *jobsOut, char **message)
{
char *a = NULL, *b;
b = strdup("");
if (ctx->msg_brokers)
- for (i = 0; ctx->msg_brokers[i]; i++)
- TR("msg_brokers", "%s", ctx->msg_brokers[i]);
+ for (i = 0; ctx->msg_brokers[i]; i++){
+ if (i == 0) TRS("msg_brokers", "%s", ctx->msg_brokers[i])
+ else TRA("%s", ctx->msg_brokers[i]);
+ }
+ if (i > 0)
+ TRA("%s", NULL);
+
if (ctx->msg_prefixes)
for (i = 0; ctx->msg_prefixes[i]; i++)
- TR("msg_prefixes", "%s", ctx->msg_prefixes[i]);
+ if (i == 0) TRS("msg_prefixes", "%s", ctx->msg_prefixes[i])
+ else TRA("%s", ctx->msg_prefixes[i]);
+ if (i > 0)
+ TRA("%s", NULL);
*message = b;