--- src/client.c 2006-05-30 10:03:51.000000000 -0500 +++ src/client.c.new 2006-11-08 12:11:44.000000000 -0600 @@ -678,6 +678,7 @@ char *ident = _ds_read_attribute(agent_config, "DeliveryIdent"); int exitcode = EFAILURE; int msglen, code; + int buflen; char *inp; int i; @@ -791,13 +792,34 @@ i = 0; msglen = strlen(msg); while(i 0 && msg[i] == '\n' && msg[i - 1] != '\r') { + buf[buflen] = '\r'; + buflen++; + } + + buf[buflen] = msg[i]; + buflen++; + i++; + } + + /* send buf */ + t = 0; + while (t < buflen) { + r = send(TTX.sockfd, buf+t, buflen - t, 0); + if (r <= 0) { + LOG(LOG_ERR, ERR_CLIENT_SEND_FAILED); + STATUS(ERR_CLIENT_SEND_FAILED); + goto BAIL; + } + t += r; } - i += r; } if (msg[strlen(msg)-1]!= '\n') {