}
+ // Check if the value has quotes at the start and end.
+ // Remove them if this is the case.
+
+ if (FinalNameValue.Value.front() == '\"' &&
+ FinalNameValue.Value.back() == '\"'){
+
+ FinalNameValue.Value.erase(0, 1);
+ FinalNameValue.Value.erase((FinalNameValue.Value.size() - 1), 1);
+
+ }
+
return FinalNameValue;
+}
+
+bool HexToInt(std::string *HexString, int *Number){
+
+ // Check that each character in the string is a number
+ // or a letter (a-f/A-F).
+
+ char Char = 0;
+ int CharNum = 0;
+
+ for (int CharSeek = 0;
+ CharSeek < HexString->size(); CharSeek++){
+
+ // Check if character is a number (0-9).
+
+ Char = HexString->at(CharSeek);
+ CharNum = Char;
+
+ if (CharNum >= 48 &&
+ CharNum <= 57){
+
+ continue;
+
+ }
+
+ // Check if character is a letter (A-F)
+
+ if (CharNum >= 65 &&
+ CharNum <= 70){
+
+ continue;
+
+ }
+
+ // Check if character is a letter (a-f).
+
+ if (CharNum >= 97 &&
+ CharNum <= 102){
+
+ continue;
+
+ }
+
+ // Exit from subroutine as character is invalid.
+
+ return false;
+
+ }
+
+ // Convert a Hex value that is in string to integer.
+
+ try {
+
+ *Number = stoi((*HexString), nullptr, 16);
+
+ }
+
+ catch (const std::invalid_argument &err){
+
+ return false;
+
+ }
+
+ catch (const std::out_of_range &err){
+
+ return false;
+
+ }
+
+ return true;
+
}
\ No newline at end of file