fixed a wrong data type of a parameter passed to ioctl.
fixed the segfault when no host configuration is in the configuration file
This commit is contained in:
parent
15924c72cd
commit
010b5fb9c0
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -80,8 +80,12 @@
|
||||
<if cond="ENABLE_DLL=='1'">shared</if>
|
||||
<if cond="ENABLE_DLL=='0'">static</if>
|
||||
</set>
|
||||
<set var="BUILDDIR_TCPV40HDRS">
|
||||
<if cond="TCPV40HDRS=='on'">-tcpv40hdrs</if>
|
||||
<if cond="TCPV40HDRS=='off'"></if>
|
||||
</set>
|
||||
<set var="BUILDDIR">
|
||||
$(BUILDDIR_BUILD)-$(BUILDDIR_CHAR)-$(BUILDDIR_SHARED)
|
||||
$(BUILDDIR_BUILD)-$(BUILDDIR_CHAR)-$(BUILDDIR_SHARED)$(BUILDDIR_TCPV40HDRS)
|
||||
</set>
|
||||
|
||||
<!-- =========================================================
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -428,7 +428,9 @@ static int query_server (
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (req)
|
||||
if (server_xtn->cfgtab)
|
||||
{
|
||||
if (req && server_xtn->cfgtab)
|
||||
{
|
||||
const qse_htre_hdrval_t* hosthdr;
|
||||
const qse_mchar_t* host;
|
||||
@ -442,8 +444,7 @@ static int query_server (
|
||||
const qse_mchar_t* colon;
|
||||
qse_size_t hostlen;
|
||||
|
||||
/* take the last host value and search */
|
||||
while (hosthdr->next) hosthdr = hosthdr->next;
|
||||
/*while (hosthdr->next) hosthdr = hosthdr->next; */
|
||||
host = hosthdr->ptr;
|
||||
|
||||
/* remove :port-number if the host name contains it */
|
||||
@ -456,6 +457,7 @@ static int query_server (
|
||||
if (loccfg == QSE_NULL) loccfg = find_loccfg (httpd, server_xtn->cfgtab, QSE_MT("*"), 1, qpath);
|
||||
}
|
||||
if (loccfg == QSE_NULL) loccfg = find_loccfg (httpd, server_xtn->cfgtab, QSE_MT("*"), 1, QSE_MT("/"));
|
||||
}
|
||||
if (loccfg == QSE_NULL) loccfg = &httpd_xtn->dflcfg;
|
||||
|
||||
switch (code)
|
||||
@ -1689,4 +1691,3 @@ int qse_main (int argc, qse_achar_t* argv[])
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -377,17 +377,19 @@ qse_mchar_t* qse_fmthttptime (
|
||||
|
||||
/* TODO: avoid using snprintf () */
|
||||
|
||||
#if defined(_MSC_VER) || (defined(__WATCOMC__) && (__WATCOMC__ < 1200))
|
||||
_snprintf (buf, bufsz,
|
||||
#else
|
||||
snprintf (buf, bufsz,
|
||||
#if defined(_MSC_VER) || defined(__BORLANDC__) || (defined(__WATCOMC__) && (__WATCOMC__ < 1200))
|
||||
# define snprintf _snprintf
|
||||
#endif
|
||||
|
||||
snprintf (
|
||||
buf, bufsz,
|
||||
QSE_MT("%s, %d %s %d %02d:%02d:%02d GMT"),
|
||||
wday_name[bt.wday].s,
|
||||
bt.mday,
|
||||
mon_name[bt.mon].s,
|
||||
bt.year + QSE_BTIME_YEAR_BASE,
|
||||
bt.hour, bt.min, bt.sec);
|
||||
bt.hour, bt.min, bt.sec
|
||||
);
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
@ -928,7 +928,7 @@ static int peer_open (qse_httpd_t* httpd, qse_httpd_peer_t* peer)
|
||||
#elif defined(__OS2__)
|
||||
|
||||
cmd = 1;
|
||||
if (ioctl(fd, FIONBIO, &cmd, QSE_SIZEOF(cmd)) == -1) goto oops;
|
||||
if (ioctl(fd, FIONBIO, (char*)&cmd, QSE_SIZEOF(cmd)) == -1) goto oops;
|
||||
|
||||
if (connect (fd, (struct sockaddr*)&connaddr, connaddrsize) == -1)
|
||||
{
|
||||
@ -937,7 +937,7 @@ static int peer_open (qse_httpd_t* httpd, qse_httpd_peer_t* peer)
|
||||
}
|
||||
|
||||
cmd = 0;
|
||||
if (ioctl(fd, FIONBIO, &cmd, QSE_SIZEOF(cmd)) == -1) goto oops;
|
||||
if (ioctl(fd, FIONBIO, (char*)&cmd, QSE_SIZEOF(cmd)) == -1) goto oops;
|
||||
|
||||
#elif defined(__DOS__)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user