Attempt to fix 64-bitness error in ashow. Deprecate the structure format macros in...
authorDavid Given <dg@cowlark.com>
Wed, 29 May 2013 13:48:51 +0000 (14:48 +0100)
committerDavid Given <dg@cowlark.com>
Wed, 29 May 2013 13:48:51 +0000 (14:48 +0100)
h/out.h
util/amisc/ashow.c

diff --git a/h/out.h b/h/out.h
index 122296f..0dffd29 100644 (file)
--- a/h/out.h
+++ b/h/out.h
@@ -100,13 +100,19 @@ struct outname {
 /*
  * structure format strings
  */
+#if 0
+/* The following strings only make sense on 32-bit platforms, so we're going
+ * to try and deprecate them. */
 #define SF_HEAD                "22222244"
 #define SF_SECT                "44444"
 #define SF_RELO                "1124"
 #define SF_NAME                "4224"
+#endif
 
 /*
- * structure sizes (bytes in file; add digits in SF_*)
+ * structure sizes on disk (bytes in file; add digits in SF_*)
+ * Note! These are NOT the sizes in memory (64-bit architectures will have
+ * a different layout).
  */
 #define SZ_HEAD                20
 #define SZ_SECT                20
index 5f22827..809937d 100644 (file)
@@ -70,7 +70,7 @@ show(headp)
        /*
         * We get all struct outname's and the strings in core first.
         */
-       name = (struct outname *) myalloc(headp->oh_nname * SZ_NAME);
+       name = (struct outname *) myalloc(headp->oh_nname * sizeof(struct outname));
        string = myalloc((unsigned) headp->oh_nchar);
        rd_name(name, headp->oh_nname);
        for (np = &name[0]; np < &name[headp->oh_nname]; np++) {