Some compiler warnings removed.
[cake.git] / workbench / system / Wanderer / Tools / DiskInfo / main.c
blobc868650179030c28b5c3d94e5cbea0cfa8168fec
1 /*
2 Copyright © 2005, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #define MUIMASTER_YES_INLINE_STDARG
8 #define DEBUG 0
9 #include <aros/debug.h>
11 #include <proto/intuition.h>
12 #include <proto/muimaster.h>
13 #include <proto/workbench.h>
14 #include <proto/dos.h>
16 #include <dos/dos.h>
17 #include <libraries/mui.h>
18 #include <workbench/startup.h>
20 #include <stdlib.h>
22 #include "diskinfo.h"
23 #include "locale.h"
24 #include "support.h"
26 void cleanup(CONST_STRPTR message)
28 DiskInfo_Deinitialize();
29 Locale_Deinitialize();
31 if (message != NULL)
33 ShowError(NULL, NULL, message, TRUE);
34 exit(RETURN_FAIL);
36 else
38 exit(RETURN_OK);
42 int main(int argc, char **argv)
44 Object *application;
45 BPTR initial = NULL;
47 Locale_Initialize();
49 if (!DiskInfo_Initialize()) cleanup(_(MSG_ERROR_CLASSES));
51 if (argc != 0)
53 /* start from wanderer only */
54 DiskInfo_Deinitialize();
55 Locale_Deinitialize();
56 PrintFault(ERROR_OBJECT_WRONG_TYPE, argv[0]);
57 return RETURN_FAIL;
60 struct WBStartup *startup = (struct WBStartup *) argv;
61 if (startup->sm_NumArgs > 1)
63 initial = startup->sm_ArgList[1].wa_Lock;
64 D(bug("[DiskInfo] main, initial: 0x%08lX\n", initial));
65 application = (Object *)DiskInfoObject,
66 MUIA_DiskInfo_Initial, (IPTR) initial,
67 MUIA_DiskInfo_Aspect, 0,
68 End;
70 if (application != NULL)
72 DoMethod(application, MUIM_Application_Execute);
73 MUI_DisposeObject(application);
75 } else {
76 DiskInfo_Deinitialize();
77 Locale_Deinitialize();
78 PrintFault(ERROR_REQUIRED_ARG_MISSING, argv[0]);
79 return RETURN_FAIL;
81 cleanup(NULL);
83 return RETURN_OK; /* make compiler happy */