static int parseCommandArguments()

in AZ3166/tools/dice_device_enrollment/src/dice_device_enrollment/dice_device_enrollment.cpp [364:444]


static int parseCommandArguments(int argc, char * argv[])
{
	if (argc < 2)
	{
		return 1;
	}
	
	for (int i = 1; i < argc; i++)
	{
		if (argv[i][0] != '-')
		{
			return -1;
		}
		switch (argv[i][1])
		{
		case 'b':
		case 'B':
			// The full path of the .bin file
			if (i + 1 < argc)
			{
				i++;
				strncpy(binFileFullPath, argv[i], sizeof(binFileFullPath));
				if (fileFullPathValidated(binFileFullPath) != 0)
				{
					return -1;
				}
			}
			else
			{
				return -1;
			}
			break;
		case 'm':
		case 'M':
			// The full path of the .map file
			if (i + 1 < argc)
			{
				i++;
				strncpy(mapFileFullPath, argv[i], sizeof(mapFileFullPath));
				if (fileFullPathValidated(mapFileFullPath) != 0)
				{
					return -1;
				}
			}
			else
			{
				return -1;
			}
			break;
		case 'u':
		case 'U':
			// UDS
			if (i + 1 < argc)
			{
				i++;
				udsString = strdup(argv[i]);
			}
			else
			{
				return -1;
			}
			break;
		case 'i':
		case 'I':
			// The Registration ID
			if (i + 1 < argc)
			{
				i++;
				registrationId = strdup(argv[i]);
			}
			else
			{
				return -1;
			}
			break;
		default:
			return -1;
		}
	}
	return 0;
}