enbl.c
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:1k
- /*-------------------------------------------------------------------------
- *
- * enbl.c
- * POSTGRES module enable and disable support code.
- *
- * Copyright (c) 1994, Regents of the University of California
- *
- *
- * IDENTIFICATION
- * $Header: /usr/local/cvsroot/pgsql/src/backend/utils/init/enbl.c,v 1.7.2.1 1999/08/02 05:25:09 scrappy Exp $
- *
- *-------------------------------------------------------------------------
- */
- #include "postgres.h"
- #include "utils/module.h"
- /*
- * BypassEnable
- * False iff enable/disable processing is required given on and "*countP."
- *
- * Note:
- * As a side-effect, *countP is modified. It should be 0 initially.
- *
- * Exceptions:
- * BadState if called with pointer to value 0 and false.
- * BadArg if "countP" is invalid pointer.
- * BadArg if on is invalid.
- */
- bool
- BypassEnable(int *enableCountInOutP, bool on)
- {
- AssertArg(PointerIsValid(enableCountInOutP));
- AssertArg(BoolIsValid(on));
- if (on)
- {
- *enableCountInOutP += 1;
- return (bool) (*enableCountInOutP >= 2);
- }
- Assert(*enableCountInOutP >= 1);
- *enableCountInOutP -= 1;
- return (bool) (*enableCountInOutP >= 1);
- }