diff options
Diffstat (limited to 'USER')
-rw-r--r-- | USER/USER.xs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/USER/USER.xs b/USER/USER.xs index 01c6be0..ceadda3 100644 --- a/USER/USER.xs +++ b/USER/USER.xs @@ -1327,13 +1327,13 @@ Ent_ShadowExpire(self, ssv) XPUSHs(sv_2mortal(newSViv(atol(g_value_get_string(value))))); } } - } else { - memset(&val, 0, sizeof(val)); - g_value_init(&val, G_TYPE_LONG); - g_value_set_long(&val, (long)SvIV( ssv )); - lu_ent_clear(self, LU_SHADOWEXPIRE); - lu_ent_add(self, LU_SHADOWEXPIRE, &val); } + } else if (SvNOK(ssv)) { + memset(&val, 0, sizeof(val)); + g_value_init(&val, G_TYPE_LONG); + g_value_set_long(&val, (long)SvNV( ssv )); + lu_ent_clear(self, LU_SHADOWEXPIRE); + lu_ent_add(self, LU_SHADOWEXPIRE, &val); } else { warn("XS_ShadowExpire: Cannot make operation on LU_SHADOWEXPIRE attribute"); } |