fprintf (fp, "int i;\n\tint n_vars = %d;\n\t",c->n_indeps);
reg_print_depvars (fp, c);
fprintf (fp, "for (i = 0; i < n_vars; i++)\n\t{\n\t\t");
- fprintf (fp, "if (strcmp (v_name, model_depvars[i]) == 0)\n\t\t{\n\t\t\t");
+ fprintf (fp, "if (strncmp (v_name, model_depvars[i], PSPP_REG_MAXLEN) == 0)\n\t\t{\n\t\t\t");
fprintf (fp, "return i;\n\t\t}\n\t}\n}\n");
}
static void
assert (fp != NULL);
fp = fopen (handle_get_filename (model_file), "w");
fprintf (fp, "%s", reg_preamble);
- fprintf (fp, "#include <string.h>\n#include <math.h>\n\n");
reg_print_getvar (fp, c);
reg_print_categorical_encoding (fp, c);
fprintf (fp, "%s", reg_export_t_quantiles_1);
const char reg_preamble[] = "/*\n This program contains functions which return estimates\n"
" and confidence intervals for a linear model. The EXPORT subcommand\n"
-" of the REGRESSION procedure of GNU PSPP generated this program.\n*/\n\n";
+" of the REGRESSION procedure of GNU PSPP generated this program.\n*/\n\n"
+"#include <string.h>\n#include <math.h>\n#define PSPP_REG_MAXLEN 1024\n\n";
const char reg_mean_cmt[] = "/*\n Estimate the mean of Y, the dependent variable for\n"
" the linear model of the form \n\n"
"int i;\n\t";
const char reg_export_categorical_encode_2[] = "int v_index = 0;\n\t"
-"while (v_index < n_vars && strcmp (var, varlist[i]->name) != 0)\n\t{\n\t\t"
+"while (v_index < n_vars && strncmp (var, varlist[i]->name, PSPP_REG_MAXLEN) != 0)\n\t{\n\t\t"
"v_index++;\n\t}\n\tresult = (double *) malloc (varlist[v_index]->n_vals * sizeof (*result));\n\t"
"for (i = 0; i < varlist[v_index]->n_vals; i++)\n\t{\n\t\t"
-"if (strcmp ( (varlist[v_index]->values)[i], value) == 0)\n\t\t{\n\t\t\t"
+"if (strncmp ( (varlist[v_index]->values)[i], value, PSPP_REG_MAXLEN) == 0)\n\t\t{\n\t\t\t"
"result[i] = 1.0;\n\t\t}\n\t\telse result[i] = 0.0;\n\t}\n\n\t"
"return result;\n}\n\n";
#endif