Skip to content

Commit b02f740

Browse files
committed
trying stringstream for double (stod)
1 parent 6651741 commit b02f740

File tree

2 files changed

+7
-12
lines changed

2 files changed

+7
-12
lines changed

Diff for: .vscode/settings.json

-6
This file was deleted.

Diff for: src/actions/rule_id.cc

+7-6
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
#include <iostream>
1919
#include <string>
20-
#include <charconv>
20+
#include <sstream>
2121

2222
#include "modsecurity/transaction.h"
2323
#include "modsecurity/rule.h"
@@ -28,11 +28,12 @@ namespace actions {
2828

2929
bool RuleId::init(std::string *error) {
3030
std::string a = m_parser_payload;
31-
32-
const auto format = std::chars_format::fixed;
33-
const auto conv_res = std::from_chars(a.data(), a.data() + a.size(), m_ruleId, format);
34-
if (conv_res.ec == std::errc::invalid_argument || conv_res.ec == std::errc::result_out_of_range) {
35-
// Conversion error
31+
32+
std::stringstream ss;
33+
ss<<a;
34+
ss>>m_ruleId;
35+
if (ss.fail()) {
36+
ss.clear();
3637
m_ruleId = 0;
3738
error->assign("The input \"" + a + "\" does not " \
3839
"seems to be a valid rule id.");

0 commit comments

Comments
 (0)