MCPcopy Create free account
hub / github.com/HandBrake/HandBrake / get_argv_utf8

Function get_argv_utf8

test/test.c:308–348  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

306}
307
308static int get_argv_utf8(int *argc_ptr, char ***argv_ptr)
309{
310#if defined( __MINGW32__ )
311 int ret = 0;
312 int argc;
313 char **argv;
314
315 wchar_t **argv_utf16 = CommandLineToArgvW(GetCommandLineW(), &argc);
316 if (argv_utf16)
317 {
318 int i;
319 int offset = (argc+1) * sizeof(char*);
320 int size = offset;
321
322 for(i = 0; i < argc; i++)
323 size += WideCharToMultiByte(CP_UTF8, 0, argv_utf16[i], -1, NULL, 0, NULL, NULL );
324
325 argv = malloc(size);
326 if (argv != NULL)
327 {
328 for (i = 0; i < argc; i++)
329 {
330 argv[i] = (char*)argv + offset;
331 offset += WideCharToMultiByte(CP_UTF8, 0, argv_utf16[i], -1, argv[i], size-offset, NULL, NULL);
332 }
333 argv[argc] = NULL;
334 ret = 1;
335 }
336 LocalFree(argv_utf16);
337 }
338 if (ret)
339 {
340 *argc_ptr = argc;
341 *argv_ptr = argv;
342 }
343 return ret;
344#else
345 // On other systems, assume command line is already utf8
346 return 1;
347#endif
348}
349
350static volatile int job_running = 0;
351

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected