static int do_log_user()

in plugin/server_audit/server_audit.cc [1441:1468]


static int do_log_user(const char *name, int len,
                       const char *proxy, int proxy_len, int take_lock)
{
  int result;

  if (!name)
    return 0;

  if (take_lock)
    mysql_prlock_rdlock(&lock_operations);

  if (incl_user_coll.n_users)
  {
    result= coll_search(&incl_user_coll, name, len) != 0 ||
            (proxy && coll_search(&incl_user_coll, proxy, proxy_len) != 0);
  }
  else if (excl_user_coll.n_users)
  {
    result= coll_search(&excl_user_coll, name, len) == 0 &&
            (proxy && coll_search(&excl_user_coll, proxy, proxy_len) == 0);
  }
  else
    result= 1;

  if (take_lock)
    mysql_prlock_unlock(&lock_operations);
  return result;
}