aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2024-02-17 14:47:14 -0500
committerBruce Hill <bruce@bruce-hill.com>2024-02-17 14:47:14 -0500
commit5d2d54ae0ebad9b7e2314735ba89b8e09b4ab147 (patch)
tree4cebfd72fd0d04d16c761663c999a2a6333319ad
parent605eb45626a0076b748a23f77a1899fc0e5b631a (diff)
Tweak cord formatting
-rw-r--r--compile.c4
-rw-r--r--nextlang.h10
-rw-r--r--util.c2
-rw-r--r--util.h2
4 files changed, 9 insertions, 9 deletions
diff --git a/compile.c b/compile.c
index e23c894c..3cdd39d2 100644
--- a/compile.c
+++ b/compile.c
@@ -318,7 +318,7 @@ CORD compile(env_t *env, ast_t *ast)
CORD_appendf(&cord_func, "\treturn use_color ? \"\\x1b[0;1m%s\\x1b[m(\\x1b[2m...\\x1b[m)\" : \"%s(...)\";\n}",
def->name, def->name);
} else {
- CORD_appendf(&cord_func, "\treturn CORD_asprintf(use_color ? \"\\x1b[0;1m%s\\x1b[m(", def->name);
+ CORD_appendf(&cord_func, "\treturn StrF(use_color ? \"\\x1b[0;1m%s\\x1b[m(", def->name);
for (arg_ast_t *field = def->fields; field; field = field->next) {
CORD_appendf(&cord_func, "%s=\\x1b[35m%%r\\x1b[m", field->name);
if (field->next) cord_func = CORD_cat(cord_func, ", ");
@@ -379,7 +379,7 @@ CORD compile(env_t *env, ast_t *ast)
for (ast_list_t *target = assign->targets; target; target = target->next)
CORD_appendf(&code, "%r = $%ld;\n", compile(env, target->ast), i++);
- CORD expr_cord = "CORD_asprintf(\"";
+ CORD expr_cord = "StrF(\"";
for (ast_list_t *target = assign->targets; target; target = target->next)
expr_cord = CORD_cat(expr_cord, target->next ? "%r, " : "%r");
expr_cord = CORD_cat(expr_cord, "\"");
diff --git a/nextlang.h b/nextlang.h
index c02760de..30a8aecc 100644
--- a/nextlang.h
+++ b/nextlang.h
@@ -40,13 +40,13 @@
CORD as_cord(void *x, bool use_color, const char *fmt, ...);
-#define CORD_asprintf(...) ({ CORD $c; CORD_sprintf(&$c, __VA_ARGS__); $c; })
+#define StrF(...) ({ CORD $c; CORD_sprintf(&$c, __VA_ARGS__); $c; })
#define $var(var, val) __typeof(val) var = val
#define $cord(x) _Generic(x, bool: x ? "yes" : "no", \
- int8_t: CORD_asprintf("%d", x), \
- int16_t: CORD_asprintf("%d", x), \
- int32_t: CORD_asprintf("%d", x), int64_t: CORD_asprintf("%ld", x), \
- double: CORD_asprintf("%g", x), float: CORD_asprintf("%g", x), \
+ int8_t: StrF("%d", x), \
+ int16_t: StrF("%d", x), \
+ int32_t: StrF("%d", x), int64_t: StrF("%ld", x), \
+ double: StrF("%g", x), float: StrF("%g", x), \
CORD: x, \
array_t: as_cord($stack(x), false, "[ ]"), \
default: "???")
diff --git a/util.c b/util.c
index 4ee5ef7a..16ef7aaf 100644
--- a/util.c
+++ b/util.c
@@ -70,7 +70,7 @@ public char *mangle(const char *name)
return mangled;
}
-CORD CORD_asprintf(const char *fmt, ...)
+CORD CORD_asprintf(CORD fmt, ...)
{
va_list args;
va_start(args, fmt);
diff --git a/util.h b/util.h
index 34acb8ff..1df56ce5 100644
--- a/util.h
+++ b/util.h
@@ -25,7 +25,7 @@
char *heap_strn(const char *str, size_t len);
char *heap_str(const char *str);
char *heap_strf(const char *fmt, ...);
-CORD CORD_asprintf(const char *fmt, ...);
+CORD CORD_asprintf(CORD fmt, ...);
#define CORD_appendf(cord, fmt, ...) CORD_sprintf(cord, "%r" fmt, *(cord) __VA_OPT__(,) __VA_ARGS__)
#define asprintfa(...) ({ char *_buf = alloca(snprintf(0, 0, __VA_ARGS__)); sprintf(_buf, __VA_ARGS__); _buf; })