diff options
| author | Tyge Løvset <[email protected]> | 2020-10-24 18:14:20 +0200 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2020-10-24 18:14:20 +0200 |
| commit | 889e4a8841a9ad57afa774a4d36129cc41a8ecb0 (patch) | |
| tree | 35cd47d321437e9aec48a42e686a9eefedfaf94b | |
| parent | 5b5033888c4c78c8969cae03c229bf3d81525b74 (diff) | |
| download | STC-modified-889e4a8841a9ad57afa774a4d36129cc41a8ecb0.tar.gz STC-modified-889e4a8841a9ad57afa774a4d36129cc41a8ecb0.zip | |
Renamed c_printf() to c_print() because it no longer support of printf() formats. c_timef() renamed to c_ftime().
| -rw-r--r-- | README.md | 48 | ||||
| -rw-r--r-- | examples/benchmark.c | 18 | ||||
| -rw-r--r-- | examples/share_ptr.c | 12 | ||||
| -rw-r--r-- | stc/cfmt.h | 61 |
4 files changed, 70 insertions, 69 deletions
@@ -35,7 +35,7 @@ int main(void) { cvec_i_push_back(&vec, 2);
c_foreach (i, cvec_i, vec)
- c_printf(0, " {}", *i.val);
+ c_print(0, " {}", *i.val);
cvec_i_del(&vec);
}
```
@@ -61,7 +61,7 @@ int main(void) { cvec_u_push_back(&vec, (User) {cstr_from("admin"), 0}); // cstr_from() allocates string memory
cvec_u_push_back(&vec, (User) {cstr_from("usera"), 1});
c_foreach (i, cvec_u, vec)
- c_printf(0, "{}: {}\n", i.val->name.str, i.val->id);
+ c_print(0, "{}: {}\n", i.val->name.str, i.val->id);
cvec_u_del(&vec); // free everything
}
```
@@ -211,7 +211,7 @@ int main() { bignums.data[i] /= i; // make them smaller
c_foreach (i, cvec_ix, bignums)
- c_printf(0, " {}", *i.val);
+ c_print(0, " {}", *i.val);
cvec_ix_del(&bignums);
}
// Output:
@@ -234,10 +234,10 @@ int main() { cstr_t tmp = cstr_from_fmt("%d elements so far", cvec_str_size(names));
cvec_str_push_back(&names, tmp); // tmp is moved to names, do not del() it.
- c_printf(0, "{}\n", names.data[1].str); // Access the second element
+ c_print(0, "{}\n", names.data[1].str); // Access the second element
c_foreach (i, cvec_str, names)
- c_printf(0, "item: {}\n", i.val->str);
+ c_print(0, "item: {}\n", i.val->str);
cvec_str_del(&names);
}
// Output:
@@ -252,16 +252,16 @@ item: 2 elements so far int main() {
cstr_t s1 = cstr_from("one-nine-three-seven-five");
- c_printf(0, "{}.\n", s1.str);
+ c_print(0, "{}.\n", s1.str);
cstr_insert(&s1, 3, "-two");
- c_printf(0, "{}.\n", s1.str);
+ c_print(0, "{}.\n", s1.str);
cstr_erase(&s1, 7, 5); // -nine
- c_printf(0, "{}.\n", s1.str);
+ c_print(0, "{}.\n", s1.str);
cstr_replace(&s1, cstr_find(&s1, "seven"), 5, "four");
- c_printf(stderr, "{}.\n", s1.str);
+ c_print(stderr, "{}.\n", s1.str);
// reassign:
cstr_assign(&s1, "one two three four five six seven");
@@ -269,8 +269,8 @@ int main() { printf("append: %s\n", s1.str);
cstr_t full_path cstr_init;
- c_printf(&full_path, "{}/{}.{}", "directory", "filename", "ext");
- c_printf(1, "{}\n", full_path.str); // 1 = stderr
+ c_print(&full_path, "{}/{}.{}", "directory", "filename", "ext");
+ c_print(1, "{}\n", full_path.str); // 1 = stderr
c_del(cstr, &s1, &full_path);
}
@@ -297,7 +297,7 @@ int main() { cmap_ii_put(&nums, 8, 64); // similar to insert_or_assign()
cmap_ii_emplace(&nums, 11, 121);
- c_printf(0, "{}\n", cmap_ii_find(&nums, 8)->second);
+ c_print(0, "{}\n", cmap_ii_find(&nums, 8)->second);
cmap_ii_del(&nums);
// -- map of str --
@@ -307,9 +307,9 @@ int main() { cmap_str_emplace(&strings, "Sunny", "afternoon");
c_push_items(&strings, cmap_str, { {"Eleven", "XI"}, {"Six", "VI"} });
- c_printf(0, "size = {}\n", cmap_str_size(strings));
+ c_print(0, "size = {}\n", cmap_str_size(strings));
c_foreach (i, cmap_str, strings)
- c_printf(0, "{}: {}\n", i.val->first.str, i.val->second.str);
+ c_print(0, "{}: {}\n", i.val->first.str, i.val->second.str);
cmap_str_del(&strings); // frees all strings and map.
}
// Output:
@@ -338,7 +338,7 @@ int main() { // iterate the set of cstr_t values:
c_foreach (i, cset_str, words)
- c_printf(0, "{} ", i.val->str);
+ c_print(0, "{} ", i.val->str);
cset_str_del(&words);
}
// Output:
@@ -365,13 +365,13 @@ int main() { printf("initial: ");
c_foreach (i, clist_fx, list)
- c_printf(0, " {:.16}", *i.val);
+ c_print(0, " {:.16}", *i.val);
clist_fx_sort(&list); // mergesort O(n*log n)
printf("\nsorted: ");
c_foreach (i, clist_fx, list)
- c_printf(0, " {:10f}", *i.val);
+ c_print(0, " {:10f}", *i.val);
clist_fx_del(&list);
}
@@ -403,7 +403,7 @@ int main() // Extract and disply the fifty smallest.
c_forrange (50) {
- c_printf(0, "{} ", *cpqueue_i_top(&heap));
+ c_print(0, "{} ", *cpqueue_i_top(&heap));
cpqueue_i_pop(&heap);
}
cpqueue_i_del(&heap);
@@ -431,7 +431,7 @@ int main() { cqueue_i_pop(&queue);
c_foreach (i, cqueue_i, queue)
- c_printf(0, " {}", *i.val);
+ c_print(0, " {}", *i.val);
cqueue_i_del(&queue);
}
@@ -454,9 +454,9 @@ int main() carray1f a1 = carray3f_at2(&a3, 5, 4); // sub-array a3[5][4] (no data copy).
carray2f a2 = carray3f_at1(&a3, 5); // sub-array a3[5]
- c_printf(stdout, "{}\n", *carray1f_at(&a1, 3)); // a1[3] (3.14f)
- c_printf(stdout, "{}\n", *carray2f_at(&a2, 4, 3)); // a2[4][3] (3.14f)
- c_printf(stdout, "{}\n", *carray3f_at(&a3, 5, 4, 3)); // a3[5][4][3] (3.14f)
+ c_print(stdout, "{}\n", *carray1f_at(&a1, 3)); // a1[3] (3.14f)
+ c_print(stdout, "{}\n", *carray2f_at(&a2, 4, 3)); // a2[4][3] (3.14f)
+ c_print(stdout, "{}\n", *carray3f_at(&a3, 5, 4, 3)); // a3[5][4][3] (3.14f)
// ...
carray1f_del(&a1); // does nothing, since it is a sub-array.
carray2f_del(&a2); // same.
@@ -571,10 +571,10 @@ void display_hist(cvec_mi hist, int scale, int mean, int stddev) int k = (int) (i.val->second * stddev * scale * 25ull / 10 / n);
if (k > 0) {
cstr_take(&bar, cstr_with_size(k, '*'));
- c_printf(0, "{:4} {}\n", i.val->first, bar.str);
+ c_print(0, "{:4} {}\n", i.val->first, bar.str);
}
}
- c_printf(0, "Normal distribution with mean={}, stddev={}. '*' = {:.0f} samples out of {}.\n",
+ c_print(0, "Normal distribution with mean={}, stddev={}. '*' = {:.0f} samples out of {}.\n",
mean, stddev, n / (2.5 * stddev * scale), n);
cstr_del(&bar);
}
diff --git a/examples/benchmark.c b/examples/benchmark.c index 9f2467fe..01295054 100644 --- a/examples/benchmark.c +++ b/examples/benchmark.c @@ -151,7 +151,7 @@ int rr = RR; erased += M##_ERASE(X, RAND(rr)); \
} \
difference = clock() - before; \
- c_printf(0, #M ": time: {:5.02f}, sum: {}, erased {}, size: {}, buckets: {:8}\n", \
+ c_print(0, #M ": time: {:5.02f}, sum: {}, erased {}, size: {}, buckets: {:8}\n", \
(float) difference / CLOCKS_PER_SEC, checksum, erased, (size_t) M##_SIZE(X), (size_t) M##_BUCKETS(X)); \
M##_CLEAR(X); \
}
@@ -166,7 +166,7 @@ int rr = RR; for (size_t i = 0; i < N2; ++i) \
erased += M##_ERASE(X, i); \
difference = clock() - before; \
- c_printf(0, #M ": time: {:5.02f}, erased {}, size: {}, buckets: {:8}\n", \
+ c_print(0, #M ": time: {:5.02f}, erased {}, size: {}, buckets: {:8}\n", \
(float) difference / CLOCKS_PER_SEC, erased, (size_t) M##_SIZE(X), (size_t) M##_BUCKETS(X)); \
M##_CLEAR(X); \
}
@@ -183,7 +183,7 @@ int rr = RR; for (size_t i = 0; i < N3; ++i) \
erased += M##_ERASE(X, RAND(rr)); \
difference = clock() - before; \
- c_printf(0, #M ": time: {:5.02f}, erased {}, size: {}, buckets: {:8}\n", \
+ c_print(0, #M ": time: {:5.02f}, erased {}, size: {}, buckets: {:8}\n", \
(float) difference / CLOCKS_PER_SEC, erased, (size_t) M##_SIZE(X), (size_t) M##_BUCKETS(X)); \
M##_CLEAR(X); \
}
@@ -199,7 +199,7 @@ int rr = RR; for (int k=0; k<5; k++) M##_FOR (X, i) \
sum += M##_ITEM(X, i); \
difference = clock() - before; \
- c_printf(0, #M ": time: {:5.02f}, sum {}, size: {}, buckets: {:8}\n", \
+ c_print(0, #M ": time: {:5.02f}, sum {}, size: {}, buckets: {:8}\n", \
(float) difference / CLOCKS_PER_SEC, sum, (size_t) M##_SIZE(X), (size_t) M##_BUCKETS(X)); \
M##_CLEAR(X); \
}
@@ -219,16 +219,16 @@ int main(int argc, char* argv[]) {
rr = argc == 2 ? atoi(argv[1]) : RR;
seed = time(NULL);
- c_printf(0, "\nRandom keys are in range [0, 2^{}), seed = {}:\n", rr, seed);
- c_printf(0, "\nUnordered maps: {} repeats of Insert random key + try to remove a random key:\n", N1);
+ c_print(0, "\nRandom keys are in range [0, 2^{}), seed = {}:\n", rr, seed);
+ c_print(0, "\nUnordered maps: {} repeats of Insert random key + try to remove a random key:\n", N1);
RUN_TEST(1)
- c_printf(0, "\nUnordered maps: Insert {} index keys, then remove them in same order:\n", N2);
+ c_print(0, "\nUnordered maps: Insert {} index keys, then remove them in same order:\n", N2);
RUN_TEST(2)
- c_printf(0, "\nUnordered maps: Insert {} random keys, then remove them in same order:\n", N3);
+ c_print(0, "\nUnordered maps: Insert {} random keys, then remove them in same order:\n", N3);
RUN_TEST(3)
- c_printf(0, "\nUnordered maps: Iterate {} random keys:\n", N4);
+ c_print(0, "\nUnordered maps: Iterate {} random keys:\n", N4);
RUNX_TEST(4)
}
diff --git a/examples/share_ptr.c b/examples/share_ptr.c index 571a80d4..923d4535 100644 --- a/examples/share_ptr.c +++ b/examples/share_ptr.c @@ -11,7 +11,7 @@ Person* Person_make(Person* p, const char* name, const char* last) { return p;
}
void Person_del(Person* p) {
- c_printf(0, "del: {}\n", p->name.str);
+ c_print(0, "del: {}\n", p->name.str);
c_del(cstr, &p->name, &p->last);
}
int Person_compare(const Person* p, const Person* q) {
@@ -40,7 +40,7 @@ int main() { cvec_pe_push_back(&vec, csptr_pe_share(p)); // Don't forget to share!
}
c_foreach (i, clist_pe, queue)
- c_printf(0, " {}\n", i.val->get->name.str);
+ c_print(0, " {}\n", i.val->get->name.str);
puts("Sort and pop 3:");
clist_pe_sort(&queue);
@@ -52,18 +52,18 @@ int main() { puts("Sorted queue:");
c_foreach (i, clist_pe, queue)
- c_printf(0, " {}\n", i.val->get->name.str);
+ c_print(0, " {}\n", i.val->get->name.str);
puts("Sorted vec:");
c_foreach (i, cvec_pe, vec)
- c_printf(0, " {}\n", i.val->get->name.str);
+ c_print(0, " {}\n", i.val->get->name.str);
Person lost; Person_make(&lost, "Name 5", "Last 5");
csptr_pe ptmp = {&lost, NULL}; // share pointer without counter - OK.
clist_pe_iter_t lit = clist_pe_find(&queue, ptmp);
Person_del(&lost);
- if (lit.val) c_printf(0, "Found: {}\n", lit.val->get->name.str);
+ if (lit.val) c_print(0, "Found: {}\n", lit.val->get->name.str);
- c_printf(0, "use {}\n", *joe.use_count);
+ c_print(0, "use {}\n", *joe.use_count);
csptr_pe_del(&joe);
puts("Destroy queue:");
@@ -34,13 +34,14 @@ int main() { time_t rawtime = time(NULL);
struct tm* tm = localtime(&rawtime);
unsigned char r = 123, g = 214, b = 90, w = 110;
- c_printf(0, "Date: {} {}\n", c_timef("%Y-%m-%d %X %Z", tm), test);
- c_printf(0, "Color: ({} {} {}), {}\n", r, g, b, flag);
- c_printf(0, "{:10}, {:10}, {:.2f}\n", 42, 43, 3.141592267);
- c_printf(stdout, "{:10} {:10} {:10}\n", z, z, w);
- c_printf(stderr, "100%: {} {:.*} {}\n", string.str, 4, pi, x);
- c_printf(&string, "Precision: {} {:.16} {}", string.str, pi, x);
- c_printf(0, "{}\nvector: ({}, {}, {})\n", string.str, 3.2, 3.3, 4.2/3.2);
+ c_print(0, "Date: {} {}\n", c_ftime("%Y-%m-%d %X %Z", tm), test);
+ c_print(0, "Color: ({} {} {}), {}\n", r, g, b, flag);
+ c_print(0, "{:10}, {:10}, {:.2f}\n", 42, 43, 3.141592267);
+ c_print(stdout, "{:10} {:10} {:10}\n", z, z, w);
+ c_print(stderr, "100%: {} {:.*} {}\n", string.str, 4, pi, x);
+ c_print(&string, "Precision: {} {:.16} {}", string.str, pi, x);
+ c_print(0, "{}\nvector: ({}, {}, {})\n", string.str, 3.2, 3.3, 4.2/3.2);
+ cstr_del(&string);
}
*/
#ifndef CFMT__H__
@@ -89,7 +90,7 @@ STC_INLINE const char* _cfmt_strftime(char* n, char buf[][_cfmt_sn], size_t maxs void *: "p", \
const char *: "s", \
const void *: "p")
-#else
+#else /* c++ */
inline auto _cfmt_fn(FILE*) {return fprintf;}
inline auto _cfmt_fn(char*) {return sprintf;}
inline auto _cfmt_fn(int s) {return _cfmt_printf;}
@@ -112,60 +113,60 @@ STC_INLINE const char* _cfmt_strftime(char* n, char buf[][_cfmt_sn], size_t maxs inline auto _cfmt(const void *x) {return "p";}
#endif
-/* Only for argument to c_printf. Max 4 uses per c_printf() statement. Buffer = 64 chars. */
-#define c_timef(fmt, timeptr) _cfmt_strftime(&_tn, _tm, sizeof _tm[0], fmt, timeptr)
+/* Only for argument to c_print. Max 4 uses per c_print() statement. Buffer = 64 chars. */
+#define c_ftime(fmt, timeptr) _cfmt_strftime(&_tn, _tm, sizeof _tm[0], fmt, timeptr)
/* Primary function. */
-#define c_printf(...) c_MACRO_OVERLOAD(c_printf, __VA_ARGS__)
-#define c_printf_2(to, fmt) \
+#define c_print(...) c_MACRO_OVERLOAD(c_print, __VA_ARGS__)
+#define c_print_2(to, fmt) \
do { char *_fm = _cfmt_conv(0, fmt); \
_cfmt_fn(to)(to, _fm); free(_fm); } while (0)
-#define c_printf_3(to, fmt, c) \
+#define c_print_3(to, fmt, c) \
do { char _tm[1][_cfmt_sn], _tn=0, *_fm = _cfmt_conv(1, fmt, _cfmt(c)); \
_cfmt_fn(to)(to, _fm, c); free(_fm); } while (0)
-#define c_printf_4(to, fmt, c, d) \
+#define c_print_4(to, fmt, c, d) \
do { char _tm[2][_cfmt_sn], _tn=0, *_fm = _cfmt_conv(2, fmt, _cfmt(c), _cfmt(d)); \
_cfmt_fn(to)(to, _fm, c, d); free(_fm); } while (0)
-#define c_printf_5(to, fmt, c, d, e) \
+#define c_print_5(to, fmt, c, d, e) \
do { char _tm[3][_cfmt_sn], _tn=0, *_fm = _cfmt_conv(3, fmt, _cfmt(c), _cfmt(d), _cfmt(e)); \
_cfmt_fn(to)(to, _fm, c, d, e); free(_fm); } while (0)
-#define c_printf_6(to, fmt, c, d, e, f) \
+#define c_print_6(to, fmt, c, d, e, f) \
do { char _tm[_cfmt_bn][_cfmt_sn], _tn=0, *_fm = _cfmt_conv(4, fmt, _cfmt(c), _cfmt(d), _cfmt(e), _cfmt(f)); \
_cfmt_fn(to)(to, _fm, c, d, e, f); free(_fm); } while (0)
-#define c_printf_7(to, fmt, c, d, e, f, g) \
+#define c_print_7(to, fmt, c, d, e, f, g) \
do { char _tm[_cfmt_bn][_cfmt_sn], _tn=0, *_fm = _cfmt_conv(5, fmt, _cfmt(c), _cfmt(d), _cfmt(e), _cfmt(f), _cfmt(g)); \
_cfmt_fn(to)(to, _fm, c, d, e, f, g); free(_fm); } while (0)
-#define c_printf_8(to, fmt, c, d, e, f, g, h) \
+#define c_print_8(to, fmt, c, d, e, f, g, h) \
do { char _tm[_cfmt_bn][_cfmt_sn], _tn=0, *_fm = _cfmt_conv(6, fmt, _cfmt(c), _cfmt(d), _cfmt(e), _cfmt(f), _cfmt(g), _cfmt(h)); \
_cfmt_fn(to)(to, _fm, c, d, e, f, g, h); free(_fm); } while (0)
-#define c_printf_9(to, fmt, c, d, e, f, g, h, i) \
+#define c_print_9(to, fmt, c, d, e, f, g, h, i) \
do { char _tm[_cfmt_bn][_cfmt_sn], _tn=0, *_fm = _cfmt_conv(7, fmt, _cfmt(c), _cfmt(d), _cfmt(e), _cfmt(f), _cfmt(g), _cfmt(h), _cfmt(i)); \
_cfmt_fn(to)(to, _fm, c, d, e, f, g, h, i); free(_fm); } while (0)
-#define c_printf_10(to, fmt, c, d, e, f, g, h, i, j) \
+#define c_print_10(to, fmt, c, d, e, f, g, h, i, j) \
do { char _tm[_cfmt_bn][_cfmt_sn], _tn=0, *_fm = _cfmt_conv(8, fmt, _cfmt(c), _cfmt(d), _cfmt(e), _cfmt(f), _cfmt(g), _cfmt(h), _cfmt(i), _cfmt(j)); \
_cfmt_fn(to)(to, _fm, c, d, e, f, g, h, i, j); free(_fm); } while (0)
-#define c_printf_11(to, fmt, c, d, e, f, g, h, i, j, k) \
+#define c_print_11(to, fmt, c, d, e, f, g, h, i, j, k) \
do { char _tm[_cfmt_bn][_cfmt_sn], _tn=0, *_fm = _cfmt_conv(9, fmt, _cfmt(c), _cfmt(d), _cfmt(e), _cfmt(f), _cfmt(g), _cfmt(h), _cfmt(i), _cfmt(j), _cfmt(k)); \
_cfmt_fn(to)(to, _fm, c, d, e, f, g, h, i, j, k); free(_fm); } while (0)
-#define c_printf_12(to, fmt, c, d, e, f, g, h, i, j, k, m) \
+#define c_print_12(to, fmt, c, d, e, f, g, h, i, j, k, m) \
do { char _tm[_cfmt_bn][_cfmt_sn], _tn=0, *_fm = _cfmt_conv(10, fmt, _cfmt(c), _cfmt(d), _cfmt(e), _cfmt(f), _cfmt(g), _cfmt(h), _cfmt(i), _cfmt(j), _cfmt(k), _cfmt(m)); \
_cfmt_fn(to)(to, _fm, c, d, e, f, g, h, i, j, k, m); free(_fm); } while (0)
-#define c_printf_13(to, fmt, c, d, e, f, g, h, i, j, k, m, n) \
+#define c_print_13(to, fmt, c, d, e, f, g, h, i, j, k, m, n) \
do { char _tm[_cfmt_bn][_cfmt_sn], _tn=0, *_fm = _cfmt_conv(11, fmt, _cfmt(c), _cfmt(d), _cfmt(e), _cfmt(f), _cfmt(g), _cfmt(h), _cfmt(i), _cfmt(j), _cfmt(k), _cfmt(m), _cfmt(n)); \
_cfmt_fn(to)(to, _fm, c, d, e, f, g, h, i, j, k, m, n); free(_fm); } while (0)
-#define c_printf_14(to, fmt, c, d, e, f, g, h, i, j, k, m, n, o) \
+#define c_print_14(to, fmt, c, d, e, f, g, h, i, j, k, m, n, o) \
do { char _tm[_cfmt_bn][_cfmt_sn], _tn=0, *_fm = _cfmt_conv(12, fmt, _cfmt(c), _cfmt(d), _cfmt(e), _cfmt(f), _cfmt(g), _cfmt(h), _cfmt(i), _cfmt(j), _cfmt(k), _cfmt(m), _cfmt(n), _cfmt(o)); \
_cfmt_fn(to)(to, _fm, c, d, e, f, g, h, i, j, k, m, n, o); free(_fm); } while (0)
-#define c_printf_15(to, fmt, c, d, e, f, g, h, i, j, k, m, n, o, p) \
+#define c_print_15(to, fmt, c, d, e, f, g, h, i, j, k, m, n, o, p) \
do { char _tm[_cfmt_bn][_cfmt_sn], _tn=0, *_fm = _cfmt_conv(13, fmt, _cfmt(c), _cfmt(d), _cfmt(e), _cfmt(f), _cfmt(g), _cfmt(h), _cfmt(i), _cfmt(j), _cfmt(k), _cfmt(m), _cfmt(n), _cfmt(o), _cfmt(p)); \
_cfmt_fn(to)(to, _fm, c, d, e, f, g, h, i, j, k, m, n, o, p); free(_fm); } while (0)
-#define c_printf_16(to, fmt, c, d, e, f, g, h, i, j, k, m, n, o, p, q) \
+#define c_print_16(to, fmt, c, d, e, f, g, h, i, j, k, m, n, o, p, q) \
do { char _tm[_cfmt_bn][_cfmt_sn], _tn=0, *_fm = _cfmt_conv(14, fmt, _cfmt(c), _cfmt(d), _cfmt(e), _cfmt(f), _cfmt(g), _cfmt(h), _cfmt(i), _cfmt(j), _cfmt(k), _cfmt(m), _cfmt(n), _cfmt(o), _cfmt(p), _cfmt(p)); \
_cfmt_fn(to)(to, _fm, c, d, e, f, g, h, i, j, k, m, n, o, p, q); free(_fm); } while (0)
-#define c_printf_17(to, fmt, c, d, e, f, g, h, i, j, k, m, n, o, p, q, r) \
+#define c_print_17(to, fmt, c, d, e, f, g, h, i, j, k, m, n, o, p, q, r) \
do { char _tm[_cfmt_bn][_cfmt_sn], _tn=0, *_fm = _cfmt_conv(15, fmt, _cfmt(c), _cfmt(d), _cfmt(e), _cfmt(f), _cfmt(g), _cfmt(h), _cfmt(i), _cfmt(j), _cfmt(k), _cfmt(m), _cfmt(n), _cfmt(o), _cfmt(p), _cfmt(p), _cfmt(r)); \
_cfmt_fn(to)(to, _fm, c, d, e, f, g, h, i, j, k, m, n, o, p, q, r); free(_fm); } while (0)
-#define c_printf_18(to, fmt, c, d, e, f, g, h, i, j, k, m, n, o, p, q, r, s) \
+#define c_print_18(to, fmt, c, d, e, f, g, h, i, j, k, m, n, o, p, q, r, s) \
do { char _tm[_cfmt_bn][_cfmt_sn], _tn=0, *_fm = _cfmt_conv(16, fmt, _cfmt(c), _cfmt(d), _cfmt(e), _cfmt(f), _cfmt(g), _cfmt(h), _cfmt(i), _cfmt(j), _cfmt(k), _cfmt(m), _cfmt(n), _cfmt(o), _cfmt(p), _cfmt(p), _cfmt(r), _cfmt(s)); \
_cfmt_fn(to)(to, _fm, c, d, e, f, g, h, i, j, k, m, n, o, p, q, r, s); free(_fm); } while (0)
@@ -200,7 +201,7 @@ _cfmt_conv(int nargs, const char *fmt, ...) { if (fmt[1] == '{') { ++fmt; break; }
if (fmt[1] != ':' && fmt[1] != '}') break;
if (++n > nargs) {
- fprintf(stderr, "ERROR: c_printf() missing argument(%d): %s\n", n, fmt0);
+ fprintf(stderr, "ERROR: c_print() missing argument(%d): %s\n", n, fmt0);
break;
}
*p++ = '%';
@@ -218,7 +219,7 @@ _cfmt_conv(int nargs, const char *fmt, ...) { } while (ch);
va_end(args);
if (n < nargs)
- fprintf(stderr, "WARNING: c_printf() %d superfluous argument(s): %s\n", nargs - n, fmt0);
+ fprintf(stderr, "WARNING: c_print() %d superfluous argument(s): %s\n", nargs - n, fmt0);
return fmt1;
}
|
