Die immediately if the output file is a directory.

Thu Nov  9 16:01:47 2006  Søren Sandmann  <sandmann@redhat.com>

        * sysprof-text.c (main): Die immediately if the output file is a
        directory.

        * autogen.sh (DIE): Also work when automake-1.9 is installed.
This commit is contained in:
Søren Sandmann
2006-11-09 21:02:31 +00:00
committed by Søren Sandmann Pedersen
parent 0513ed87e8
commit 442a9b4f3c
4 changed files with 31 additions and 5 deletions

View File

@ -1,3 +1,10 @@
Thu Nov 9 16:01:47 2006 Søren Sandmann <sandmann@redhat.com>
* sysprof-text.c (main): Die immediately if the output file is a
directory.
* autogen.sh (DIE): Also work when automake-1.9 is installed.
2006-11-02 Soren Sandmann <sandmann@daimi.au.dk>
Valgrind:

View File

@ -24,11 +24,13 @@ if automake-1.7 --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake-1.7
ACLOCAL=aclocal-1.7
else
echo
echo "You must have automake 1.7.x installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/"
DIE=1
if automake-1.9 --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake-1.9
ACLOCAL=aclocal-1.9
else
AUTOMAKE=automake
ACLOCAL=aclocal
fi
fi
if test "$DIE" -eq 1; then

View File

@ -231,6 +231,8 @@ bin_file_new (const char *filename)
else
{
bf->elf = elf_parser_new (filename, NULL);
if (!bf->elf)
g_print ("Could not parse file %s\n", bf->elf);
}
/* We need the text offset of the actual binary, not the

View File

@ -86,6 +86,14 @@ usage_msg (const char *name)
name);
}
static gboolean
file_exists_and_is_dir (const char *name)
{
return
g_file_test (name, G_FILE_TEST_EXISTS) &&
g_file_test (name, G_FILE_TEST_IS_DIR);
}
static void
die (const char *err_msg)
{
@ -119,6 +127,13 @@ main (int argc,
if (!signal_set_handler (SIGINT, signal_handler, app, &err))
die (err->message);
if (file_exists_and_is_dir (app->outfile))
{
char *msg = g_strdup_printf ("Can't write to %s: is a directory\n",
app->outfile);
die (msg);
}
g_main_loop_run (app->main_loop);