mirror of
https://github.com/nzp-team/fteqw.git
synced 2024-11-10 06:32:00 +00:00
misc fixes
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5100 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
1f729f4afd
commit
493d66b832
6 changed files with 32 additions and 12 deletions
|
@ -3406,7 +3406,7 @@ double Media_TweekCaptureFrameTime(double oldtime, double time)
|
|||
}
|
||||
|
||||
#ifdef VKQUAKE
|
||||
static void Media_CapturedFrame (void *data, int bytestride, size_t width, size_t height, enum uploadfmt fmt)
|
||||
static void Media_CapturedFrame (void *data, qintptr_t bytestride, size_t width, size_t height, enum uploadfmt fmt)
|
||||
{
|
||||
if (currentcapture_funcs)
|
||||
currentcapture_funcs->capture_video(currentcapture_ctx, offscreen_captureframe, data, bytestride, width, height, fmt);
|
||||
|
|
|
@ -392,11 +392,11 @@ int Q_strncasecmp (const char *s1, const char *s2, int n)
|
|||
|
||||
int Q_strcasecmp (const char *s1, const char *s2)
|
||||
{
|
||||
return Q_strncasecmp (s1, s2, INT_MAX);
|
||||
return Q_strncasecmp (s1, s2, 0x7fffffff);
|
||||
}
|
||||
int QDECL Q_stricmp (const char *s1, const char *s2)
|
||||
{
|
||||
return Q_strncasecmp (s1, s2, INT_MAX);
|
||||
return Q_strncasecmp (s1, s2, 0x7fffffff);
|
||||
}
|
||||
int Q_strstopcasecmp(const char *s1start, const char *s1end, const char *s2)
|
||||
{ //safer version of strncasecmp, where s1 is the one with the length, and must exactly match s2 (which is null terminated and probably an immediate.
|
||||
|
|
|
@ -3871,7 +3871,6 @@ qboolean FTENET_TCP_ParseHTTPRequest(ftenet_tcpconnect_connection_t *con, ftenet
|
|||
}
|
||||
else
|
||||
{
|
||||
qboolean fail = false;
|
||||
char acceptkey[20*2];
|
||||
unsigned char sha1digest[20];
|
||||
char *blurgh;
|
||||
|
@ -3918,6 +3917,8 @@ qboolean FTENET_TCP_ParseHTTPRequest(ftenet_tcpconnect_connection_t *con, ftenet
|
|||
if (!net_enable_webrtcbroker.ival)
|
||||
return false;
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
if (*arg[WCATTR_URL] == '/')
|
||||
|
@ -4010,6 +4011,7 @@ qboolean FTENET_TCP_ParseHTTPRequest(ftenet_tcpconnect_connection_t *con, ftenet
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef HAVE_SSL
|
||||
static int QDECL TLSPromoteRead (struct vfsfile_s *file, void *buffer, int bytestoread)
|
||||
{
|
||||
if (bytestoread > net_message.cursize)
|
||||
|
@ -4019,6 +4021,7 @@ static int QDECL TLSPromoteRead (struct vfsfile_s *file, void *buffer, int bytes
|
|||
return bytestoread;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
void FTENET_TCPConnect_PrintStatus(ftenet_generic_connection_t *gcon)
|
||||
{
|
||||
ftenet_tcpconnect_connection_t *con = (ftenet_tcpconnect_connection_t*)gcon;
|
||||
|
|
|
@ -53,7 +53,9 @@ typedef struct FTPclient_s{
|
|||
|
||||
unsigned long blocking;
|
||||
|
||||
#ifdef MULTITHREAD
|
||||
void *transferthread;
|
||||
#endif
|
||||
|
||||
struct FTPclient_s *next;
|
||||
} FTPclient_t;
|
||||
|
@ -529,6 +531,7 @@ qboolean FTP_ReadToAbsFilename(FTPclient_t *cl, const char *msg, char *out, size
|
|||
return true;
|
||||
}
|
||||
|
||||
#ifdef MULTITHREAD
|
||||
int FTP_TransferThread(void *vcl)
|
||||
{
|
||||
char resource[8192];
|
||||
|
@ -536,7 +539,7 @@ int FTP_TransferThread(void *vcl)
|
|||
u_long _false = false;
|
||||
ioctlsocket (cl->datasock, FIONBIO, &_false);
|
||||
|
||||
if (cl->datadir == 1)
|
||||
if ((cl->datadir&~64) == 1)
|
||||
{
|
||||
while(1)
|
||||
{
|
||||
|
@ -554,7 +557,7 @@ int FTP_TransferThread(void *vcl)
|
|||
break;
|
||||
}
|
||||
}
|
||||
else if (cl->datadir == 2)
|
||||
else if ((cl->datadir&~64) == 2)
|
||||
{
|
||||
while(1)
|
||||
{
|
||||
|
@ -565,10 +568,11 @@ int FTP_TransferThread(void *vcl)
|
|||
break;
|
||||
}
|
||||
}
|
||||
cl->transferthread = NULL;
|
||||
cl->datadir &= ~64;
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
iwboolean FTP_ServerThinkForConnection(FTPclient_t *cl)
|
||||
{
|
||||
|
@ -581,15 +585,22 @@ iwboolean FTP_ServerThinkForConnection(FTPclient_t *cl)
|
|||
char resource[8192];
|
||||
int _true = true;
|
||||
|
||||
if (cl->transferthread)
|
||||
#ifdef MULTITHREAD
|
||||
if (cl->datadir & 64)
|
||||
{
|
||||
if (*cl->messagebuffer)
|
||||
{
|
||||
{ //fixme: gah!
|
||||
if (send (cl->controlsock, cl->messagebuffer, strlen(cl->messagebuffer), 0) != -1)
|
||||
*cl->messagebuffer = '\0'; //YAY! It went!
|
||||
}
|
||||
return false;
|
||||
}
|
||||
if (cl->transferthread)
|
||||
{
|
||||
Sys_WaitOnThread(cl->transferthread);
|
||||
cl->transferthread = NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (cl->datadir == 1)
|
||||
{
|
||||
|
@ -1322,8 +1333,13 @@ iwboolean FTP_ServerThinkForConnection(FTPclient_t *cl)
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef MULTITHREAD
|
||||
if (cl->datadir && !cl->transferthread)
|
||||
{
|
||||
cl->datadir|=64;
|
||||
cl->transferthread = Sys_CreateThread("FTP RECV", FTP_TransferThread, cl, 0, 65536);
|
||||
}
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -670,7 +670,7 @@ int IWebAuthorize(const char *name, const char *password)
|
|||
rankinfo_t info;
|
||||
if (!id)
|
||||
{
|
||||
if (!sv_readlevel.value && !*name || !stricmp(name, "anonymous"))
|
||||
if (!sv_readlevel.value && (!*name || !stricmp(name, "anonymous")))
|
||||
return IWEBACC_READ; //read only anywhere
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -2355,6 +2355,7 @@ void SV_UserCmdMVDList_HTML (vfsfile_t *pipe)
|
|||
VFS_PRINTF(pipe,
|
||||
"<html>"
|
||||
"<head>"
|
||||
"<title>%s - %s</title>"
|
||||
"<meta charset='UTF-8'>"
|
||||
"<style>"
|
||||
".mydiv { width: 20%%; height: 100%%; padding: 0px; margin: 0px; border: 0px solclass #aaaaaa; float:left; }"
|
||||
|
@ -2363,14 +2364,14 @@ void SV_UserCmdMVDList_HTML (vfsfile_t *pipe)
|
|||
"<script>"
|
||||
"function playdemo(demo)"
|
||||
"{"
|
||||
"demo = '%s/demos/'+demo;"
|
||||
"demo = window.location.origin+'/demos/'+demo;"
|
||||
"thegame.postMessage({cmd:'playdemo',url:demo}, '*');"
|
||||
"}"
|
||||
"</script>"
|
||||
"</head>"
|
||||
"<body>"
|
||||
"<div class='mydiv'>\n"
|
||||
, hostname);
|
||||
, fs_manifest->formalname, hostname.string);
|
||||
|
||||
VFS_PRINTF(pipe, "available demos:<br/>\n");
|
||||
dir = Sys_listdir(sv_demoDir.string, ".mvd", SORT_BY_DATE);
|
||||
|
|
Loading…
Reference in a new issue