You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#ifdef HAVE_CONFIG_H
-#include <config.h>
+# include <config.h>
#endif
#include <alloca.h>
#else
# include "gettext.h"
#endif
-#define N_(msgid) (msgid)
+#define N_(msgid) msgid
#include "argp.h"
#include "argp-namefrob.h"
/* Lengths of the various bits of storage used by PARSER. */
glen = (szs.num_groups + 1) * sizeof (struct group);
- gsum = alignto (glen, alignof (void *));
clen = szs.num_child_inputs * sizeof (void *);
- csum = alignto (gsum + clen, alignof (struct option));
llen = (szs.long_len + 1) * sizeof (struct option);
- lsum = alignto (csum + llen, alignof (char));
slen = szs.short_len + 1;
+
+ /* Sums of previous lengths, properly aligned. There's no need to
+ align gsum, since struct group is aligned at least as strictly as
+ void * (since it contains a void * member). And there's no need
+ to align lsum, since struct option is aligned at least as
+ strictly as char. */
+ gsum = glen;
+ csum = alignto (gsum + clen, alignof (struct option));
+ lsum = csum + llen;
ssum = lsum + slen;
parser->storage = malloc (ssum);