enbl.c
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:1k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. /*-------------------------------------------------------------------------
  2.  *
  3.  * enbl.c
  4.  *   POSTGRES module enable and disable support code.
  5.  *
  6.  * Copyright (c) 1994, Regents of the University of California
  7.  *
  8.  *
  9.  * IDENTIFICATION
  10.  *   $Header: /usr/local/cvsroot/pgsql/src/backend/utils/init/enbl.c,v 1.7.2.1 1999/08/02 05:25:09 scrappy Exp $
  11.  *
  12.  *-------------------------------------------------------------------------
  13.  */
  14. #include "postgres.h"
  15. #include "utils/module.h"
  16. /*
  17.  * BypassEnable
  18.  * False iff enable/disable processing is required given on and "*countP."
  19.  *
  20.  * Note:
  21.  * As a side-effect, *countP is modified. It should be 0 initially.
  22.  *
  23.  * Exceptions:
  24.  * BadState if called with pointer to value 0 and false.
  25.  * BadArg if "countP" is invalid pointer.
  26.  * BadArg if on is invalid.
  27.  */
  28. bool
  29. BypassEnable(int *enableCountInOutP, bool on)
  30. {
  31. AssertArg(PointerIsValid(enableCountInOutP));
  32. AssertArg(BoolIsValid(on));
  33. if (on)
  34. {
  35. *enableCountInOutP += 1;
  36. return (bool) (*enableCountInOutP >= 2);
  37. }
  38. Assert(*enableCountInOutP >= 1);
  39. *enableCountInOutP -= 1;
  40. return (bool) (*enableCountInOutP >= 1);
  41. }