Instead of fixed string, enable using printf like formatting for initialization of a string.
This commit is contained in:
1 parent
ad5c141a7c
commit
79d0452427
2 files changed
+6
-5
No files matched your search
+3
-5
@@ -1256,10 +1256,8 @@ namespace m_string {
|
|||||||
m_string::m_aligned_string<sizeof (s)>(s).string
|
m_string::m_aligned_string<sizeof (s)>(s).string
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define STRING_INIT_PRINTF(v, format, ...) do { \
|
#define STRING_INIT_PRINTF(v, ...) \
|
||||||
string_init (v); \
|
(string_init (v), string_printf (v, __VA_ARGS__) )
|
||||||
string_printf (v, format, __VA_ARGS__) ; \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
/* NOTE: Use GCC extension FIXME: To keep? */
|
/* NOTE: Use GCC extension FIXME: To keep? */
|
||||||
#define STRING_DECL_INIT(v) \
|
#define STRING_DECL_INIT(v) \
|
||||||
@@ -1273,7 +1271,7 @@ namespace m_string {
|
|||||||
/* Define the OPLIST of a STRING */
|
/* Define the OPLIST of a STRING */
|
||||||
#define STRING_OPLIST \
|
#define STRING_OPLIST \
|
||||||
(INIT(string_init),INIT_SET(string_init_set), SET(string_set), \
|
(INIT(string_init),INIT_SET(string_init_set), SET(string_set), \
|
||||||
INIT_WITH(string_init_set_str), \
|
INIT_WITH(STRING_INIT_PRINTF), \
|
||||||
INIT_MOVE(string_init_move), MOVE(string_move), \
|
INIT_MOVE(string_init_move), MOVE(string_move), \
|
||||||
SWAP(string_swap), CLEAN(string_clean), \
|
SWAP(string_swap), CLEAN(string_clean), \
|
||||||
CLEAR(string_clear), HASH(string_hash), EQUAL(string_equal_p), \
|
CLEAR(string_clear), HASH(string_hash), EQUAL(string_equal_p), \
|
||||||
|
|||||||
@@ -36,6 +36,9 @@ static void test1(void)
|
|||||||
M_LET((s1,"OK"),string_t) {
|
M_LET((s1,"OK"),string_t) {
|
||||||
assert(string_equal_str_p(s1, "OK"));
|
assert(string_equal_str_p(s1, "OK"));
|
||||||
}
|
}
|
||||||
|
M_LET((s1,"OK S=%d", 16),string_t) {
|
||||||
|
assert(string_equal_str_p(s1, "OK S=16"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_utf8_basic(void)
|
static void test_utf8_basic(void)
|
||||||
|
|||||||
Reference in new issue
Block a user