|
|
| version 1.1.1.1, 2003/10/16 17:58:42 | version 1.5, 2005/03/20 13:12:49 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #include "dosio.h" | |
| #include "np2arg.h" | #include "np2arg.h" |
| #include "oemtext.h" | |
| #include "dosio.h" | |
| // ver0.26 np2arg.cpp append | // ver0.26 np2arg.cpp append |
| // コマンドラインの解析 | // コマンドラインの解析 |
| Line 9 | Line 10 |
| #define MAXARG 32 | #define MAXARG 32 |
| #define ARG_BASE 0 // win32のlpszCmdLineの場合 | #define ARG_BASE 1 // win32のlpszCmdLineの場合 |
| // 実行ファイル名無し | // 実行ファイル名無し |
| NP2ARG_T np2arg = {{NULL, NULL, NULL, NULL}, | NP2ARG_T np2arg = {{NULL, NULL, NULL, NULL}, |
| Line 17 | Line 18 |
| // --------------------------------------------------------------------- | // --------------------------------------------------------------------- |
| // win32の場合 コマンドラインが stringが返ってくる・・・ | static OEMCHAR argstrtmp[2048]; |
| static char argstrtmp[1024]; | |
| void np2arg_analize(char *argstr) { | void np2arg_analize(void) { |
| int np2argc; | int np2argc; |
| char *np2argv[MAXARG]; | OEMCHAR *np2argv[MAXARG]; |
| int i; | int i; |
| int drv = 0; | int drv = 0; |
| char c; | OEMCHAR c; |
| const char *p; | const OEMCHAR *p; |
| milstr_ncpy(argstrtmp, argstr, sizeof(argstrtmp)); | #if defined(OSLANG_UTF8) |
| np2argc = milstr_getarg(argstrtmp, np2argv, sizeof(argstrtmp)); | tchartooem(argstrtmp, NELEMENTS(argstrtmp), GetCommandLine(), -1); |
| #else | |
| milstr_ncpy(argstrtmp, GetCommandLine(), NELEMENTS(argstrtmp)); | |
| #endif | |
| np2argc = milstr_getarg(argstrtmp, np2argv, NELEMENTS(np2argv)); | |
| for (i=ARG_BASE; i<np2argc; i++) { | for (i=ARG_BASE; i<np2argc; i++) { |
| c = np2argv[i][0]; | c = np2argv[i][0]; |
| Line 41 const char *p; | Line 44 const char *p; |
| case 'f': | case 'f': |
| np2arg.fullscreen = TRUE; | np2arg.fullscreen = TRUE; |
| break; | break; |
| case 'I': | case 'I': |
| case 'i': | case 'i': |
| if (!np2arg.ini) { | if (!np2arg.ini) { |
| Line 51 const char *p; | Line 55 const char *p; |
| } | } |
| else { // ver0.29 | else { // ver0.29 |
| p = file_getext(np2argv[i]); | p = file_getext(np2argv[i]); |
| if (!file_cmpname(p, "INI")) { | if (!file_cmpname(p, OEMTEXT("ini"))) { |
| if (!np2arg.ini) { | if (!np2arg.ini) { |
| np2arg.ini = np2argv[i]; | np2arg.ini = np2argv[i]; |
| } | } |