X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=libctf%2Fctf-util.c;h=d4a1c5aaeaceef564982062536ef600deb2d7f19;hb=9323dd869dfe481d46512c7f9b1a30d0b7d2d7c4;hp=d10b2b53a9c34329d901106deba9b4b0afe7165d;hpb=de07e349bea156484fae1dbec974fdbbf207d57d;p=deliverable%2Fbinutils-gdb.git diff --git a/libctf/ctf-util.c b/libctf/ctf-util.c index d10b2b53a9..d4a1c5aaea 100644 --- a/libctf/ctf-util.c +++ b/libctf/ctf-util.c @@ -103,7 +103,7 @@ ctf_sym_to_elf64 (const Elf32_Sym *src, Elf64_Sym *dst) return dst; } -/* A string appender working on dynamic strings. */ +/* A string appender working on dynamic strings. Returns NULL on OOM. */ char * ctf_str_append (char *s, const char *append) @@ -127,6 +127,19 @@ ctf_str_append (char *s, const char *append) return s; } +/* A version of ctf_str_append that returns the old string on OOM. */ + +char * +ctf_str_append_noerr (char *s, const char *append) +{ + char *new_s; + + new_s = ctf_str_append (s, append); + if (!new_s) + return s; + return new_s; +} + /* A realloc() that fails noisily if called with any ctf_str_num_users. */ void * ctf_realloc (ctf_file_t *fp, void *ptr, size_t size)