cmd_pxe.c: fix strict-aliasing warnings
Without this patch, some versions of gcc (at least ELDK 4.2) complain about dereferencing type-punned pointers. Reported-by: Marek Vasut <marex@denx.de> Signed-off-by: Jason Hobbs <jason.hobbs@calxeda.com> Cc: Heiko Schocher <hs@denx.de> Cc: Marek Vasut <marex@denx.de> Acked-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
parent
6502949291
commit
834c9384a4
|
@ -318,7 +318,7 @@ static int
|
||||||
do_pxe_get(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
do_pxe_get(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||||
{
|
{
|
||||||
char *pxefile_addr_str;
|
char *pxefile_addr_str;
|
||||||
void *pxefile_addr_r;
|
unsigned long pxefile_addr_r;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
if (argc != 1)
|
if (argc != 1)
|
||||||
|
@ -339,10 +339,10 @@ do_pxe_get(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||||
* Keep trying paths until we successfully get a file we're looking
|
* Keep trying paths until we successfully get a file we're looking
|
||||||
* for.
|
* for.
|
||||||
*/
|
*/
|
||||||
if (pxe_uuid_path(pxefile_addr_r) > 0
|
if (pxe_uuid_path((void *)pxefile_addr_r) > 0
|
||||||
|| pxe_mac_path(pxefile_addr_r) > 0
|
|| pxe_mac_path((void *)pxefile_addr_r) > 0
|
||||||
|| pxe_ipaddr_paths(pxefile_addr_r) > 0
|
|| pxe_ipaddr_paths((void *)pxefile_addr_r) > 0
|
||||||
|| get_pxelinux_path("default", pxefile_addr_r) > 0) {
|
|| get_pxelinux_path("default", (void *)pxefile_addr_r) > 0) {
|
||||||
|
|
||||||
printf("Config file found\n");
|
printf("Config file found\n");
|
||||||
|
|
||||||
|
@ -363,7 +363,7 @@ do_pxe_get(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||||
*/
|
*/
|
||||||
static int get_relfile_envaddr(char *file_path, char *envaddr_name)
|
static int get_relfile_envaddr(char *file_path, char *envaddr_name)
|
||||||
{
|
{
|
||||||
void *file_addr;
|
unsigned long file_addr;
|
||||||
char *envaddr;
|
char *envaddr;
|
||||||
|
|
||||||
envaddr = from_env(envaddr_name);
|
envaddr = from_env(envaddr_name);
|
||||||
|
@ -371,10 +371,10 @@ static int get_relfile_envaddr(char *file_path, char *envaddr_name)
|
||||||
if (!envaddr)
|
if (!envaddr)
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
|
|
||||||
if (strict_strtoul(envaddr, 16, (unsigned long *)&file_addr) < 0)
|
if (strict_strtoul(envaddr, 16, &file_addr) < 0)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
return get_relfile(file_path, file_addr);
|
return get_relfile(file_path, (void *)file_addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue