main: Fix subcommand usage output

This commit sets prgname correctly so that the "ostree subcommand
--help" output prints the subcommand rather than just "ostree".

This was removed in commit f0519e541f because it tripped the thread
sanitizer, but it's being added back conditionally so most users who
don't compile with -fsanitize=adress see proper help output.

Closes: #1054
Approved by: cgwalters
This commit is contained in:
Matthew Leeds 2017-08-04 13:18:40 -07:00 committed by Atomic Bot
parent 4e068f3924
commit 5682f4cc04
2 changed files with 21 additions and 0 deletions

View File

@ -58,6 +58,19 @@ else
AC_MSG_RESULT([no])
fi
AM_CONDITIONAL(BUILDOPT_ASAN, [test x$using_asan = xyes])
AM_COND_IF([BUILDOPT_ASAN],
[AC_DEFINE([BUILDOPT_ASAN], 1, [Define if we are building with -fsanitize=address])])
AC_MSG_CHECKING([for -fsanitize=thread in CFLAGS])
if echo $CFLAGS | grep -q -e -fsanitize=thread; then
AC_MSG_RESULT([yes])
using_tsan=yes
else
AC_MSG_RESULT([no])
fi
AM_CONDITIONAL(BUILDOPT_TSAN, [test x$using_tsan = xyes])
AM_COND_IF([BUILDOPT_TSAN],
[AC_DEFINE([BUILDOPT_TSAN], 1, [Define if we are building with -fsanitize=thread])])
# Initialize libtool
LT_PREREQ([2.2.4])

View File

@ -117,6 +117,9 @@ ostree_run (int argc,
OstreeCommand *command;
GError *error = NULL;
GCancellable *cancellable = NULL;
#ifndef BUILDOPT_TSAN
g_autofree char *prgname = NULL;
#endif
const char *command_name = NULL;
gboolean success = FALSE;
int in, out;
@ -192,6 +195,11 @@ ostree_run (int argc,
goto out;
}
#ifndef BUILDOPT_TSAN
prgname = g_strdup_printf ("%s %s", g_get_prgname (), command_name);
g_set_prgname (prgname);
#endif
if (!command->fn (argc, argv, cancellable, &error))
goto out;