#include <errno.h>
#include <endian.h>
-#ifdef HAVE_PCRE
#include <pcre.h>
-#endif
#ifdef HAVE_HIVEX
#include <hivex.h>
#include "guestfs-internal-actions.h"
#include "guestfs_protocol.h"
-#if defined(HAVE_PCRE) && defined(HAVE_HIVEX)
+#if defined(HAVE_HIVEX)
/* Compile all the regular expressions once when the shared library is
* loaded. PCRE is thread safe so we're supposedly OK here if
{
char *hostname;
+ /* Errors here are not fatal (RHBZ#726739), since it could be
+ * just missing HOSTNAME field in the file.
+ */
+ guestfs_error_handler_cb old_error_cb = g->error_cb;
+ g->error_cb = NULL;
hostname = guestfs_aug_get (g, "/files/etc/sysconfig/network/HOSTNAME");
- if (!hostname)
- return -1;
+ g->error_cb = old_error_cb;
- fs->hostname = hostname; /* freed by guestfs___free_inspect_info */
+ /* This is freed by guestfs___free_inspect_info. Note that hostname
+ * could be NULL because we ignored errors above.
+ */
+ fs->hostname = hostname;
return 0;
}
return r;
}
-#endif /* defined(HAVE_PCRE) && defined(HAVE_HIVEX) */
+#endif /* defined(HAVE_HIVEX) */