diff --git a/value.c b/value.c index d18db17..b98298e 100644 --- a/value.c +++ b/value.c @@ -1,6 +1,6 @@ /* * This file is part of ltrace. - * Copyright (C) 2011,2012 Petr Machata, Red Hat Inc. + * Copyright (C) 2011,2012,2013 Petr Machata, Red Hat Inc. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -282,9 +282,9 @@ value_init_deref(struct value *ret_val, struct value *valp) if (value_extract_word(valp, &l, NULL) < 0) return -1; - /* We need "long" to be long enough to hold platform + /* We need "long" to be long enough to hold target * pointers. */ - typedef char assert__long_enough_long[-(sizeof(l) < sizeof(void *))]; + assert(sizeof(l) >= sizeof(arch_addr_t)); value_common_init(ret_val, valp->inferior, valp, valp->type->u.ptr_info.info, 0); diff --git a/lens_default.c b/lens_default.c index ed3d0e1..5d00814 100644 --- a/lens_default.c +++ b/lens_default.c @@ -1,6 +1,6 @@ /* * This file is part of ltrace. - * Copyright (C) 2011,2012 Petr Machata, Red Hat Inc. + * Copyright (C) 2011,2012,2013 Petr Machata, Red Hat Inc. * Copyright (C) 1998,2004,2007,2008,2009 Juan Cespedes * Copyright (C) 2006 Ian Wienand * Copyright (C) 2006 Steve Fink @@ -342,9 +342,9 @@ format_array(FILE *stream, struct value *value, struct value_dict *arguments, struct expr_node *length, size_t maxlen, int before, const char *open, const char *close, const char *delim) { - /* We need "long" to be long enough to cover the whole address - * space. */ - typedef char assert__long_enough_long[-(sizeof(long) < sizeof(void *))]; + /* We need "long" to be long enough to cover the whole target + * address space. */ + assert(sizeof(long) >= sizeof(arch_addr_t)); long l; if (expr_eval_word(length, value, arguments, &l) < 0) return -1;