diff options
Diffstat (limited to 'SDBM_File.c')
-rw-r--r-- | SDBM_File.c | 56 |
1 files changed, 40 insertions, 16 deletions
diff --git a/SDBM_File.c b/SDBM_File.c index 631a01bb5b..fcf2259448 100644 --- a/SDBM_File.c +++ b/SDBM_File.c @@ -42,8 +42,11 @@ register int items; { SDBM_File db; - if (SvROK(ST(1))) - db = (SDBM_File)(unsigned long)SvNV((SV*)SvRV(ST(1))); + if (SvROK(ST(1))) { + unsigned long tmp; + tmp = (unsigned long)SvNV((SV*)SvRV(ST(1))); + db = (SDBM_File) tmp; + } else croak("db is not a reference"); sdbm_close(db); @@ -65,8 +68,11 @@ register int items; datum key; datum RETVAL; - if (sv_isa(ST(1), "SDBM_File")) - db = (SDBM_File)(unsigned long)SvNV((SV*)SvRV(ST(1))); + if (sv_isa(ST(1), "SDBM_File")) { + unsigned long tmp; + tmp = (unsigned long)SvNV((SV*)SvRV(ST(1))); + db = (SDBM_File) tmp; + } else croak("db is not of type SDBM_File"); @@ -96,8 +102,11 @@ register int items; int flags; int RETVAL; - if (sv_isa(ST(1), "SDBM_File")) - db = (SDBM_File)(unsigned long)SvNV((SV*)SvRV(ST(1))); + if (sv_isa(ST(1), "SDBM_File")) { + unsigned long tmp; + tmp = (unsigned long)SvNV((SV*)SvRV(ST(1))); + db = (SDBM_File) tmp; + } else croak("db is not of type SDBM_File"); @@ -134,8 +143,11 @@ register int items; datum key; int RETVAL; - if (sv_isa(ST(1), "SDBM_File")) - db = (SDBM_File)(unsigned long)SvNV((SV*)SvRV(ST(1))); + if (sv_isa(ST(1), "SDBM_File")) { + unsigned long tmp; + tmp = (unsigned long)SvNV((SV*)SvRV(ST(1))); + db = (SDBM_File) tmp; + } else croak("db is not of type SDBM_File"); @@ -162,8 +174,11 @@ register int items; SDBM_File db; datum RETVAL; - if (sv_isa(ST(1), "SDBM_File")) - db = (SDBM_File)(unsigned long)SvNV((SV*)SvRV(ST(1))); + if (sv_isa(ST(1), "SDBM_File")) { + unsigned long tmp; + tmp = (unsigned long)SvNV((SV*)SvRV(ST(1))); + db = (SDBM_File) tmp; + } else croak("db is not of type SDBM_File"); @@ -188,8 +203,11 @@ register int items; datum key; datum RETVAL; - if (sv_isa(ST(1), "SDBM_File")) - db = (SDBM_File)(unsigned long)SvNV((SV*)SvRV(ST(1))); + if (sv_isa(ST(1), "SDBM_File")) { + unsigned long tmp; + tmp = (unsigned long)SvNV((SV*)SvRV(ST(1))); + db = (SDBM_File) tmp; + } else croak("db is not of type SDBM_File"); @@ -216,8 +234,11 @@ register int items; SDBM_File db; int RETVAL; - if (sv_isa(ST(1), "SDBM_File")) - db = (SDBM_File)(unsigned long)SvNV((SV*)SvRV(ST(1))); + if (sv_isa(ST(1), "SDBM_File")) { + unsigned long tmp; + tmp = (unsigned long)SvNV((SV*)SvRV(ST(1))); + db = (SDBM_File) tmp; + } else croak("db is not of type SDBM_File"); @@ -241,8 +262,11 @@ register int items; SDBM_File db; int RETVAL; - if (sv_isa(ST(1), "SDBM_File")) - db = (SDBM_File)(unsigned long)SvNV((SV*)SvRV(ST(1))); + if (sv_isa(ST(1), "SDBM_File")) { + unsigned long tmp; + tmp = (unsigned long)SvNV((SV*)SvRV(ST(1))); + db = (SDBM_File) tmp; + } else croak("db is not of type SDBM_File"); |