Skip to content

Commit f0fd807

Browse files
committed
Fix sur les convertions des strings au bool.
1 parent 5eb6081 commit f0fd807

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/Parser.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -977,7 +977,10 @@ namespace FPL {
977977

978978
if (CheckerOperateur(";").has_value()) {
979979
if (NewType->mType == BOOL && var.VariableType.mType == STRING) {
980-
if (var.VariableValue == "vrai" || var.VariableValue == "faux") {
980+
std::string v = var.VariableValue;
981+
std::string::iterator end_pos = std::remove(v.begin(), v.end(), ' ');
982+
v.erase(end_pos, v.end());
983+
if (v == "vrai" || v == "faux") {
981984
var.VariableType = Type("bool", BOOL);
982985
return true;
983986
} else {
@@ -986,10 +989,10 @@ namespace FPL {
986989
}
987990
}
988991
else if (NewType->mType == INT && var.VariableType.mType == STRING) {
989-
stringToInt(var.VariableValue, "Ca ne peut pas devenir une valeur de type entier !");
992+
int v = stringToInt(var.VariableValue, "Ca ne peut pas devenir une valeur de type entier !");
990993
return true;
991994
} else if (NewType->mType == DOUBLE && var.VariableType.mType == STRING) {
992-
stringToDouble(var.VariableValue, "Ca ne peut pas devenir une valeur de type entier !");
995+
double v = stringToDouble(var.VariableValue, "Ca ne peut pas devenir une valeur de type entier !");
993996
return true;
994997
} else {
995998
std::cerr << "La valeur de la variable ne permet pas une conversion." << std::endl;

0 commit comments

Comments
 (0)