130 Commits

Author SHA1 Message Date
208a8c1f84 Add emscripten logvisorAbort 2022-08-03 18:11:46 -04:00
6926b6a7c9
Always flush log file on close to prevent incomplete logs 2022-01-10 23:27:06 -08:00
9420e3007e Update fmt to 8.0.1 2021-10-25 19:08:48 -04:00
4f7f3f2147 Use __has_cpp_attribute for NOWIDE_FALLTHROUGH 2021-06-30 16:22:27 -04:00
6eadd55f7a Merge remote-tracking branch 'origin/utf8' into utf8
# Conflicts:
#	lib/logvisor.cpp
2021-06-29 00:09:20 -04:00
df3c283186 Update fmt to 8.0.0; drop support for wchar
Adds some boost-nowide headers to assist in
UTF-8/16 conversion for Windows API.
2021-06-25 15:04:38 -04:00
139281f667 Update fmt to 8.0.0; drop support for wchar
Adds some boost-nowide headers to assist in
UTF-8/16 conversion for Windows API.
2021-06-22 15:13:37 -04:00
274ad5ef07
Fix compiling on linux 2021-06-19 14:43:23 -07:00
Henrique Gemignani Passos Lima
ed3714e55c Fix ConsoleLogger misusing Widen result lifetime 2021-06-19 13:40:17 +03:00
ee3276d7c5
Merge pull request #7 from Minty-Meeo/wide-printing-fixes 2021-05-07 23:17:57 -07:00
Minty-Meeo
f23179e168 Wide char homogeneity
If wide char stdlib functions are used on a narrow char stream, they attempt to narrow the character or string.  If this fails, nothing is written to the stream and an error is indicated.  The {fmt} library, at its core, uses stdlib functions for printing to a stream.  However, it takes it a step further and acts upon errors while printing by throwing an exception.

If narrow char stdlib functions are used on a wide char stream, they throw an assertion.  The {fmt} library somehow does not throw an assertion, but whatever it ends up printing is garbage anyhow.

So from either end, it is generally a bad idea to mix narrow and wide character printing.  While you can get away with using wide char functions on a narrow char stream, the moment you start using anything other than English characters, it all falls apart.  Just as well, narrow chars on wide char streams do not work at all.  Despite this, I found many situations where wide char printing and narrow char printing was being used at the same time.  This PR makes character printing homogeneous to avoid the previously discussed issues.
2021-05-08 00:52:03 -05:00
7901fc496d Don't install if not building directly 2021-04-13 00:48:30 -04:00
d874350205 Fetch Sentry as needed; don't reimport fmt unnecessarily 2021-04-13 00:05:09 -04:00
028617d225 Update sentry-native 2021-04-12 15:52:58 -04:00
984d87348e Set FMT_ARM_ABI_COMPATIBILITY; move fmt defines to CMake 2021-04-06 17:55:15 -04:00
33e7322595 Update submodules; set submodule tracking branch 2021-04-06 12:46:56 -04:00
bb113e03f8 Fix sentry submodule URL 2021-04-05 16:31:04 -04:00
240491ccad Compile breakpad_client with -Wno-array-bounds 2021-04-05 13:26:01 -04:00
fd343eb234 Fix compiling crashpad on Windows 2021-04-05 12:04:19 -04:00
aac06c3465 Fix compiling breakpad_client on Linux 2021-04-05 10:38:42 -04:00
0e3fe3e766 Integrate sentry-native crash reporting 2021-04-04 18:20:48 -04:00
17aa25cfa9
Merge pull request #6 from henriquegemignani/feature/keep-file-open
FileLogger: don't open/close file for each write
2021-04-03 10:27:47 -07:00
Henrique Gemignani Passos Lima
d4af1a1088 FileLogger: don't open/close file for each write 2021-04-03 19:42:44 +03:00
8913e55e34 Fix crashing on windows when registering a file logger after a console logger, windows runtime bugs annoy the hell out of me >:( 2020-12-31 13:53:26 -08:00
81fb4e4c2d Link debug libnx & remove outdated nxstl includes 2020-10-21 00:35:07 -04:00
Jack Andersen
7f63cabaea Fixes for recent windows SDK changes 2020-08-22 17:28:34 -10:00
41432143fd Only use lm service when LOGVISOR_NX_LM set 2020-05-05 00:14:41 -04:00
Jack Andersen
14ea54f8b5 Add lm service for switch build 2020-05-03 20:09:21 -10:00
Jack Andersen
d62b4ce26e Update fmtlib 2020-04-11 12:44:21 -10:00
Jack Andersen
27814c5276 Exclude CMake CXX standard from MSVC 2020-04-10 18:55:45 -10:00
Jack Andersen
f04a9777eb Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/logvisor 2019-09-30 21:21:21 -10:00
Jack Andersen
187c35f3c4 Ensure only one console logger is able to be registered 2019-09-30 21:20:45 -10:00
8c2e711362
Merge pull request #5 from lioncash/noreturn
logvisor: Mark logvisorAbort as [[noreturn]]
2019-09-06 23:26:44 -07:00
Lioncash
63cb911d09 logvisor: Mark logvisorAbort as [[noreturn]]
All variants of logvisorAbort do what they say in their name -- abort.
Given control isn't returned from this function, we can signify that
it's a noreturn function
2019-09-06 07:37:27 -04:00
f623ace3b4
Merge pull request #4 from lioncash/docs
logvisor: Amend documentation comments
2019-08-26 15:55:18 -07:00
8ea97c524c
Merge pull request #3 from lioncash/forward
logvisor: std::forward arguments where applicable
2019-08-26 15:55:08 -07:00
81c72ad220
Merge pull request #2 from lioncash/char
logvisor: Use std::fputs/std::fputc where applicable
2019-08-26 15:54:58 -07:00
Lioncash
59f651f24b logvisor: Amend documentation comments
These use fmt-style formatting specifiers, not printf.
2019-08-26 10:57:19 -04:00
Lioncash
2a40c6dc92 logvisor: std::forward arguments where applicable
Forwards arguments into functions to preserve their value category
2019-08-26 10:50:35 -04:00
Lioncash
2f3f06e5ca logvisor: Add missing override specifiers 2019-08-26 10:34:40 -04:00
Lioncash
94d1c558a0 logvisor: Use std::fputs/std::fputc where applicable
We can just use std::fputc when inserting a single character instead of
using std::fputs. Likewise, we can use std::fputs over std::fprintf when
no formatting specifiers are present.
2019-08-26 10:31:45 -04:00
aa9aa0a82c
Merge pull request #1 from lioncash/cexpr
logvisor: Make Module constructor constexpr
2019-08-17 22:56:59 -07:00
Lioncash
a57409828c logvisor: Make Module constructor constexpr
Allows the module instances to be constructed at compile time.
Otherwise, this is technically a runtime static constructor when an
instance is declared at file scope.
2019-08-17 19:47:20 -04:00
Jack Andersen
dcd0ffcaec Fix custom formatting of multiple character types 2019-07-25 16:31:54 -10:00
Jack Andersen
3bedd268e8 Integrate libfmt for format strings 2019-07-19 18:21:39 -10:00
Jack Andersen
a0ef17d895 Refactor of CMake for cleaner dependency handling 2019-06-11 15:53:17 -10:00
Jack Andersen
ebe7463e67 Ignore GCC truncation warning 2019-06-09 16:48:06 -10:00
Jack Andersen
7672485d81 Make logvisor publicly link libdl on platforms that have it 2019-05-25 00:14:41 -10:00
Jack Andersen
c54e2596c2 Add cmake package config files 2019-05-22 18:07:58 -10:00
Jack Andersen
c3f34aed0b
Update include directory for proper installation 2019-05-22 17:58:40 -10:00