Replace numerous instances of xzalloc with XZALLOC
[pspp] / src / libpspp / argv-parser.c
index ecf1ab23c74264ba4331ba413e5b14edd4836125..48c89cd6d44e93f6bb69f99a41bd6a98024c54af 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2009 Free Software Foundation, Inc.
+   Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 #include <config.h>
 
-#include <libpspp/argv-parser.h>
+#include "libpspp/argv-parser.h"
 
 #include <limits.h>
 
-#include <libpspp/assertion.h>
-#include <libpspp/str.h>
+#include "libpspp/assertion.h"
+#include "libpspp/str.h"
 
-#include "xalloc.h"
+#include "gl/xalloc.h"
 
 struct argv_option_plus
   {
@@ -43,7 +43,7 @@ struct argv_parser
 struct argv_parser *
 argv_parser_create (void)
 {
-  struct argv_parser *ap = xzalloc (sizeof *ap);
+  struct argv_parser *ap = XZALLOC (struct argv_parser);
   return ap;
 }
 
@@ -128,11 +128,11 @@ argv_parser_run (struct argv_parser *ap, int argc, char **argv)
           if (shortopt_ptrs[c] == NULL)
             {
               shortopt_ptrs[c] = aop;
-              ds_put_char (&shortopts, aop->base.short_name);
+              ds_put_byte (&shortopts, aop->base.short_name);
               if (aop->base.has_arg != no_argument)
-                ds_put_char (&shortopts, ':');
+                ds_put_byte (&shortopts, ':');
               if (aop->base.has_arg == optional_argument)
-                ds_put_char (&shortopts, ':');
+                ds_put_byte (&shortopts, ':');
             }
           else
             {
@@ -162,7 +162,7 @@ argv_parser_run (struct argv_parser *ap, int argc, char **argv)
           retval = false;
           break;
         }
-      else if (c >= LONGOPT_VAL_BASE && c < LONGOPT_VAL_BASE + n_longopts)
+      else if (c >= LONGOPT_VAL_BASE && c < LONGOPT_VAL_BASE + n_longopts + 1)
         {
           struct argv_option_plus *aop = &ap->options[c - LONGOPT_VAL_BASE];
           aop->cb (aop->base.id, aop->aux);