Bug #1091
- Fixed bug #1091, allowing filters to use 'urgency.over:4.5'.
This commit is contained in:
104
src/E9.cpp
104
src/E9.cpp
@@ -337,6 +337,32 @@ void E9::operator_lt (Arg& result, Arg& left, Arg& right)
|
||||
: "false";
|
||||
}
|
||||
}
|
||||
else if (left._type == Arg::type_duration ||
|
||||
right._type == Arg::type_duration)
|
||||
{
|
||||
if (left._value == "" ||
|
||||
right._value == "")
|
||||
result._value = "false";
|
||||
else
|
||||
{
|
||||
Duration left_duration (left._value);
|
||||
Duration right_duration (right._value);
|
||||
|
||||
result._value = (left_duration < right_duration)
|
||||
? "true"
|
||||
: "false";
|
||||
}
|
||||
}
|
||||
else if (left._type == Arg::type_number ||
|
||||
right._type == Arg::type_number)
|
||||
{
|
||||
float left_number = strtof (left._value.c_str (), NULL);
|
||||
float right_number = strtof (right._value.c_str (), NULL);
|
||||
|
||||
result._value = (left_number < right_number)
|
||||
? "true"
|
||||
: "false";
|
||||
}
|
||||
else
|
||||
{
|
||||
result._value = (left._value < right._value)
|
||||
@@ -376,6 +402,32 @@ void E9::operator_lte (Arg& result, Arg& left, Arg& right)
|
||||
: "false";
|
||||
}
|
||||
}
|
||||
else if (left._type == Arg::type_duration ||
|
||||
right._type == Arg::type_duration)
|
||||
{
|
||||
if (left._value == "" ||
|
||||
right._value == "")
|
||||
result._value = "false";
|
||||
else
|
||||
{
|
||||
Duration left_duration (left._value);
|
||||
Duration right_duration (right._value);
|
||||
|
||||
result._value = (left_duration <= right_duration)
|
||||
? "true"
|
||||
: "false";
|
||||
}
|
||||
}
|
||||
else if (left._type == Arg::type_number ||
|
||||
right._type == Arg::type_number)
|
||||
{
|
||||
float left_number = strtof (left._value.c_str (), NULL);
|
||||
float right_number = strtof (right._value.c_str (), NULL);
|
||||
|
||||
result._value = (left_number <= right_number)
|
||||
? "true"
|
||||
: "false";
|
||||
}
|
||||
else
|
||||
{
|
||||
result._value = (left._value <= right._value)
|
||||
@@ -415,6 +467,32 @@ void E9::operator_gte (Arg& result, Arg& left, Arg& right)
|
||||
: "false";
|
||||
}
|
||||
}
|
||||
else if (left._type == Arg::type_duration ||
|
||||
right._type == Arg::type_duration)
|
||||
{
|
||||
if (left._value == "" ||
|
||||
right._value == "")
|
||||
result._value = "false";
|
||||
else
|
||||
{
|
||||
Duration left_duration (left._value);
|
||||
Duration right_duration (right._value);
|
||||
|
||||
result._value = (left_duration >= right_duration)
|
||||
? "true"
|
||||
: "false";
|
||||
}
|
||||
}
|
||||
else if (left._type == Arg::type_number ||
|
||||
right._type == Arg::type_number)
|
||||
{
|
||||
float left_number = strtof (left._value.c_str (), NULL);
|
||||
float right_number = strtof (right._value.c_str (), NULL);
|
||||
|
||||
result._value = (left_number >= right_number)
|
||||
? "true"
|
||||
: "false";
|
||||
}
|
||||
else
|
||||
{
|
||||
result._value = (left._value >= right._value)
|
||||
@@ -453,6 +531,32 @@ void E9::operator_gt (Arg& result, Arg& left, Arg& right)
|
||||
: "false";
|
||||
}
|
||||
}
|
||||
else if (left._type == Arg::type_duration ||
|
||||
right._type == Arg::type_duration)
|
||||
{
|
||||
if (left._value == "" ||
|
||||
right._value == "")
|
||||
result._value = "false";
|
||||
else
|
||||
{
|
||||
Duration left_duration (left._value);
|
||||
Duration right_duration (right._value);
|
||||
|
||||
result._value = result._value = (left_duration > right_duration)
|
||||
? "true"
|
||||
: "false";
|
||||
}
|
||||
}
|
||||
else if (left._type == Arg::type_number ||
|
||||
right._type == Arg::type_number)
|
||||
{
|
||||
float left_number = strtof (left._value.c_str (), NULL);
|
||||
float right_number = strtof (right._value.c_str (), NULL);
|
||||
|
||||
result._value = (left_number > right_number)
|
||||
? "true"
|
||||
: "false";
|
||||
}
|
||||
else
|
||||
{
|
||||
result._value = (left._value > right._value)
|
||||
|
||||
Reference in New Issue
Block a user