aboutsummaryrefslogtreecommitdiff
path: root/src/ctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ctl.c')
-rw-r--r--src/ctl.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/ctl.c b/src/ctl.c
index cdb9b6c..8845390 100644
--- a/src/ctl.c
+++ b/src/ctl.c
@@ -1299,6 +1299,23 @@ idfmt_pid (struct ctlio *io, char const *name, void *ptr)
}
static void
+idfmt_argv (struct ctlio *io, char const *name, void *ptr)
+{
+ struct json_value *ar = json_new_array ();
+ size_t i;
+
+ for (i = 0; i < pies_master_argc; i++)
+ json_array_append (ar, json_new_string (pies_master_argv[i]));
+ json_object_set (io->output.reply, name, ar);
+}
+
+static void
+idfmt_binary (struct ctlio *io, char const *name, void *ptr)
+{
+ json_object_set_string (io->output.reply, name, "%s", pies_master_argv[0]);
+}
+
+static void
res_instance (struct ctlio *io, enum http_method meth,
char const *uri, struct json_value *req)
{
@@ -1309,11 +1326,10 @@ res_instance (struct ctlio *io, enum http_method meth,
} idparam[] = {
{ "package", idfmt_string, PACKAGE_NAME },
{ "version", idfmt_string, PACKAGE_VERSION },
-#if HAVE_DECL_PROGRAM_INVOCATION_NAME
- { "binary", idfmt_string_ptr, &program_invocation_name },
-#endif
+ { "binary", idfmt_binary, NULL },
{ "PID", idfmt_pid, NULL },
{ "instance", idfmt_string_ptr, &instance },
+ { "argv", idfmt_argv, NULL },
{ NULL }
};
struct idparam *p;

Return to:

Send suggestions and report system problems to the System administrator.