test->state needs to be explicitly signed char to accomodate a couple

of error states which are negative.  On most systems this doesn't
matter because char is signed, but on ARM CPUs char is unsigned.
This commit is contained in:
Jef Poskanzer 2013-08-16 13:19:42 -07:00
parent cb6347fba9
commit 019434022c
6 changed files with 7 additions and 7 deletions

View File

@ -131,7 +131,7 @@ struct iperf_test
int sender; /* client & !reverse or server & reverse */
int sender_has_retransmits;
struct protocol *protocol;
char state;
signed char state;
char *server_hostname; /* -c option */
char *bind_address; /* -B option */
int server_port;

View File

@ -1206,7 +1206,7 @@ JSON_read(int fd)
if (Nread(fd, (char*) &nsize, sizeof(nsize), Ptcp) >= 0) {
hsize = ntohl(nsize);
str = (char *) malloc((hsize+1) * sizeof(char)); /* +1 for EOS */
str = (char *) malloc(hsize+1); /* +1 for EOS */
if (str != NULL) {
if (Nread(fd, str, hsize, Ptcp) >= 0) {
str[hsize] = '\0'; /* add the EOS */

View File

@ -186,7 +186,7 @@ iperf_handle_message_client(struct iperf_test *test)
{
int rval, perr;
if ((rval = read(test->ctrl_sck, &test->state, sizeof(char))) <= 0) {
if ((rval = read(test->ctrl_sck, (char*) &test->state, sizeof(signed char))) <= 0) {
if (rval == 0) {
i_errno = IECTRLCLOSE;
return -1;

View File

@ -154,7 +154,7 @@ iperf_handle_message_server(struct iperf_test *test)
struct iperf_stream *sp;
// XXX: Need to rethink how this behaves to fit API
if ((rval = Nread(test->ctrl_sck, &test->state, sizeof(char), Ptcp)) <= 0) {
if ((rval = Nread(test->ctrl_sck, (char*) &test->state, sizeof(signed char), Ptcp)) <= 0) {
if (rval == 0) {
iperf_err(test, "the client has unexpectedly closed the connection");
i_errno = IECTRLCLOSE;

View File

@ -79,7 +79,7 @@ int
iperf_tcp_accept(struct iperf_test * test)
{
int s;
int rbuf = ACCESS_DENIED;
signed char rbuf = ACCESS_DENIED;
char cookie[COOKIE_SIZE];
socklen_t len;
struct sockaddr_storage addr;
@ -96,7 +96,7 @@ iperf_tcp_accept(struct iperf_test * test)
}
if (strcmp(test->cookie, cookie) != 0) {
if (Nwrite(s, (char*) &rbuf, sizeof(char), Ptcp) < 0) {
if (Nwrite(s, (char*) &rbuf, sizeof(signed char), Ptcp) < 0) {
i_errno = IESENDMESSAGE;
return -1;
}

View File

@ -86,7 +86,7 @@ main(int argc, char **argv)
if (setjmp(env)) {
if (test->ctrl_sck >= 0) {
test->state = (test->role == 'c') ? CLIENT_TERMINATE : SERVER_TERMINATE;
if (Nwrite(test->ctrl_sck, &test->state, sizeof(char), Ptcp) < 0) {
if (Nwrite(test->ctrl_sck, (char*) &test->state, sizeof(signed char), Ptcp) < 0) {
i_errno = IESENDMESSAGE;
return -1;
}