Changed all the licence notices in all the files.
[pspp-builds.git] / src / repeat.c
index 2d788e27a273960e6c1dc7d19d8e0b289812ef67..6f75a64b3104529ebd90279730b0f45894a418c6 100644 (file)
@@ -14,8 +14,8 @@
 
    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. */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA. */
 
 #include <config.h>
 #include "repeat.h"
@@ -25,6 +25,7 @@
 #include <stdlib.h>
 #include "alloc.h"
 #include "command.h"
+#include "dictionary.h"
 #include "error.h"
 #include "getline.h"
 #include "lexer.h"
@@ -39,7 +40,7 @@
 struct repeat_entry
   {
     int type;                  /* 1=variable names, 0=any other. */
-    char id[9];                        /* Macro identifier. */
+    char id[LONG_NAME_LEN + 1];        /* Macro identifier. */
     char **replacement;                /* Macro replacement. */
     struct repeat_entry *next;
   };
@@ -124,7 +125,7 @@ static int
 internal_cmd_do_repeat (void)
 {
   /* Name of first DO REPEAT macro. */
-  char first_name[9];
+  char first_name[LONG_NAME_LEN + 1];
 
   /* Current filename. */
   const char *current_filename = NULL;
@@ -168,7 +169,7 @@ internal_cmd_do_repeat (void)
       
       if (token == T_ID)
        result = parse_ids (e);
-      else if (token == T_NUM)
+      else if (lex_is_number ())
        result = parse_numbers (e);
       else if (token == T_STRING)
        result = parse_strings (e);
@@ -552,12 +553,12 @@ perform_DO_REPEAT_substitutions (void)
 
       /* Collect an identifier. */
       {
-       char name[9];
+       char name[LONG_NAME_LEN + 1];
        char *start = cp;
        char *np = name;
        char *substitution;
 
-       while (CHAR_IS_IDN (*cp) && np < &name[8])
+       while (CHAR_IS_IDN (*cp) && np < &name[LONG_NAME_LEN])
          *np++ = *cp++;
        while (CHAR_IS_IDN (*cp))
          cp++;