X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fmath%2Fcoefficient.c;h=1f157433ee21a901eda70718313a2f5edc18c676;hb=03e9ea4ed60c790091ab1ea85fffa29f0965f83e;hp=5872b576fabfc82227aac28dae759ec43ded96ac;hpb=a2d859e5a4c8192257c04fd89b8336aa33b15363;p=pspp diff --git a/src/math/coefficient.c b/src/math/coefficient.c index 5872b576fa..1f157433ee 100644 --- a/src/math/coefficient.c +++ b/src/math/coefficient.c @@ -160,13 +160,21 @@ pspp_coeff_var_to_coeff (const struct variable *v, struct pspp_coeff **coefs, size_t i = 0; size_t j = 0; size_t v_idx; + struct pspp_coeff *result = NULL; if (v != NULL) { v_idx = var_get_dict_index (v); - while (i < n_coef && var_get_dict_index (coefs[i]->v_info->v) != v_idx) + while (i < n_coef) { + if (coefs[i]->v_info != NULL) + { + if (var_get_dict_index (coefs[i]->v_info->v) == v_idx) + { + break; + } + } i++; } result = coefs[i]; @@ -178,8 +186,8 @@ pspp_coeff_var_to_coeff (const struct variable *v, struct pspp_coeff **coefs, if (val != NULL) { j = i; - while (j < n_coef && compare_values (pspp_coeff_get_value (coefs[j], v), - val, var_get_width (v)) != 0) + while (j < n_coef && compare_values_short (pspp_coeff_get_value (coefs[j], v), + val, v) != 0) { j++; }