From cd222f8ce03a65815ef6474cce89f069c1d49f8c Mon Sep 17 00:00:00 2001 From: jp9000 Date: Wed, 19 Aug 2015 11:31:39 -0700 Subject: [PATCH] libobs/util: Fix character encoding issue Manually specifies the UTF-8 character codes used by the file rather than relying on the compiler to determine what the codes are manually. I was getting compile errors due to the fact that my current code page is not at the default code page; so visual c++ tried to use my current code page rather than UTF-8 and it would cause an error on the file. --- libobs/util/profiler.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libobs/util/profiler.c b/libobs/util/profiler.c index fe9920cd1..47c7ad16f 100644 --- a/libobs/util/profiler.c +++ b/libobs/util/profiler.c @@ -487,6 +487,11 @@ typedef void (*profile_entry_print_func)(profiler_snapshot_entry_t *entry, struct dstr *indent_buffer, struct dstr *output_buffer, unsigned indent, uint64_t active, uint64_t parent_calls); +/* UTF-8 characters */ +#define VPIPE_RIGHT " \xe2\x94\xa3" +#define VPIPE " \xe2\x95\x83" +#define DOWN_RIGHT " \xe2\x94\x97" + static void make_indent_string(struct dstr *indent_buffer, unsigned indent, uint64_t active) { @@ -501,9 +506,9 @@ static void make_indent_string(struct dstr *indent_buffer, unsigned indent, const char *fragment = ""; bool last = i + 1 == indent; if (active & ((uint64_t)1 << i)) - fragment = last ? " ┣" : " ┃"; + fragment = last ? VPIPE_RIGHT : VPIPE; else - fragment = last ? " ┗" : " "; + fragment = last ? DOWN_RIGHT : " "; dstr_cat(indent_buffer, fragment); }