struct ast_json *ast_json_vpack(char const *format, va_list ap) { struct ast_json *r = NULL; if (format) { r = (struct ast_json *)json_vpack_ex(NULL, 0, format, ap); } return r; }
la_codec_value_t *la_codec_pack_ex(la_codec_error_t *error, size_t flags, const char *fmt, ...) { la_codec_value_t *ret; va_list ap; va_start(ap, fmt); ret = (la_codec_value_t *) json_vpack_ex((json_error_t *) error, flags, fmt, ap); va_end(ap); return ret; }
la_codec_value_t *la_codec_pack(const char *fmt, ...) { la_codec_value_t *ret; va_list ap; va_start(ap, fmt); ret = (la_codec_value_t *) json_vpack_ex(NULL, 0, fmt, ap); va_end(ap); return ret; }
json_t *json_pack(const char *fmt, ...) { json_t *value; va_list ap; va_start(ap, fmt); value = json_vpack_ex(NULL, 0, fmt, ap); va_end(ap); return value; }
json_t *json_pack_ex(json_error_t *error, size_t flags, const char *fmt, ...) { json_t *value; va_list ap; va_start(ap, fmt); value = json_vpack_ex(error, flags, fmt, ap); va_end(ap); return value; }
struct ast_json *ast_json_vpack(char const *format, va_list ap) { json_error_t error; struct ast_json *r = NULL; if (format) { r = (struct ast_json *)json_vpack_ex(&error, 0, format, ap); if (!r && !ast_strlen_zero(error.text)) { ast_log(LOG_ERROR, "Error building JSON from '%s': %s.\n", format, error.text); } } return r; }
flux_future_t *flux_event_publish_pack (flux_t *h, const char *topic, int flags, const char *fmt, ...) { va_list ap; json_t *o; char *json_str; flux_future_t *f; if (!h || !topic || !fmt || (flags & ~(FLUX_MSGFLAG_PRIVATE)) != 0) { errno = EINVAL; return NULL; } va_start (ap, fmt); o = json_vpack_ex (NULL, 0, fmt, ap); va_end (ap); if (!o) { errno = EINVAL; return NULL; } if (!(json_str = json_dumps (o, JSON_COMPACT))) { json_decref (o); errno = ENOMEM; return NULL; } json_decref (o); if (!(f = wrap_event_rpc (h, topic, flags, json_str, strlen (json_str) + 1))) { int saved_errno = errno; free (json_str); errno = saved_errno; return NULL; } free (json_str); return f; }
la_codec_value_t *la_codec_vpack_ex(la_codec_error_t *error, size_t flags, const char *fmt, va_list ap) { return (la_codec_value_t *) json_vpack_ex((json_error_t *) error, flags, fmt, ap); }