return -1;
}
- pch = ChrPtr(WCC->ReadBuf);
- YetRead = WCC->ReadPos - pch;
- if (YetRead > 0)
- {
- long StillThere;
-
- StillThere = StrLength(WCC->ReadBuf) -
- YetRead;
-
- StrBufPlain(Ret,
- WCC->ReadPos,
- StillThere);
- total_len -= StillThere;
- }
- FlushStrBuf(WCC->ReadBuf);
- WCC->ReadPos = NULL;
-
+ if (WCC->ReadPos != NULL) {
+ pch = ChrPtr(WCC->ReadBuf);
+
+ YetRead = WCC->ReadPos - pch;
+ if (YetRead > 0)
+ {
+ long StillThere;
+
+ StillThere = StrLength(WCC->ReadBuf) -
+ YetRead;
+
+ StrBufPlain(Ret,
+ WCC->ReadPos,
+ StillThere);
+ total_len -= StillThere;
+ }
+ FlushStrBuf(WCC->ReadBuf);
+ WCC->ReadPos = NULL;
+ }
if (total_len > 0)
{
rc = StrBufReadBLOB(Ret,
}
if (inet_pton(AF_INET6, bind_to, &sin.sin6_addr) <= 0) {
lprintf(1, "Error binding to [%s] : %s\n", ip_addr, strerror(errno));
- abort();
+ return (-WC_EXIT_BIND);
}
}
s = socket(PF_INET6, SOCK_STREAM, (p->p_proto));
if (s < 0) {
- lprintf(1, "Can't create a socket: %s\n", strerror(errno));
+ lprintf(1, "Can't create an IPv6 socket: %s\n", strerror(errno));
return (-WC_EXIT_BIND);
}
/* Set some socket options that make sense. */
s = socket(PF_INET, SOCK_STREAM, (p->p_proto));
if (s < 0) {
- lprintf(1, "Can't create a socket: %s\n", strerror(errno));
+ lprintf(1, "Can't create an IPv4 socket: %s\n", strerror(errno));
return (-WC_EXIT_BIND);
}
/* Set some socket options that make sense. */
s = socket(AF_UNIX, SOCK_STREAM, 0);
if (s < 0) {
- lprintf(1, "webcit: Can't create a socket: %s\n",
- strerror(errno));
+ lprintf(1, "webcit: Can't create a unix domain socket: %s\n", strerror(errno));
return (-WC_EXIT_BIND);
}
if (retval < 0) {
lprintf(2, "client_read() failed: %s\n",
Error);
+ wc_backtrace();
return retval;
}