Changeset: edf7251ea2e8 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=edf7251ea2e8
Modified Files:
testing/Mtest.py.in
tools/merovingian/utils/control.c
Branch: default
Log Message:
Merge with Feb2013 branch.
diffs (124 lines):
diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in
--- a/testing/Mtest.py.in
+++ b/testing/Mtest.py.in
@@ -3278,6 +3278,8 @@ if SYST == "Linux":
if not LINUX_DIST:
LINUX_DIST = SYST+':'+re.match('^([0-9\.]*)([^0-9\.].*)$',
RELEASE).group(1)
DIST,VERSION = LINUX_DIST.split(':', 1)
+elif SYST == "SunOS" and os.path.isfile('/etc/release'):
+ (DIST,VERSION,rest) = open('/etc/release').readline().strip().split(' ',2)
else:
DIST = SYST
VERSION = RELEASE
diff --git a/tools/merovingian/utils/control.c
b/tools/merovingian/utils/control.c
--- a/tools/merovingian/utils/control.c
+++ b/tools/merovingian/utils/control.c
@@ -56,6 +56,7 @@ char* control_send(
char* pass)
{
char sbuf[8096];
+ char rbuf[8096];
char *buf;
int sock = -1;
ssize_t len;
@@ -108,9 +109,9 @@ char* control_send(
}
/* try reading length */
- len = recv(sock, sbuf, 2, 0);
+ len = recv(sock, rbuf, 2, 0);
if (len == 2)
- len += recv(sock, sbuf + len, sizeof(sbuf) - len, 0);
+ len += recv(sock, rbuf + len, sizeof(rbuf) - len, 0);
/* perform login ritual */
if (len <= 0) {
snprintf(sbuf, sizeof(sbuf), "no response from
monetdbd");
@@ -119,22 +120,22 @@ char* control_send(
}
/* we only understand merovingian:1 and :2 (backwards compat
* <=Aug2011) and mapi v9 on merovingian */
- if (strncmp(sbuf, "merovingian:1:", strlen("merovingian:1:"))
== 0) {
- buf = sbuf + strlen("merovingian:1:");
+ if (strncmp(rbuf, "merovingian:1:", strlen("merovingian:1:"))
== 0) {
+ buf = rbuf + strlen("merovingian:1:");
ver = 1;
- } else if (strncmp(sbuf, "merovingian:2:",
strlen("merovingian:2:")) == 0) {
- buf = sbuf + strlen("merovingian:2:");
+ } else if (strncmp(rbuf, "merovingian:2:",
strlen("merovingian:2:")) == 0) {
+ buf = rbuf + strlen("merovingian:2:");
ver = 2;
- } else if (strstr(sbuf + 2, ":merovingian:9:") != NULL) {
- buf = sbuf + 2;
+ } else if (strstr(rbuf + 2, ":merovingian:9:") != NULL) {
+ buf = rbuf + 2;
ver = 9;
fdin = block_stream(socket_rastream(sock, "client in"));
fdout = block_stream(socket_wastream(sock, "client
out"));
} else {
if (len > 2 &&
- (strstr(sbuf + 2, ":BIG:") != NULL ||
- strstr(sbuf + 2, ":LIT:") != NULL))
+ (strstr(rbuf + 2, ":BIG:") != NULL ||
+ strstr(rbuf + 2, ":LIT:") != NULL))
{
snprintf(sbuf, sizeof(sbuf), "cannot connect: "
"server looks like a mapi
server, "
@@ -294,23 +295,23 @@ char* control_send(
if (fdin != NULL) {
/* stream.h is sooo broken :( */
- memset(sbuf, '\0', sizeof(sbuf));
- if (mnstr_read_block(fdin, sbuf, sizeof(sbuf) - 1, 1) <
0) {
+ memset(rbuf, '\0', sizeof(rbuf));
+ if (mnstr_read_block(fdin, rbuf, sizeof(rbuf) - 1, 1) <
0) {
close_stream(fdout);
close_stream(fdin);
return(strdup("no response from monetdbd after
login"));
}
- sbuf[strlen(sbuf) - 1] = '\0';
+ rbuf[strlen(rbuf) - 1] = '\0';
} else {
- if ((len = recv(sock, sbuf, sizeof(sbuf), 0)) <= 0) {
+ if ((len = recv(sock, rbuf, sizeof(rbuf), 0)) <= 0) {
close(sock);
return(strdup("no response from monetdbd after
login"));
}
- sbuf[len - 1] = '\0';
+ rbuf[len - 1] = '\0';
}
- if (strcmp(sbuf, "=OK") != 0 && strcmp(sbuf, "OK") != 0) {
- buf = sbuf;
+ if (strcmp(rbuf, "=OK") != 0 && strcmp(rbuf, "OK") != 0) {
+ buf = rbuf;
if (*buf == '!')
buf++;
if (fdin != NULL) {
@@ -397,20 +398,20 @@ char* control_send(
*ret = buf;
} else {
if (fdin != NULL) {
- if (mnstr_read_block(fdin, sbuf, sizeof(sbuf) - 1, 1) <
0) {
+ if (mnstr_read_block(fdin, rbuf, sizeof(rbuf) - 1, 1) <
0) {
close_stream(fdin);
close_stream(fdout);
return(strdup("incomplete response from
monetdbd"));
}
- sbuf[strlen(sbuf) - 1] = '\0';
- *ret = strdup(sbuf + 1);
+ rbuf[strlen(rbuf) - 1] = '\0';
+ *ret = strdup(rbuf + 1);
} else {
- if ((len = recv(sock, sbuf, sizeof(sbuf), 0)) <= 0) {
+ if ((len = recv(sock, rbuf, sizeof(rbuf), 0)) <= 0) {
close(sock);
return(strdup("incomplete response from
monetdbd"));
}
- sbuf[len - 1] = '\0';
- *ret = strdup(sbuf);
+ rbuf[len - 1] = '\0';
+ *ret = strdup(rbuf);
}
}
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list