#include "compat.h"
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
-
-typedef struct
-{
- int newmode;
-} _startupinfo;
-
-extern
-int __wgetmainargs(int *, wchar_t ***, wchar_t ***, int, _startupinfo *);
+#include <shellapi.h>
int64_t aacenc_timer(void)
{
return (int64_t)tv.time * 1000 + tv.millitm;
}
+int aacenc_seekable(FILE *fp)
+{
+ return GetFileType((HANDLE)_get_osfhandle(_fileno(fp))) == FILE_TYPE_DISK;
+}
+
static
int codepage_decode_wchar(int codepage, const char *from, wchar_t **to)
{
void aacenc_getmainargs(int *argc, char ***argv)
{
int i;
- wchar_t **wargv, **envp;
- _startupinfo si = { 0 };
+ wchar_t **wargv;
- __wgetmainargs(argc, &wargv, &envp, 1, &si);
+ wargv = CommandLineToArgvW(GetCommandLineW(), argc);
*argv = malloc((*argc + 1) * sizeof(char*));
for (i = 0; i < *argc; ++i)
codepage_encode_wchar(CP_UTF8, wargv[i], &(*argv)[i]);
+ LocalFree(wargv);
(*argv)[*argc] = 0;
__aacenc_argv__ = *argv;
atexit(aacenc_free_mainargs);