| /* |
| * Copyright (c) 2010 The WebM project authors. All Rights Reserved. |
| * |
| * Use of this source code is governed by a BSD-style license |
| * that can be found in the LICENSE file in the root of the source |
| * tree. An additional intellectual property rights grant can be found |
| * in the file PATENTS. All contributing project authors may |
| * be found in the AUTHORS file in the root of the source tree. |
| */ |
| |
| |
| /* This program is created to take command arguments and pass |
| * them to main() in example.c or example_xma.c, because the |
| * correspending part in example.c or example_xma.c does not |
| * work on Pocket PC platform. |
| * To modify the command arguments, go to "Property" page and |
| * fill in "Command arguments." For example: |
| * --codec vp6 --flipuv --progress _bnd.vp6 |
| */ |
| #include <stdio.h> |
| #include <stdlib.h> |
| #include <string.h> |
| |
| #define MAX_NUM_ARG 64 |
| #define MAX_SIZ_ARG 512 |
| |
| extern "C" |
| { |
| int main(int argc, char **argv); |
| } |
| |
| int wmain(int argc, wchar_t **argv) { |
| char *cargv[MAX_NUM_ARG]; |
| char chargv[MAX_SIZ_ARG]; |
| int ret; |
| |
| /* transform command line arguments from (wchar_t *) to (char *) */ |
| for(int i=0; i<argc; i++) { |
| wcstombs( chargv, argv[i], sizeof(chargv)); |
| cargv[i] = _strdup(chargv); |
| } |
| |
| ret = main(argc, (char **)cargv); |
| |
| //free the memory located by _strdup() |
| for(int i=0; i<argc; i++) |
| free(cargv[i]); |
| |
| return ret; |
| } |