aboutsummaryrefslogtreecommitdiff
path: root/src/bextutil/bextutil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bextutil/bextutil.cpp')
-rw-r--r--src/bextutil/bextutil.cpp50
1 files changed, 46 insertions, 4 deletions
diff --git a/src/bextutil/bextutil.cpp b/src/bextutil/bextutil.cpp
index baf35591..4b22d502 100644
--- a/src/bextutil/bextutil.cpp
+++ b/src/bextutil/bextutil.cpp
@@ -119,6 +119,29 @@ DAPIV_(HRESULT) BextLog(
119{ 119{
120 HRESULT hr = S_OK; 120 HRESULT hr = S_OK;
121 va_list args; 121 va_list args;
122
123 if (!vpEngine)
124 {
125 hr = E_POINTER;
126 ExitOnRootFailure(hr, "BextInitialize() must be called first.");
127 }
128
129 va_start(args, szFormat);
130 hr = BextLogArgs(level, szFormat, args);
131 va_end(args);
132
133LExit:
134 return hr;
135}
136
137
138DAPI_(HRESULT) BextLogArgs(
139 __in BUNDLE_EXTENSION_LOG_LEVEL level,
140 __in_z __format_string LPCSTR szFormat,
141 __in va_list args
142 )
143{
144 HRESULT hr = S_OK;
122 LPSTR sczFormattedAnsi = NULL; 145 LPSTR sczFormattedAnsi = NULL;
123 LPWSTR sczMessage = NULL; 146 LPWSTR sczMessage = NULL;
124 147
@@ -128,9 +151,7 @@ DAPIV_(HRESULT) BextLog(
128 ExitOnRootFailure(hr, "BextInitialize() must be called first."); 151 ExitOnRootFailure(hr, "BextInitialize() must be called first.");
129 } 152 }
130 153
131 va_start(args, szFormat);
132 hr = StrAnsiAllocFormattedArgs(&sczFormattedAnsi, szFormat, args); 154 hr = StrAnsiAllocFormattedArgs(&sczFormattedAnsi, szFormat, args);
133 va_end(args);
134 ExitOnFailure(hr, "Failed to format log string."); 155 ExitOnFailure(hr, "Failed to format log string.");
135 156
136 hr = StrAllocStringAnsi(&sczMessage, sczFormattedAnsi, 0, CP_UTF8); 157 hr = StrAllocStringAnsi(&sczMessage, sczFormattedAnsi, 0, CP_UTF8);
@@ -153,6 +174,29 @@ DAPIV_(HRESULT) BextLogError(
153{ 174{
154 HRESULT hr = S_OK; 175 HRESULT hr = S_OK;
155 va_list args; 176 va_list args;
177
178 if (!vpEngine)
179 {
180 hr = E_POINTER;
181 ExitOnRootFailure(hr, "BextInitialize() must be called first.");
182 }
183
184 va_start(args, szFormat);
185 hr = BextLogErrorArgs(hrError, szFormat, args);
186 va_end(args);
187
188LExit:
189 return hr;
190}
191
192
193DAPI_(HRESULT) BextLogErrorArgs(
194 __in HRESULT hrError,
195 __in_z __format_string LPCSTR szFormat,
196 __in va_list args
197 )
198{
199 HRESULT hr = S_OK;
156 LPSTR sczFormattedAnsi = NULL; 200 LPSTR sczFormattedAnsi = NULL;
157 LPWSTR sczMessage = NULL; 201 LPWSTR sczMessage = NULL;
158 202
@@ -162,9 +206,7 @@ DAPIV_(HRESULT) BextLogError(
162 ExitOnRootFailure(hr, "BextInitialize() must be called first."); 206 ExitOnRootFailure(hr, "BextInitialize() must be called first.");
163 } 207 }
164 208
165 va_start(args, szFormat);
166 hr = StrAnsiAllocFormattedArgs(&sczFormattedAnsi, szFormat, args); 209 hr = StrAnsiAllocFormattedArgs(&sczFormattedAnsi, szFormat, args);
167 va_end(args);
168 ExitOnFailure(hr, "Failed to format error log string."); 210 ExitOnFailure(hr, "Failed to format error log string.");
169 211
170 hr = StrAllocFormatted(&sczMessage, L"Error 0x%08x: %S", hrError, sczFormattedAnsi); 212 hr = StrAllocFormatted(&sczMessage, L"Error 0x%08x: %S", hrError, sczFormattedAnsi);