1 /*---------------------------------------------------------------------------*
2 Project: TwlSDK - OS - demos - argument-2
3 File: main.c
4
5 Copyright 2007-2008 Nintendo. All rights reserved.
6
7 These coded instructions, statements, and computer programs contain
8 proprietary information of Nintendo of America Inc. and/or Nintendo
9 Company Ltd., and are protected by Federal copyright law. They may
10 not be disclosed to third parties or copied or duplicated in any form,
11 in whole or in part, without the prior written consent of Nintendo.
12
13 $Date:: 2008-07-09#$
14 $Rev: 7153 $
15 $Author: yada $
16 *---------------------------------------------------------------------------*/
17 #include <nitro.h>
18
19 //================================================================================
20 #define ARG_BUFFER_SIZE 0x100
21 char argBuffer[ARG_BUFFER_SIZE];
22
23 const char str[] = "dummy -a 123 \"my original string\" 456";
24
25 static void displayArg();
26
27 /*---------------------------------------------------------------------------*
28 Name: NitroMain
29
30 Description: main
31
32 Arguments: None
33
34 Returns: None
35 *---------------------------------------------------------------------------*/
NitroMain(void)36 void NitroMain(void)
37 {
38 const char *originalBuffer;
39
40 OS_Init();
41
42 //---- save original argument buffer
43 originalBuffer = OS_GetArgumentBuffer();
44
45 //================ my arguments
46 //---- convert to my argument buffer
47 OS_ConvertToArguments(str, ' ', argBuffer, ARG_BUFFER_SIZE);
48
49 //---- set my argument buffer
50 OS_SetArgumentBuffer(argBuffer);
51
52 //---- display
53 displayArg();
54
55 //================ original arguments
56 //---- recover to original buffer
57 OS_SetArgumentBuffer(originalBuffer);
58
59 //---- display
60 displayArg();
61
62
63 OS_Printf("==== Finish sample.\n");
64 OS_Terminate();
65 }
66
67 /*---------------------------------------------------------------------------*
68 Name: displayArg
69
70 Description: display arguments
71
72 Arguments: None
73
74 Returns: None
75 *---------------------------------------------------------------------------*/
displayArg(void)76 static void displayArg(void)
77 {
78 int argc;
79 int n;
80
81 //---- display argc
82 argc = OS_GetArgc();
83
84 OS_Printf("argc = %d\n", argc);
85
86 //---- display argv
87 for (n = 0; n < argc; n++)
88 {
89 const char *argv = OS_GetArgv(n);
90 OS_Printf("[%d] address=%x string=[%s]\n", n, argv, argv);
91 }
92 OS_Printf("\n");
93 }
94
95 /*====== End of main.c ======*/
96