The code fragment: struct dictionary *dict = (void *) SvIV (dict_sv);
is dangerous. This fix uses the properl Perl XS mechanism to get
the pointer and the scalar associated with the dictionary.
Reviewed-By: Ben Pfaff
struct sysfile_info *
-pxs_create_sysfile (name, dict_ref, opts_hr)
+pxs_create_sysfile (name, dict, opts_hr)
char *name
- SV *dict_ref
+ struct dictionary *dict;
SV *opts_hr
INIT:
- SV *dict_sv = SvRV (dict_ref);
- struct dictionary *dict = (void *) SvIV (dict_sv);
+ SV *dict_sv = ST(1);
struct sfm_write_options opts;
if (!SvROK (opts_hr))
{