From 3bc1b2daabb9b07a9c08bca386005d96f07147fe Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Fri, 20 Dec 2013 14:02:27 +0000 Subject: [PATCH] Fix various build problems on GNU/Hurd. * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside !defined (__GNU__). (xgetcwd): Likewise. * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info) [__GNU__]: Add prototype. * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format long int using %ld rather than %d. --- ChangeLog | 12 ++++++++++++ grub-core/osdep/unix/getroot.c | 2 +- include/grub/emu/hostdisk.h | 6 ++++++ util/getroot.c | 4 ++-- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index f7adf9bdf..724ac7cb9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2013-12-20 Colin Watson + + Fix various build problems on GNU/Hurd. + + * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside + !defined (__GNU__). + (xgetcwd): Likewise. + * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info) + [__GNU__]: Add prototype. + * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format + long int using %ld rather than %d. + 2013-12-18 Vladimir Serbinenko * configure.ac: Set version to 2.02~beta1. diff --git a/grub-core/osdep/unix/getroot.c b/grub-core/osdep/unix/getroot.c index 260465844..3e40d9942 100644 --- a/grub-core/osdep/unix/getroot.c +++ b/grub-core/osdep/unix/getroot.c @@ -116,6 +116,7 @@ #include #endif +#if !defined (__GNU__) static void strip_extra_slashes (char *dir) { @@ -155,7 +156,6 @@ xgetcwd (void) return path; } -#if !defined (__GNU__) char ** grub_util_find_root_devices_from_poolname (char *poolname) { diff --git a/include/grub/emu/hostdisk.h b/include/grub/emu/hostdisk.h index ba0034d5f..8aa5403cd 100644 --- a/include/grub/emu/hostdisk.h +++ b/include/grub/emu/hostdisk.h @@ -75,6 +75,12 @@ grub_hostdisk_find_partition_start_os (const char *dev); void grub_hostdisk_flush_initial_buffer (const char *os_dev); +#ifdef __GNU__ +int +grub_util_hurd_get_disk_info (const char *dev, grub_uint32_t *secsize, grub_disk_addr_t *offset, + grub_disk_addr_t *size, char **parent); +#endif + struct grub_util_hostdisk_data { char *dev; diff --git a/util/getroot.c b/util/getroot.c index d71c9e858..57162632c 100644 --- a/util/getroot.c +++ b/util/getroot.c @@ -363,9 +363,9 @@ grub_util_biosdisk_get_grub_dev (const char *os_dev) char *t; t = dri; if (*q >= 'a' && *q <= 'g') - dri = xasprintf ("%s,%d,%d", t, n, *q - 'a' + 1); + dri = xasprintf ("%s,%ld,%d", t, n, *q - 'a' + 1); else - dri = xasprintf ("%s,%d", t, n); + dri = xasprintf ("%s,%ld", t, n); free (t); } }