if (bcmp ((char *) &ad->ad_timestamp, (char *) &verf.adv_timestamp, sizeof (struct timeval)) != 0)
if (memcmp ((char *) &ad->ad_timestamp, (char *) &verf.adv_timestamp, sizeof (struct timeval)) != 0)
authdes_validate (AUTH * auth, struct opaque_auth *rverf){  struct ad_private *ad = AUTH_PRIVATE (auth);  struct authdes_verf verf;  int status;  register u_long *ixdr;  if (rverf->oa_length != (2 + 1) * BYTES_PER_XDR_UNIT)    return (FALSE);  ixdr = (u_long *) rverf->oa_base;  verf.adv_xtimestamp.key.high = (u_long) * ixdr++;  verf.adv_xtimestamp.key.low = (u_long) * ixdr++;  verf.adv_int_u = (u_long) * ixdr++;	/* nickname not XDR'd ! */  /*   * Decrypt the timestamp   */  status = ecb_crypt ((char *) &auth->ah_key, (char *) &verf.adv_xtimestamp,		      sizeof (des_block), DES_DECRYPT | DES_HW);  if (DES_FAILED (status))    {      debug ("authdes_validate: DES decryption failure");      return (FALSE);    }  /*   * xdr the decrypted timestamp   */  ixdr = (u_long *) verf.adv_xtimestamp.c;  verf.adv_timestamp.tv_sec = IXDR_GET_LONG (ixdr) + 1;  verf.adv_timestamp.tv_usec = IXDR_GET_LONG (ixdr);  /*   * validate   */  if (bcmp ((char *) &ad->ad_timestamp, (char *) &verf.adv_timestamp,	    sizeof (struct timeval)) != 0)    {      debug ("authdes_validate: verifier mismatch\n");      return (FALSE);    }  /*   * We have a nickname now, let's use it   */  ad->ad_nickname = verf.adv_nickname;  ad->ad_cred.adc_namekind = ADN_NICKNAME;  return (TRUE);}