[Strings] Add more number formatters (#2873)

* [Strings] Add more number formatters

# Notes
- Adds `Strings::ToUnsignedInt` for `uint32` support.
- Adds `Strings::ToBigInt` for `int64` support.
- Adds `Strings::ToUnsignedBigInt` for `uint64` support.
- Adds `Strings::ToFloat` for `float` support.
- Replaces all `std::stoi` references with `Strings::ToInt`.
- Replaces all `atoi` references with `Strings::ToInt`.
- Replaces all `std::stoul` references with `Strings::ToUnsignedInt`.
- Replaces all `atoul` references with `Strings::ToUnsignedInt`.
- Replaces all `std::stoll` references with `Strings::ToBigInt`.
- Replaces all `atoll` references with `Strings::ToBigInt`.
- Replaces all `std::stoull` references with `Strings::ToUnsignedBigInt`.
- Replaces all `atoull` references with `Strings::ToUnsignedBigInt`.
- Replaces all `std::stof` references with `Strings::ToFloat`.

* [Strings] Add more number formatters

- Adds `Strings::ToUnsignedInt` for `uint32` support.
- Adds `Strings::ToBigInt` for `int64` support.
- Adds `Strings::ToUnsignedBigInt` for `uint64` support.
- Adds `Strings::ToFloat` for `float` support.
- Replaces all `std::stoi` references with `Strings::ToInt`.
- Replaces all `atoi` references with `Strings::ToInt`.
- Replaces all `std::stoul` references with `Strings::ToUnsignedInt`.
- Replaces all `atoul` references with `Strings::ToUnsignedInt`.
- Replaces all `std::stoll` references with `Strings::ToBigInt`.
- Replaces all `atoll` references with `Strings::ToBigInt`.
- Replaces all `std::stoull` references with `Strings::ToUnsignedBigInt`.
- Replaces all `atoull` references with `Strings::ToUnsignedBigInt`.
- Replaces all `std::stof` references with `Strings::ToFloat`.

* Rebase cleanup

* Changes/benchmarks/tests

---------

Co-authored-by: Akkadius <akkadius1@gmail.com>
This commit is contained in:
Alex King
2023-03-04 18:01:19 -05:00
committed by GitHub
parent be567af70d
commit 2a6cf8c8e7
261 changed files with 3178 additions and 3012 deletions
+27 -27
View File
@@ -76,7 +76,7 @@ bool MainFrame::LoadItems(){
while ((row = mysql_fetch_row(res)) != NULL){
eqitem newIT;
strcpy(newIT.name, row[0]);
newIT.id = atoi(row[1]);
newIT.id = Strings::ToInt(row[1]);
itemList.push_back(newIT);
itemsLoaded++;
}
@@ -127,7 +127,7 @@ bool MainFrame::LoadZones()
eqtask_zones newZ;
strcpy(newZ.name, row[0]);
newZ.id = atoi(row[1]);
newZ.id = Strings::ToInt(row[1]);
taskZoneList.push_back(newZ);
int * zoneId = new int;
@@ -168,7 +168,7 @@ bool MainFrame::LoadTasks()
res = mysql_use_result(mMysql);
while ((row = mysql_fetch_row(res)) != NULL){
eqtask newT;
newT.id = atoi(row[0]);
newT.id = Strings::ToInt(row[0]);
//This isn't all that safe
//Working under the assumption that:
@@ -185,15 +185,15 @@ bool MainFrame::LoadTasks()
if(newT.id > highestIndex)
highestIndex = newT.id;
newT.rewardid = atoi(row[4]);
newT.cashreward = atoi(row[5]);
newT.xpreward = atoi(row[6]);
newT.rewardmethod = atoi(row[7]);
newT.startzone = atoi(row[8]);
newT.duration = atoi(row[9]);
newT.level_min = atoi(row[10]);
newT.level_max = atoi(row[11]);
newT.repeatable = atoi(row[12]) ? true : false;
newT.rewardid = Strings::ToInt(row[4]);
newT.cashreward = Strings::ToInt(row[5]);
newT.xpreward = Strings::ToInt(row[6]);
newT.rewardmethod = Strings::ToInt(row[7]);
newT.startzone = Strings::ToInt(row[8]);
newT.duration = Strings::ToInt(row[9]);
newT.level_min = Strings::ToInt(row[10]);
newT.level_max = Strings::ToInt(row[11]);
newT.repeatable = Strings::ToInt(row[12]) ? true : false;
taskList.push_back(newT);
@@ -225,8 +225,8 @@ bool MainFrame::LoadGoals()
res = mysql_use_result(mMysql);
while ((row = mysql_fetch_row(res)) != NULL){
eqtask_goallist newGL;
newGL.id = atoi(row[0]);
newGL.value = atoi(row[1]);
newGL.id = Strings::ToInt(row[0]);
newGL.value = Strings::ToInt(row[1]);
goalTaskList.push_back(newGL);
goalsLoaded++;
@@ -258,19 +258,19 @@ bool MainFrame::LoadActivities() {
while ((row = mysql_fetch_row(res)) != NULL) {
eqtask_activities newAL;
newAL.id = atoi(row[0]);
newAL.activityId = atoi(row[1]);
newAL.step = atoi(row[2]);
newAL.activityType = atoi(row[3]);
newAL.id = Strings::ToInt(row[0]);
newAL.activityId = Strings::ToInt(row[1]);
newAL.step = Strings::ToInt(row[2]);
newAL.activityType = Strings::ToInt(row[3]);
strcpy(newAL.text1, row[4]);
strcpy(newAL.text2, row[5]);
strcpy(newAL.text3, row[6]);
newAL.goalid = atoi(row[7]);
newAL.goalmethod = atoi(row[8]);
newAL.goalcount = atoi(row[9]);
newAL.deliverToNpc = atoi(row[10]);
newAL.zoneid = atoi(row[11]);
newAL.optional = atoi(row[12]) ? true : false;
newAL.goalid = Strings::ToInt(row[7]);
newAL.goalmethod = Strings::ToInt(row[8]);
newAL.goalcount = Strings::ToInt(row[9]);
newAL.deliverToNpc = Strings::ToInt(row[10]);
newAL.zoneid = Strings::ToInt(row[11]);
newAL.optional = Strings::ToInt(row[12]) ? true : false;
taskActivitiesList.push_back(newAL);
activitiesLoaded++;
@@ -301,8 +301,8 @@ bool MainFrame::LoadProximity()
while ((row = mysql_fetch_row(res)) != NULL){
eqtask_proximity newPR;
newPR.zoneid = atoi(row[0]);
newPR.exploreid = atoi(row[1]);
newPR.zoneid = Strings::ToInt(row[0]);
newPR.exploreid = Strings::ToInt(row[1]);
newPR.minx = atof(row[2]);
newPR.maxx = atof(row[3]);
newPR.miny = atof(row[4]);
@@ -438,4 +438,4 @@ wxString MainFrame::MakeStringSQLSafe(const char * c)
ret.Printf("%s", c);
ret.Replace("\'", "\\\'");
return ret;
}
}