зеркало из https://github.com/mozilla/pjs.git
Bug 672024 - Mingw build error: undefined reference to `WinMain@16\' in nsinstall_win.c r=khuey
This commit is contained in:
Родитель
2cf2d4061b
Коммит
d15b453ac2
|
@ -41,6 +41,38 @@ static BOOL sh_DoCopy(wchar_t *srcFileName, DWORD srcFileAttributes,
|
|||
#define ARRAY_LEN(a) (sizeof(a) / sizeof(a[0]))
|
||||
#define STR_LEN(a) (ARRAY_LEN(a) - 1)
|
||||
|
||||
#ifdef __MINGW32__
|
||||
|
||||
/* MingW currently does not implement a wide version of the
|
||||
startup routines. Workaround is to implement something like
|
||||
it ourselves. */
|
||||
|
||||
#include <shellapi.h>
|
||||
|
||||
int wmain(int argc, WCHAR **argv);
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int result;
|
||||
wchar_t *commandLine = GetCommandLineW();
|
||||
int argcw = 0;
|
||||
wchar_t **_argvw = CommandLineToArgvW( commandLine, &argcw );
|
||||
wchar_t *argvw[argcw + 1];
|
||||
int i;
|
||||
if (!_argvw)
|
||||
return 127;
|
||||
/* CommandLineToArgvW doesn't output the ending NULL so
|
||||
we have to manually add it on */
|
||||
for ( i = 0; i < argcw; i++ )
|
||||
argvw[i] = _argvw[i];
|
||||
argvw[argcw] = NULL;
|
||||
|
||||
result = wmain(argcw, argvw);
|
||||
LocalFree(_argvw);
|
||||
return result;
|
||||
}
|
||||
#endif /* __MINGW32__ */
|
||||
|
||||
/* changes all forward slashes in token to backslashes */
|
||||
void changeForwardSlashesToBackSlashes ( wchar_t *arg )
|
||||
{
|
||||
|
|
|
@ -41,6 +41,38 @@ static BOOL sh_DoCopy(wchar_t *srcFileName, DWORD srcFileAttributes,
|
|||
#define ARRAY_LEN(a) (sizeof(a) / sizeof(a[0]))
|
||||
#define STR_LEN(a) (ARRAY_LEN(a) - 1)
|
||||
|
||||
#ifdef __MINGW32__
|
||||
|
||||
/* MingW currently does not implement a wide version of the
|
||||
startup routines. Workaround is to implement something like
|
||||
it ourselves. */
|
||||
|
||||
#include <shellapi.h>
|
||||
|
||||
int wmain(int argc, WCHAR **argv);
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int result;
|
||||
wchar_t *commandLine = GetCommandLineW();
|
||||
int argcw = 0;
|
||||
wchar_t **_argvw = CommandLineToArgvW( commandLine, &argcw );
|
||||
wchar_t *argvw[argcw + 1];
|
||||
int i;
|
||||
if (!_argvw)
|
||||
return 127;
|
||||
/* CommandLineToArgvW doesn't output the ending NULL so
|
||||
we have to manually add it on */
|
||||
for ( i = 0; i < argcw; i++ )
|
||||
argvw[i] = _argvw[i];
|
||||
argvw[argcw] = NULL;
|
||||
|
||||
result = wmain(argcw, argvw);
|
||||
LocalFree(_argvw);
|
||||
return result;
|
||||
}
|
||||
#endif /* __MINGW32__ */
|
||||
|
||||
/* changes all forward slashes in token to backslashes */
|
||||
void changeForwardSlashesToBackSlashes ( wchar_t *arg )
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче