MCPcopy Create free account
hub / github.com/DaedalusX64/daedalus / ParseFormatString

Function ParseFormatString

Source/SysOSX/Debug/DebugConsoleOSX.cpp:70–141  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

68
69
70static size_t ParseFormatString(const char * format, char * out, size_t out_len)
71{
72 ETerminalColour tc = TC_DEFAULT;
73
74 const char * p = format;
75 char * o = out;
76
77 size_t len = 0;
78 while (*p)
79 {
80 if (*p == '[')
81 {
82 ++p;
83
84 tc = GetTerminalColour( *p );
85 const char * str = GetTerminalColourString(tc);
86 size_t str_len = strlen(str);
87
88 len += str_len;
89 if (o)
90 {
91 strcpy(o, str);
92 o += str_len;
93 }
94 }
95 else if (*p == ']')
96 {
97 tc = TC_DEFAULT;
98 const char * str = GetTerminalColourString(tc);
99 size_t str_len = strlen(str);
100 len += str_len;
101 if (o)
102 {
103 strcpy(o, str);
104 o += str_len;
105 }
106 }
107 else
108 {
109 ++len;
110 if (o)
111 {
112 *o = *p;
113 ++o;
114 }
115 }
116
117 ++p;
118 }
119
120 if (tc != TC_DEFAULT)
121 {
122 tc = TC_DEFAULT;
123 const char * str = GetTerminalColourString(tc);
124 size_t str_len = strlen(str);
125 len += str_len;
126 if (o)
127 {

Callers 1

MsgMethod · 0.85

Calls 2

GetTerminalColourFunction · 0.85
GetTerminalColourStringFunction · 0.85

Tested by

no test coverage detected