fixed more code for watt-32
This commit is contained in:
@ -52,6 +52,7 @@
|
||||
# include <os2.h>
|
||||
#elif defined(__DOS__)
|
||||
# include <dos.h>
|
||||
# include <tcp.h> /* watt-32 */
|
||||
#else
|
||||
# include <unistd.h>
|
||||
# include <errno.h>
|
||||
@ -1238,6 +1239,9 @@ int qse_main (int argc, qse_achar_t* argv[])
|
||||
char locale[100];
|
||||
UINT codepage;
|
||||
WSADATA wsadata;
|
||||
#elif defined(__DOS__)
|
||||
extern BOOL _watt_do_exit;
|
||||
int sock_inited = 0;
|
||||
#else
|
||||
/* nothing special */
|
||||
#endif
|
||||
@ -1259,29 +1263,42 @@ int qse_main (int argc, qse_achar_t* argv[])
|
||||
qse_setdflcmgrbyid (QSE_CMGR_SLMB);
|
||||
}
|
||||
|
||||
if (WSAStartup (MAKEWORD(2,0), &wsadata) != 0)
|
||||
{
|
||||
print_error (QSE_T("Failed to start up winsock\n"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
#else
|
||||
setlocale (LC_ALL, "");
|
||||
qse_setdflcmgrbyid (QSE_CMGR_SLMB);
|
||||
#endif
|
||||
|
||||
open_mpi (&mpi, argc, argv);
|
||||
|
||||
qse_openstdsios ();
|
||||
|
||||
#if defined(_WIN32)
|
||||
if (WSAStartup (MAKEWORD(2,0), &wsadata) != 0)
|
||||
{
|
||||
print_error (QSE_T("Failed to start up winsock\n"));
|
||||
ret = -1;
|
||||
goto oops;
|
||||
}
|
||||
#elif defined(__DOS__)
|
||||
/* TODO: add an option to skip watt-32 */
|
||||
_watt_do_exit = 0; /* prevent sock_init from exiting upon failure */
|
||||
if (sock_init() != 0)
|
||||
print_error (QSE_T("Failed to initialize watt-32\n"));
|
||||
else sock_inited = 1;
|
||||
#endif
|
||||
|
||||
open_mpi (&mpi, argc, argv);
|
||||
|
||||
ret = qse_runmain (argc, argv, awk_main);
|
||||
qse_closestdsios ();
|
||||
|
||||
close_mpi (&mpi);
|
||||
|
||||
#if defined(_WIN32)
|
||||
WSACleanup ();
|
||||
#elif defined(__DOS__)
|
||||
if (sock_inited) sock_exit ();
|
||||
#endif
|
||||
|
||||
oops:
|
||||
qse_closestdsios ();
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -29,6 +29,7 @@
|
||||
# include <os2.h>
|
||||
#elif defined(__DOS__)
|
||||
# include <dos.h>
|
||||
# include <tcp.h> /* watt-32 */
|
||||
#else
|
||||
# include <unistd.h>
|
||||
# include <errno.h>
|
||||
@ -2715,6 +2716,8 @@ int qse_main (int argc, qse_achar_t* argv[])
|
||||
char locale[100];
|
||||
UINT codepage;
|
||||
WSADATA wsadata;
|
||||
#elif defined(__DOS__)
|
||||
extern BOOL _watt_do_exit;
|
||||
#else
|
||||
/* nothing */
|
||||
#endif
|
||||
@ -2736,25 +2739,36 @@ int qse_main (int argc, qse_achar_t* argv[])
|
||||
qse_setdflcmgrbyid (QSE_CMGR_SLMB);
|
||||
}
|
||||
|
||||
if (WSAStartup (MAKEWORD(2,0), &wsadata) != 0)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Failed to start up winsock\n"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
#else
|
||||
setlocale (LC_ALL, "");
|
||||
qse_setdflcmgrbyid (QSE_CMGR_SLMB);
|
||||
#endif
|
||||
|
||||
qse_openstdsios ();
|
||||
|
||||
#if defined(_WIN32)
|
||||
if (WSAStartup (MAKEWORD(2,0), &wsadata) != 0)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Failed to start up winsock\n"));
|
||||
ret = -1;
|
||||
goto oops;
|
||||
}
|
||||
#elif defined(__DOS__)
|
||||
_watt_do_exit = 0; /* prevent sock_init from exiting upon failure */
|
||||
if (sock_init () != 0)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Failed to initialize watt-32\n"));
|
||||
ret = -1;
|
||||
goto oops;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_SSL)
|
||||
SSL_load_error_strings ();
|
||||
SSL_library_init ();
|
||||
#endif
|
||||
|
||||
qse_openstdsios ();
|
||||
ret = qse_runmain (argc, argv, httpd_main);
|
||||
qse_closestdsios ();
|
||||
|
||||
#if defined(HAVE_SSL)
|
||||
/* ERR_remove_state() should be called for each thread if the application is thread */
|
||||
@ -2767,7 +2781,11 @@ int qse_main (int argc, qse_achar_t* argv[])
|
||||
|
||||
#if defined(_WIN32)
|
||||
WSACleanup ();
|
||||
#elif defined(__DOS__)
|
||||
sock_exit ();
|
||||
#endif
|
||||
|
||||
oops:
|
||||
qse_closestdsios ();
|
||||
return ret;
|
||||
}
|
||||
|
Reference in New Issue
Block a user