aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/init/enbl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils/init/enbl.c')
-rw-r--r--src/backend/utils/init/enbl.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/backend/utils/init/enbl.c b/src/backend/utils/init/enbl.c
new file mode 100644
index 00000000000..995ab9d9567
--- /dev/null
+++ b/src/backend/utils/init/enbl.c
@@ -0,0 +1,45 @@
+/*-------------------------------------------------------------------------
+ *
+ * enbl.c--
+ * POSTGRES module enable and disable support code.
+ *
+ * Copyright (c) 1994, Regents of the University of California
+ *
+ *
+ * IDENTIFICATION
+ * $Header: /cvsroot/pgsql/src/backend/utils/init/Attic/enbl.c,v 1.1.1.1 1996/07/09 06:22:08 scrappy Exp $
+ *
+ *-------------------------------------------------------------------------
+ */
+#include "c.h"
+#include "utils/module.h" /* where the declarations go */
+
+/*
+ * 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));
+ }
+
+ AssertState(*enableCountInOutP >= 1);
+
+ *enableCountInOutP -= 1;
+
+ return ((bool)(*enableCountInOutP >= 1));
+}