[PATCH] check_random_seed: use a boolean not an int..

Поиск
Список
Период
Сортировка
От Justin Pryzby
Тема [PATCH] check_random_seed: use a boolean not an int..
Дата
Msg-id 20210612161315.GX16435@telsasoft.com
обсуждение исходный текст
Список pgsql-hackers
This confused me for a minute so took the opportunity to clean it up.

Since: 2594cf0e8c04406ffff19b1651c5a406d376657c
---
 src/backend/commands/variable.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/backend/commands/variable.c b/src/backend/commands/variable.c
index 0c85679420..56f15d2e37 100644
--- a/src/backend/commands/variable.c
+++ b/src/backend/commands/variable.c
@@ -589,11 +589,12 @@ check_transaction_deferrable(bool *newval, void **extra, GucSource source)
 bool
 check_random_seed(double *newval, void **extra, GucSource source)
 {
-    *extra = malloc(sizeof(int));
-    if (!*extra)
+    bool *doit = *extra = malloc(sizeof(bool));
+    if (doit == NULL)
         return false;
+
     /* Arm the assign only if source of value is an interactive SET */
-    *((int *) *extra) = (source >= PGC_S_INTERACTIVE);
+    *doit = (source >= PGC_S_INTERACTIVE);
 
     return true;
 }
@@ -601,10 +602,11 @@ check_random_seed(double *newval, void **extra, GucSource source)
 void
 assign_random_seed(double newval, void *extra)
 {
+    bool *doit = (bool *)extra;
     /* We'll do this at most once for any setting of the GUC variable */
-    if (*((int *) extra))
+    if (*doit)
         DirectFunctionCall1(setseed, Float8GetDatum(newval));
-    *((int *) extra) = 0;
+    *doit = false;
 }
 
 const char *
-- 
2.17.0



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: Race condition in recovery?
Следующее
От: Tom Lane
Дата:
Сообщение: Re: logical replication of truncate command with trigger causes Assert