X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=perl-module%2FPSPP.xs;h=077bf581f0031cfe27332efbbf54c2dbec6e04a3;hb=refs%2Fheads%2Fctables10;hp=aaa4299f0379f3823f66c765767f986081ceb038;hpb=339f1956cc727eda788638644ef93ab7852b31cd;p=pspp diff --git a/perl-module/PSPP.xs b/perl-module/PSPP.xs index aaa4299f03..077bf581f0 100644 --- a/perl-module/PSPP.xs +++ b/perl-module/PSPP.xs @@ -149,7 +149,7 @@ value_to_scalar (const union value *val, const struct variable *var) { if ( var_is_numeric (var)) { - if ( var_is_value_missing (var, val, MV_SYSTEM)) + if (var_is_value_missing (var, val) == MV_SYSTEM) return newSVpvn ("", 0); return newSVnv (val->f); @@ -157,7 +157,7 @@ value_to_scalar (const union value *val, const struct variable *var) else { int width = var_get_width (var); - return newSVpvn (val->s, width); + return newSVpvn ((char *) val->s, width); } } @@ -208,7 +208,8 @@ CODE: assert (0 == strncmp (ver, bare_version, strlen (ver))); i18n_init (); - msg_set_handler (message_handler, NULL); +const struct msg_handler mh = { .output_msg = message_handler }; + msg_set_handler (&mh); settings_init (); fh_init (); @@ -239,7 +240,7 @@ CODE: union value uv; int ret; make_value_from_scalar (&uv, val, var); - ret = var_is_value_missing (var, &uv, MV_ANY); + ret = var_is_value_missing (var, &uv) != 0; value_destroy (&uv, var_get_width (var)); RETVAL = ret; OUTPUT: @@ -785,7 +786,7 @@ get_case_cnt (sfr) struct sysreader_info *sfr; CODE: SV *ret; - casenumber n = casereader_get_case_cnt (sfr->reader); + casenumber n = casereader_get_n_cases (sfr->reader); if (n == CASENUMBER_MAX) ret = &PL_sv_undef; else