projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Had to get last call to multipass_split_output() inside
[pspp]
/
src
/
repeat.c
diff --git
a/src/repeat.c
b/src/repeat.c
index 8b66a7122a936e8d4eacc216f887fcd3d0793ee6..dad14549864f8035eea2bc4b627c4331defa3cd5 100644
(file)
--- a/
src/repeat.c
+++ b/
src/repeat.c
@@
-18,12
+18,12
@@
02111-1307, USA. */
#include <config.h>
02111-1307, USA. */
#include <config.h>
-#include <assert.h>
+#include "repeat.h"
+#include "error.h"
#include <ctype.h>
#include <math.h>
#include <stdlib.h>
#include "alloc.h"
#include <ctype.h>
#include <math.h>
#include <stdlib.h>
#include "alloc.h"
-#include "cases.h"
#include "command.h"
#include "error.h"
#include "getline.h"
#include "command.h"
#include "error.h"
#include "getline.h"
@@
-33,8
+33,6
@@
#include "str.h"
#include "var.h"
#include "str.h"
#include "var.h"
-#undef DEBUGGING
-/*#define DEBUGGING 1*/
#include "debug-print.h"
/* Describes one DO REPEAT macro. */
#include "debug-print.h"
/* Describes one DO REPEAT macro. */
@@
-140,9
+138,6
@@
internal_cmd_do_repeat (void)
int print;
/* The first step is parsing the DO REPEAT command itself. */
int print;
/* The first step is parsing the DO REPEAT command itself. */
- lex_match_id ("DO");
- lex_match_id ("REPEAT");
-
count = 0;
line_buf_head = NULL;
do
count = 0;
line_buf_head = NULL;
do
@@
-304,7
+299,7
@@
internal_cmd_do_repeat (void)
REPEAT line. We should actually check for the PRINT specifier.
This can be done easier when we buffer entire commands instead of
doing it token by token; see TODO. */
REPEAT line. We should actually check for the PRINT specifier.
This can be done easier when we buffer entire commands instead of
doing it token by token; see TODO. */
- lex_
entire_line ();
+ lex_
discard_line ();
/* Tie up the loose end of the chain. */
if (line_buf_head == NULL)
/* Tie up the loose end of the chain. */
if (line_buf_head == NULL)
@@
-330,14
+325,7
@@
internal_cmd_do_repeat (void)
{
/* Note that if the variable already exists there is no
harm done. */
{
/* Note that if the variable already exists there is no
harm done. */
- struct variable *v = create_variable (&default_dict,
- iter->replacement[i],
- NUMERIC, 0);
-
- /* If we created the variable then we need to initialize
- its observations to SYSMIS. */
- if (v)
- envector (v);
+ dict_create_var (default_dict, iter->replacement[i], 0);
}
}
}
}
}
}
@@
-515,7
+503,7
@@
cmd_end_repeat (void)
\f
/* Finds a DO REPEAT macro with name MACRO_NAME and returns the
appropriate subsitution if found, or NULL if not. */
\f
/* Finds a DO REPEAT macro with name MACRO_NAME and returns the
appropriate subsitution if found, or NULL if not. */
-char *
+
static
char *
find_DO_REPEAT_substitution (char *macro_name)
{
struct getl_script *s;
find_DO_REPEAT_substitution (char *macro_name)
{
struct getl_script *s;
@@
-557,7
+545,7
@@
perform_DO_REPEAT_substitutions (void)
while (ds_length (&getl_buf) > 0
&& isspace ((unsigned char) ds_end (&getl_buf)[-1]))
ds_truncate (&getl_buf, ds_length (&getl_buf) - 1);
while (ds_length (&getl_buf) > 0
&& isspace ((unsigned char) ds_end (&getl_buf)[-1]))
ds_truncate (&getl_buf, ds_length (&getl_buf) - 1);
- if (ds_length (&getl_buf) > 0 && ds_end (&getl_buf)[-1] ==
set_endcmd
)
+ if (ds_length (&getl_buf) > 0 && ds_end (&getl_buf)[-1] ==
get_endcmd()
)
{
dot = 1;
ds_truncate (&getl_buf, ds_length (&getl_buf) - 1);
{
dot = 1;
ds_truncate (&getl_buf, ds_length (&getl_buf) - 1);
@@
-601,7
+589,7
@@
perform_DO_REPEAT_substitutions (void)
}
}
if (dot)
}
}
if (dot)
- ds_putchar (&output,
(unsigned char) set_endcmd
);
+ ds_putchar (&output,
get_endcmd()
);
ds_destroy (&getl_buf);
getl_buf = output;
ds_destroy (&getl_buf);
getl_buf = output;