-#ifdef HAS_SHADOW
-/**************
- * This function was lifted from the shadow-3.3.2 version by John Haugh II.
- * It is included because the function was not in the standard libshadow
- * library. If it is included in the library then I can remove it from here.
- */
-
-#define DAY (24L*3600L)
-/*
- * isexpired - determine if account is expired yet
- *
- * isexpired calculates the expiration date based on the
- * password expiration criteria.
- */
-
-/*ARGSUSED*/
-int
-isexpired (pw, sp)
-struct passwd *pw;
-struct spwd *sp;
-{
- long clock;
-
- clock = time ((time_t *) 0) / DAY;
-
- /*
- * Quick and easy - there is an expired account field
- * along with an inactive account field. Do the expired
- * one first since it is worse.
- */
-
- if (sp->sp_expire > 0 && sp->sp_expire < clock)
- return 3;
-
- if (sp->sp_inact > 0 && sp->sp_lstchg > 0 && sp->sp_max > 0 &&
- sp->sp_inact + sp->sp_lstchg + sp->sp_max < clock)
- return 2;
-
- /*
- * The last and max fields must be present for an account
- * to have an expired password. A maximum of >10000 days
- * is considered to be infinite.
- */
-
- if (sp->sp_lstchg == -1 ||
- sp->sp_max == -1 || sp->sp_max >= 10000L)
- return 0;
-
- /*
- * Calculate today's day and the day on which the password
- * is going to expire. If that date has already passed,
- * the password has expired.
- */
-
- if (sp->sp_lstchg + sp->sp_max < clock)
- return 1;
-
- return 0;
-}
-#endif
-
-