summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/format.cc10
-rw-r--r--src/format.h6
2 files changed, 9 insertions, 7 deletions
diff --git a/src/format.cc b/src/format.cc
index 335bbc52..70365e7f 100644
--- a/src/format.cc
+++ b/src/format.cc
@@ -198,16 +198,12 @@ format_t::element_t * format_t::parse_elements(const string& fmt)
break;
}
- default: {
+ default:
current->type = element_t::EXPR;
- char buf[2];
- buf[0] = *p;
- buf[1] = '\0';
- current->chars = buf;
- current->expr.parse(buf);
+ current->chars = string(FMT_PREFIX) + *p;
+ current->expr.parse(current->chars);
break;
}
- }
}
if (q != buf) {
diff --git a/src/format.h b/src/format.h
index f5d665c6..939d6a7e 100644
--- a/src/format.h
+++ b/src/format.h
@@ -150,6 +150,12 @@ public:
const int account_abbrev_length = -1);
};
+#define FMT_PREFIX "fmt_"
+#define FMT_PREFIX_LEN 4
+
+#define WANT_FMT() \
+ (std::strncmp(p, FMT_PREFIX, FMT_PREFIX_LEN) == 0)
+
} // namespace ledger
#endif // _FORMAT_H