Subversion Repositories spk

Rev

Rev 341 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 341 Rev 346
Line 258... Line 258...
258
		DoAllChildren(packages, p, &doneList, 1);
258
		DoAllChildren(packages, p, &doneList, 1);
259
	}
259
	}
260
	wprintf(L"\n");
260
	wprintf(L"\n");
261
}
261
}
262
 
262
 
263
size_t SplitArguments(char **argv, int argc, int start, Utils::WStringList *argList)
263
size_t SplitArguments(const Utils::CommandLine &cmd, int start, Utils::WStringList *argList)
264
{
264
{
265
	for ( int i = start; i < argc; i++ )
265
	for ( int i = start; i < cmd.argCount(); i++ )
266
	{
266
	{
267
		Utils::WString arg = argv[i];
267
		Utils::WString arg = cmd.arg(i);
268
		if (!arg.empty())
268
		if (!arg.empty())
269
			argList->pushBack(arg);
269
			argList->pushBack(arg);
270
	}
270
	}
271
 
271
 
272
	return argList->size();
272
	return argList->size();
Line 801... Line 801...
801
*/
801
*/
802
 
802
 
803
/*
803
/*
804
	Main entry point to program
804
	Main entry point to program
805
*/
805
*/
806
int main ( int argc, char **argv )
806
int doMain(Utils::CommandLine &cmd)
807
{
807
{
808
 	// display program header to command prompt
808
 	// display program header to command prompt
809
	wprintf(L"\nSPKInstall V1.00 (SPK Library Version %.2f) 31/05/2025 Created by Cycrow\n\n", GetLibraryVersion() );
809
	wprintf(L"\nSPKInstall V1.00 (SPK Library Version %.2f) 31/05/2025 Created by Cycrow\n\n", GetLibraryVersion() );
810
 
810
 
811
	Utils::CommandLine cmd(argc, argv, true);
-
 
812
 
-
 
813
	// not enough arguments, display the syntax and exit
811
	// not enough arguments, display the syntax and exit
814
	if (cmd.argCount() < 1 )
812
	if (cmd.argCount() < 1 )
815
	{
813
	{
816
		PrintSyntax(cmd.cmdName());
814
		PrintSyntax(cmd.cmdName());
817
		Pause();
815
		Pause();
Line 847... Line 845...
847
	if (cmd.hasSwitch(L"enablechild") || cmd.hasFlag('c'))
845
	if (cmd.hasSwitch(L"enablechild") || cmd.hasFlag('c'))
848
		packages.SetAutoEnable(true);
846
		packages.SetAutoEnable(true);
849
	if (cmd.hasSwitch(L"forcemod") || cmd.hasFlag('m'))
847
	if (cmd.hasSwitch(L"forcemod") || cmd.hasFlag('m'))
850
		packages.SetForceModInstall(true);
848
		packages.SetForceModInstall(true);
851
 
849
 
852
	int start = 2;
850
	int start = 1;
853
	/*
851
	/*
854
	// check for switchs
852
	// check for switchs
855
	while ( command[0] == '-' )
853
	while ( command[0] == '-' )
856
	{
854
	{
857
		if ( argc < (start + 1) )
855
		if ( argc < (start + 1) )
Line 1042... Line 1040...
1042
			bool prepare = false;
1040
			bool prepare = false;
1043
 
1041
 
1044
			packages.AssignPackageNumbers();
1042
			packages.AssignPackageNumbers();
1045
 
1043
 
1046
			Utils::WStringList lArguments;
1044
			Utils::WStringList lArguments;
1047
			SplitArguments(argv, argc, start, &lArguments);
1045
			SplitArguments(cmd, start, &lArguments);
1048
 
1046
 
1049
			switch ( c )
1047
			switch ( c )
1050
			{
1048
			{
1051
 
1049
 
1052
				case 'u':
1050
				case 'u':
1053
					if ( argc <= start )
1051
					if (cmd.argCount() <= start )
1054
						wprintf(L"Syntax: %s [flags] /u <package#>\n\tUninstalls a package, package# is from the /l list command\n", cmd.cmdName().c_str() );
1052
						wprintf(L"Syntax: %s [flags] /u <package#>\n\tUninstalls a package, package# is from the /l list command\n", cmd.cmdName().c_str() );
1055
					else
1053
					else
1056
					{
1054
					{
1057
						prepare = UninstallPackage(Utils::WString(argv[start]).toInt(), &lErrors, &packages, endMessage);
1055
						prepare = UninstallPackage(cmd.arg(start).toInt(), &lErrors, &packages, endMessage);
1058
						PrintDebug(&lErrors);
1056
						PrintDebug(&lErrors);
1059
					}
1057
					}
1060
					break;
1058
					break;
1061
 
1059
 
1062
				case 'e':
1060
				case 'e':
1063
					if ( argc <= start )
1061
					if (cmd.argCount() <= start )
1064
						wprintf(L"Syntax: %s [flags] /u <package#>\n\tEnabled an installed package thats been disabled\n", cmd.cmdName().c_str() );
1062
						wprintf(L"Syntax: %s [flags] /u <package#>\n\tEnabled an installed package thats been disabled\n", cmd.cmdName().c_str() );
1065
					else
1063
					else
1066
					{
1064
					{
1067
						prepare = EnablePackage(Utils::WString(argv[start]).toInt(), &lErrors, &packages, endMessage);
1065
						prepare = EnablePackage(cmd.arg(start).toInt(), &lErrors, &packages, endMessage);
1068
						PrintDebug(&lErrors);
1066
						PrintDebug(&lErrors);
1069
					}
1067
					}
1070
					break;
1068
					break;
1071
 
1069
 
1072
				case 'd':
1070
				case 'd':
1073
					if ( argc <= start )
1071
					if (cmd.argCount() <= start )
1074
						wprintf(L"Syntax: %s [flags] /u <package#>\n\tDisabled an installed package\n", cmd.cmdName().c_str() );
1072
						wprintf(L"Syntax: %s [flags] /u <package#>\n\tDisabled an installed package\n", cmd.cmdName().c_str() );
1075
					else
1073
					else
1076
					{
1074
					{
1077
						prepare = DisablePackage(Utils::WString(argv[start]).toInt(), &lErrors, &packages, endMessage);
1075
						prepare = DisablePackage(cmd.arg(start).toInt(), &lErrors, &packages, endMessage);
1078
						PrintDebug(&lErrors);
1076
						PrintDebug(&lErrors);
1079
					}
1077
					}
1080
					break;
1078
					break;
1081
 
1079
 
1082
				case 'l':
1080
				case 'l':
Line 1122... Line 1120...
1122
 
1120
 
1123
	Pause();
1121
	Pause();
1124
 
1122
 
1125
	return 0;
1123
	return 0;
1126
}
1124
}
-
 
1125
 
-
 
1126
#ifdef _WIN32
-
 
1127
int wmain(int argc, wchar_t** argv)
-
 
1128
{
-
 
1129
	Utils::CommandLine cmd(argc, argv, true);
-
 
1130
	return doMain(cmd);
-
 
1131
}
-
 
1132
#else
-
 
1133
int main(int argc, char** argv)
-
 
1134
{
-
 
1135
	Utils::CommandLine cmd(argc, argv, true);
-
 
1136
	return doMain(cmd);
-
 
1137
}
-
 
1138
#endif
1127
1139