From 86de8fb94c3057d2413a526f645d67913d29ae67 Mon Sep 17 00:00:00 2001 From: Nikita Smith Date: Wed, 18 Feb 2026 00:54:49 -0800 Subject: [PATCH] string attrib DWARF writer helper --- src/dwarf/dwarf_writer.c | 10 ++++++++++ src/dwarf/dwarf_writer.h | 1 + 2 files changed, 11 insertions(+) diff --git a/src/dwarf/dwarf_writer.c b/src/dwarf/dwarf_writer.c index 29d9aef0..b5d8e093 100644 --- a/src/dwarf/dwarf_writer.c +++ b/src/dwarf/dwarf_writer.c @@ -279,6 +279,16 @@ dw_writer_push_attrib_string(DW_Writer *writer, DW_AttribKind kind, String8 stri return dw_writer_push_attrib(writer, kind, (DW_WriterForm){ .kind = DW_WriterFormKind_String, .string = string }); } +internal DW_WriterAttrib * +dw_writer_push_attrib_stringf(DW_Writer *writer, DW_AttribKind kind, char *fmt, ...) +{ + va_list args; + va_start(args, fmt); + String8 string = push_str8fv(writer->arena, fmt, args); + va_end(args); + return dw_writer_push_attrib_string(writer, kind, string); +} + internal DW_WriterAttrib * dw_writer_push_attrib_flag(DW_Writer *writer, DW_AttribKind kind, B8 flag) { diff --git a/src/dwarf/dwarf_writer.h b/src/dwarf/dwarf_writer.h index f2d8ad76..880f3f92 100644 --- a/src/dwarf/dwarf_writer.h +++ b/src/dwarf/dwarf_writer.h @@ -189,6 +189,7 @@ internal DW_WriterAttrib * dw_writer_push_attrib_address (DW_Writer *writer, internal DW_WriterAttrib * dw_writer_push_attrib_block (DW_Writer *writer, DW_AttribKind kind, String8 block ); internal DW_WriterAttrib * dw_writer_push_attrib_data (DW_Writer *writer, DW_AttribKind kind, String8 data ); internal DW_WriterAttrib * dw_writer_push_attrib_string (DW_Writer *writer, DW_AttribKind kind, String8 string ); +internal DW_WriterAttrib * dw_writer_push_attrib_stringf (DW_Writer *writer, DW_AttribKind kind, char *fmt, ... ); internal DW_WriterAttrib * dw_writer_push_attrib_flag (DW_Writer *writer, DW_AttribKind kind, B8 flag ); internal DW_WriterAttrib * dw_writer_push_attrib_sint (DW_Writer *writer, DW_AttribKind kind, S64 sint ); internal DW_WriterAttrib * dw_writer_push_attrib_uint (DW_Writer *writer, DW_AttribKind kind, U64 uint );