if (NIS_RES_STATUS (res) != NIS_SUCCESS) return;
if (res == NULL || NIS_RES_STATUS (res) != NIS_SUCCESS) { if (res) nis_freeresult (res); return; }
nis_ping (const_nis_name dirname, unsigned int utime,	  const nis_object *dirobj){  nis_result *res = NULL;  nis_object *obj;  ping_args args;  unsigned int i;  if (dirname == NULL && dirobj == NULL)    abort ();  if (dirobj == NULL)    {      res = nis_lookup (dirname, MASTER_ONLY);      if (NIS_RES_STATUS (res) != NIS_SUCCESS)	return;      obj = res->objects.objects_val;    }  else    obj = (nis_object *) dirobj;  /* Check if obj is really a diryectory object */  if (__type_of (obj) != NIS_DIRECTORY_OBJ)    {      if (res != NULL)	nis_freeresult (res);      return;    }  if (dirname == NULL)    args.dir = obj->DI_data.do_name;  else    args.dir = (char *) dirname;  args.stamp = utime;  /* Send the ping only to replicas */  for (i = 1; i < obj->DI_data.do_servers.do_servers_len; ++i)    __do_niscall2 (&obj->DI_data.do_servers.do_servers_val[i], 1,		   NIS_PING, (xdrproc_t) _xdr_ping_args,		   (caddr_t) &args, (xdrproc_t) xdr_void,		   (caddr_t) NULL, 0, NULL);  if (res)    nis_freeresult (res);}