sp->sp_expire = atol (line);
if (*line) sp->sp_expire = atol (line);
_nss_nisplus_parse_spent (nis_result *result, struct spwd *sp,			  char *buffer, size_t buflen, int *errnop){  char *first_unused = buffer;  size_t room_left = buflen;  size_t len;  if (result == NULL)    return 0;  if ((result->status != NIS_SUCCESS && result->status != NIS_S_SUCCESS)      || result->objects.objects_len != 1      || __type_of(result->objects.objects_val) != NIS_ENTRY_OBJ      || strcmp (result->objects.objects_val->EN_data.en_type,		 "passwd_tbl") != 0      || result->objects.objects_val[0].EN_data.en_cols.en_cols_len < 8)    return 0;  if (NISENTRYLEN (0, 0, result) >= room_left)    {      /* The line is too long for our buffer.  */    no_more_room:      *errnop = ERANGE;      return -1;    }  strncpy (first_unused, NISENTRYVAL (0, 0, result),	   NISENTRYLEN (0, 0, result));  first_unused[NISENTRYLEN (0, 0, result)] = '\0';  len = strlen (first_unused);  if (len == 0)    return 0;  sp->sp_namp = first_unused;  room_left -= (len + 1);  first_unused += (len + 1);  if (NISENTRYLEN (0, 1, result) >= room_left)    goto no_more_room;  strncpy (first_unused, NISENTRYVAL (0, 1, result),	   NISENTRYLEN (0, 1, result));  first_unused[NISENTRYLEN (0, 1, result)] = '\0';  sp->sp_pwdp = first_unused;  len = strlen (first_unused);  room_left -= (len + 1);  first_unused += (len + 1);  sp->sp_lstchg = sp->sp_min = sp->sp_max = sp->sp_warn = sp->sp_inact =    sp->sp_expire = sp->sp_flag = -1;  if (NISENTRYLEN (0, 7, result) > 0)    {      char *line, *cp;      line = NISENTRYVAL (0, 7, result);      cp = strchr (line, ':');      if (cp == NULL)	return 0;      *cp++ = '\0';      sp->sp_lstchg = atol (line);      line = cp;      cp = strchr (line, ':');      if (cp == NULL)	return 0;      *cp++ = '\0';      sp->sp_min = atol (line);      line = cp;      cp = strchr (line, ':');      if (cp == NULL)	return 0;      *cp++ = '\0';      sp->sp_max = atol (line);      line = cp;      cp = strchr (line, ':');      if (cp == NULL)	return 0;      *cp++ = '\0';      sp->sp_warn = atol (line);      line = cp;      cp = strchr (line, ':');      if (cp == NULL)	return 0;      *cp++ = '\0';      sp->sp_inact = atol (line);      line = cp;      cp = strchr (line, ':');      if (cp == NULL)	return 0;      *cp++ = '\0';      sp->sp_expire = atol (line);      line = cp;      if (line == NULL)	return 0;      sp->sp_flag = atol (line);    }  return 1;}