Changeset: 36fea6dd2ea2 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/36fea6dd2ea2
Modified Files:
common/utils/msabaoth.c
tools/merovingian/daemon/discoveryrunner.c
tools/merovingian/daemon/forkmserver.c
tools/merovingian/daemon/merovingian.h
Branch: Dec2023
Log Message:
A little cleanup.
diffs (87 lines):
diff --git a/common/utils/msabaoth.c b/common/utils/msabaoth.c
--- a/common/utils/msabaoth.c
+++ b/common/utils/msabaoth.c
@@ -721,9 +721,15 @@ msab_getSingleStatus(const char *pathbuf
};
/* store the database name */
- snprintf(buf, sizeof(buf), "%s/%s", pathbuf, dbname);
+ int dbnamestart;
+#ifdef _MSC_VER
+ dbnamestart = snprintf(buf, sizeof(buf), "%s/", pathbuf);
+ snprintf(buf + dbnamestart, sizeof(buf) - dbnamestart, "%s", dbname);
+#else
+ snprintf(buf, sizeof(buf), "%s/%n%s", pathbuf, &dbnamestart, dbname);
+#endif
sdb->path = strdup(buf);
- sdb->dbname = sdb->path + strlen(sdb->path) - strlen(dbname);
+ sdb->dbname = sdb->path + dbnamestart;
/* check the state of the server by looking at its gdk lock:
diff --git a/tools/merovingian/daemon/discoveryrunner.c
b/tools/merovingian/daemon/discoveryrunner.c
--- a/tools/merovingian/daemon/discoveryrunner.c
+++ b/tools/merovingian/daemon/discoveryrunner.c
@@ -189,21 +189,21 @@ getRemoteDB(const char *database)
} else {
walk = stats = malloc(sizeof(sabdb));
}
- walk->dbname = strdup(rdb->dbname);
+ *walk = (sabdb) {
+ .dbname = strdup(rdb->dbname),
+ .locked = false,
+ .state = SABdbRunning,
+ .pid = -1,
+ .scens = malloc(sizeof(sablist)),
+ .conns = malloc(sizeof(sablist)),
+ };
+ *walk->scens = (sablist) {
+ .val = strdup("sql"),
+ };
+ *walk->conns = (sablist) {
+ .val = strdup(rdb->conn),
+ };
walk->path = walk->dbname; /* only freed by sabaoth */
- walk->locked = false;
- walk->state = SABdbRunning;
- walk->pid = 0;
- walk->scens = malloc(sizeof(sablist));
- walk->scens->val = strdup("sql");
- walk->scens->next = NULL;
- walk->conns = malloc(sizeof(sablist));
- walk->conns->val = strdup(rdb->conn);
- walk->conns->next = NULL;
- walk->uri = NULL;
- walk->secret = NULL;
- walk->next = NULL;
- walk->uplog = NULL;
/* cut out first returned entry, put it down the list
* later, as to implement a round-robin DNS-like
diff --git a/tools/merovingian/daemon/forkmserver.c
b/tools/merovingian/daemon/forkmserver.c
--- a/tools/merovingian/daemon/forkmserver.c
+++ b/tools/merovingian/daemon/forkmserver.c
@@ -236,6 +236,10 @@ forkMserver(const char *database, sabdb*
*dp = (struct _dpair) {
.dbname = strdup(database),
.fork_lock = PTHREAD_MUTEX_INITIALIZER,
+ .input[0].fd = -1,
+ .input[1].fd = -1,
+ .type = NODB,
+ .pid = -1,
};
break;
}
diff --git a/tools/merovingian/daemon/merovingian.h
b/tools/merovingian/daemon/merovingian.h
--- a/tools/merovingian/daemon/merovingian.h
+++ b/tools/merovingian/daemon/merovingian.h
@@ -36,7 +36,8 @@ typedef char* err;
#define NO_ERR (err)0
typedef enum _mtype {
- MERO = 1,
+ NODB = 0,
+ MERO,
MERODB,
MEROFUN
} mtype;
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]