>>> lnav: Building community/lnav 0.12.2-r0 (using abuild 3.14.1-r1) started Mon, 11 Nov 2024 00:08:04 +0000 >>> lnav: Validating /home/buildozer/aports/community/lnav/APKBUILD... >>> lnav: Analyzing dependencies... >>> lnav: Installing for build: build-base bash bzip2-dev curl-dev gpm-dev libarchive-dev libbsd-dev ncurses-dev pcre2-dev readline-dev sqlite-dev zlib-dev (1/41) Installing bash (5.2.37-r0) Executing bash-5.2.37-r0.post-install (2/41) Installing libbz2 (1.0.8-r6) (3/41) Installing bzip2-dev (1.0.8-r6) (4/41) Installing brotli (1.1.0-r2) (5/41) Installing brotli-dev (1.1.0-r2) (6/41) Installing c-ares-dev (1.34.3-r0) (7/41) Installing libidn2-dev (2.3.7-r0) (8/41) Installing libpsl-utils (0.21.5-r3) (9/41) Installing libpsl-dev (0.21.5-r3) (10/41) Installing nghttp2-dev (1.64.0-r0) (11/41) Installing openssl-dev (3.3.2-r3) (12/41) Installing zlib-dev (1.3.1-r2) (13/41) Installing zstd (1.5.6-r1) (14/41) Installing zstd-dev (1.5.6-r1) (15/41) Installing curl-dev (8.11.0-r1) (16/41) Installing gpm-libs (1.20.7-r5) (17/41) Installing gpm-dev (1.20.7-r5) (18/41) Installing xz-libs (5.6.3-r0) (19/41) Installing libarchive (3.7.7-r0) (20/41) Installing libarchive-dev (3.7.7-r0) (21/41) Installing bsd-compat-headers (0.7.2-r6) (22/41) Installing linux-headers (6.6-r1) (23/41) Installing libmd (1.1.0-r0) (24/41) Installing libmd-dev (1.1.0-r0) (25/41) Installing libbsd (0.12.2-r0) (26/41) Installing libbsd-dev (0.12.2-r0) (27/41) Installing libformw (6.5_p20241006-r2) (28/41) Installing libmenuw (6.5_p20241006-r2) (29/41) Installing libpanelw (6.5_p20241006-r2) (30/41) Installing libncurses++ (6.5_p20241006-r2) (31/41) Installing ncurses-dev (6.5_p20241006-r2) (32/41) Installing libedit-dev (20240808.3.1-r0) (33/41) Installing libpcre2-16 (10.43-r0) (34/41) Installing libpcre2-32 (10.43-r0) (35/41) Installing pcre2-dev (10.43-r0) (36/41) Installing libhistory (8.2.13-r0) (37/41) Installing readline-dev (8.2.13-r0) (38/41) Installing sqlite (3.47.0-r0) (39/41) Installing sqlite-libs (3.47.0-r0) (40/41) Installing sqlite-dev (3.47.0-r0) (41/41) Installing .makedepends-lnav (20241111.000812) Executing busybox-1.37.0-r6.trigger OK: 418 MiB in 142 packages >>> lnav: Cleaning up srcdir >>> lnav: Cleaning up pkgdir >>> lnav: Cleaning up tmpdir >>> lnav: Fetching https://distfiles.alpinelinux.org/distfiles/v3.21/lnav-0.12.2.tar.gz Connecting to distfiles.alpinelinux.org (172.105.82.32:443) saving to '/var/cache/distfiles/v3.21/lnav-0.12.2.tar.gz.part' lnav-0.12.2.tar.gz.p 100% |********************************| 3640k 0:00:00 ETA '/var/cache/distfiles/v3.21/lnav-0.12.2.tar.gz.part' saved >>> lnav: Fetching https://distfiles.alpinelinux.org/distfiles/v3.21/lnav-0.12.2.tar.gz >>> lnav: Checking sha512sums... lnav-0.12.2.tar.gz: OK rapidyaml.patch: OK prqlc-c.patch: OK >>> lnav: Unpacking /var/cache/distfiles/v3.21/lnav-0.12.2.tar.gz... >>> lnav: rapidyaml.patch patching file src/third-party/rapidyaml/ryml_all.hpp >>> lnav: prqlc-c.patch patching file src/third-party/prqlc-c/Cargo.lock checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a race-free mkdir -p... ./install-sh -c -d checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether make supports nested variables... (cached) yes checking build system type... i586-alpine-linux-musl checking host system type... i586-alpine-linux-musl checking whether make supports the include directive... yes (GNU style) checking for i586-alpine-linux-musl-gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking dependency style of gcc... gcc3 checking how to run the C preprocessor... gcc -E checking for i586-alpine-linux-musl-gcc... i586-alpine-linux-musl-gcc checking whether the compiler supports GNU C... (cached) yes checking whether i586-alpine-linux-musl-gcc accepts -g... yes checking for i586-alpine-linux-musl-gcc option to enable C11 features... (cached) none needed checking whether i586-alpine-linux-musl-gcc understands -c and -o together... yes checking dependency style of i586-alpine-linux-musl-gcc... gcc3 checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking how to run the C preprocessor... i586-alpine-linux-musl-gcc -E checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking whether gcc is Clang... no checking whether pthreads work with "-pthread" and "-lpthread"... yes checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE checking whether more special flags are required for pthreads... no checking for PTHREAD_PRIO_INHERIT... yes checking whether the compiler supports GNU C++... yes checking whether g++ accepts -g... yes checking for g++ option to enable C++11 features... none needed checking dependency style of g++... gcc3 checking whether g++ supports C++14 features with -std=c++14... yes checking for i586-alpine-linux-musl-ranlib... no checking for ranlib... ranlib checking for i586-alpine-linux-musl-ar... no checking for i586-alpine-linux-musl-lib... no checking for i586-alpine-linux-musl-link... no checking for ar... ar checking the archiver (ar) interface... ar checking whether ln -s works... yes checking whether make sets $(MAKE)... (cached) yes checking for cargo... no checking for bzip2... /usr/bin/bzip2 checking for re2c... no checking for xz... no checking for tshark... no checking for check-jsonschema... no checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking size of off_t... 8 checking size of size_t... 4 checking whether struct tm is in sys/time.h or time.h... time.h checking for g++ -std=c++14 options needed to detect all undeclared functions... none needed checking for struct tm.tm_zone... yes checking for library containing openpty... none required checking for library containing gzseek... -lz checking for library containing BZ2_bzopen... -lbz2 checking for library containing dlopen... none required checking for library containing backtrace... no checking for gawk... (cached) awk checking for curl-config... /usr/bin/curl-config checking for the version of libcurl... 8.11.0 checking for libcurl >= version 7.23.0... yes checking whether libcurl is usable... yes checking for curl_free... yes configure: Building with tinfo linking disabled checking for library containing Gpm_Open... -lgpm checking for execinfo.h... no checking for pty.h... yes checking for util.h... no checking for zlib.h... yes checking for bzlib.h... yes checking for libutil.h... no checking for sys/ttydefaults.h... yes configure: compiling with the included version of yajl checking for NcursesW wide-character library... yes checking for working ncursesw/curses.h... no checking for working ncursesw.h... no checking for working ncurses.h... yes checking lib archive... (testing) checking for archive_read_new in -larchive... yes checking for archive.h... yes checking lib archive... -larchive checking if PCRE2 is wanted... yes checking for pcre2_compile_8 in -lpcre2-8... yes checking for pcre2.h... yes checking lib readline... checking for library containing readline... -lreadline checking for library containing history_set_history_state... none required checking for readline.h... no checking for readline/readline.h... yes checking whether to build with code coverage support... no checking for library containing sqlite3_open... -lsqlite3 checking for sqlite3.h... yes checking for SQLite3 library >= 3.9.0... yes checking for sqlite3_stmt_readonly... yes checking for sqlite3_value_subtype... yes checking for sqlite3_error_offset... yes checking for sqlite3_drop_modules... yes Adding include path: /usr/local/include checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating TESTS_ENVIRONMENT config.status: creating tools/Makefile config.status: creating src/Makefile config.status: creating src/base/Makefile config.status: creating src/formats/logfmt/Makefile config.status: creating src/fmtlib/Makefile config.status: creating src/pcrepp/Makefile config.status: creating src/pugixml/Makefile config.status: creating src/tailer/Makefile config.status: creating src/yajl/Makefile config.status: creating src/yajlpp/Makefile config.status: creating src/third-party/base64/lib/Makefile config.status: creating src/third-party/date/src/Makefile config.status: creating src/third-party/scnlib/src/Makefile config.status: creating test/Makefile config.status: creating src/config.h config.status: executing depfiles commands Making all in tools make[1]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/tools' gcc -I../src/third-party/doctest-root -D_ISOC99_SOURCE -D__STDC_LIMIT_MACROS -D_GNU_SOURCE -DUSE_OS_TZDB=1 -DHAS_REMOTE_API=0 -I/usr/include -I/usr/include -I/usr/local/include -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -L/usr/lib -L/usr/lib -L/usr/local/lib -L/usr/lib -L//lib -g3 -o bin2c bin2c.c -lz -fPIE make[1]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/tools' Making all in src make[1]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src' BIN2C animals-json.cc BIN2C ansi-palette-json.cc BIN2C builtin-scripts.cc BIN2C builtin-sh-scripts.cc BIN2C css-color-names-json.cc BIN2C default-config.cc BIN2C default-formats.cc BIN2C diseases-json.cc BIN2C emojis-json.cc BIN2C words-json.cc BIN2C help-md.cc BIN2C init-sql.cc BIN2C prql-modules.cc CC ptimec BIN2C xml-entities-json.cc BIN2C xterm-palette-json.cc TIMEFMT time_fmts.cc make all-recursive make[2]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src' Making all in fmtlib make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/fmtlib' CXX format.o CXX os.o AR libcppfmt.a ar: `u' modifier ignored since `D' is the default (see `U') make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/fmtlib' Making all in third-party/base64/lib make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/third-party/base64/lib' CC lib.o CC arch/generic/codec.o CC tables/tables.o AR libbase64.a ar: `u' modifier ignored since `D' is the default (see `U') make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/third-party/base64/lib' Making all in third-party/date/src make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/third-party/date/src' CXX tz.o AR libdatepp.a ar: `u' modifier ignored since `D' is the default (see `U') make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/third-party/date/src' Making all in third-party/scnlib/src make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/third-party/scnlib/src' CXX reader_float.o CXX locale.o CXX reader_int.o CXX file.o CXX vscan.o AR libscnlib.a ar: `u' modifier ignored since `D' is the default (see `U') make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/third-party/scnlib/src' Making all in pcrepp make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/pcrepp' CXX pcre2pp.o AR libpcrepp.a ar: `u' modifier ignored since `D' is the default (see `U') make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/pcrepp' Making all in base make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/base' CXX ansi_scrubber.o CXX attr_line.o CXX attr_line.builder.o CXX auto_fd.o CXX auto_pid.o CXX color_spaces.o CXX date_time_scanner.o CXX fs_util.o CXX humanize.o CXX humanize.network.o CXX humanize.time.o CXX intern_string.o CXX is_utf8.o CXX isc.o CXX lnav.console.o CXX lnav.gzip.o CXX lnav_log.o CXX network.tcp.o CXX paths.o CXX piper.file.o CXX snippet_highlighters.o CXX string_attr_type.o CXX string_util.o CC strnatcmp.o CXX time_util.o CC ../third-party/xxHash/xxhash.o In file included from date_time_scanner.cc:39: ../../src/ptimec.hh: In function 'void ftime_s(char*, off_t&, ssize_t, const exttm&)': ../../src/ptimec.hh:334:51: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 334 | snprintf(&dst[off_inout], len - off_inout, "%ld", t); | ~~^ ~ | | | | | time_t {aka long long int} | long int | %lld ../../src/ptimec.hh: In function 'void ftime_q(char*, off_t&, ssize_t, const exttm&)': ../../src/ptimec.hh:392:51: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 392 | snprintf(&dst[off_inout], len - off_inout, "%lx", t); | ~~^ ~ | | | | | time_t {aka long long int} | long unsigned int | %llx attr_line.cc: In member function 'attr_line_t& attr_line_t::insert(size_t, const attr_line_t&, text_wrap_settings*)': attr_line.cc:235:42: warning: comparison of integer expressions of different signedness: 'nonstd::optional_lite::optional::value_type' {aka 'unsigned int'} and 'int' [-Wsign-compare] 235 | if (pre_lf && pre_lf.value() < pre_len) { | ~~~~~~~~~~~~~~~^~~~~~~~~ piper.file.cc: In function 'nonstd::optional_lite::optional lnav::piper::read_header(int, const char*)': piper.file.cc:71:18: warning: comparison of integer expressions of different signedness: 'int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare] 71 | if (meta_prc != meta_size) { | ~~~~~~~~~^~~~~~~~~~~~ string_util.cc: In function 'std::string scrub_ws(const char*, ssize_t)': string_util.cc:312:69: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'ssize_t' {aka 'int'} [-Wsign-compare] 312 | for (size_t lpc = 0; (len == -1 && in[lpc]) || (len >= 0 && lpc < len); | ~~~~^~~~~ lnav.console.cc: In static member function 'static lnav::console::snippet lnav::console::snippet::from_content_with_offset(intern_string_t, const attr_line_t&, size_t, const std::string&)': lnav.console.cc:73:32: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string::size_type' {aka 'unsigned int'} [-Wsign-compare] 73 | if (line_with_error.sf_end >= retval.s_content.get_string().size()) { | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from attr_line.hh:42, from snippet_highlighters.hh:33, from snippet_highlighters.cc:30: intern_string.hh: In instantiation of 'string_fragment string_fragment::find_left_boundary(size_t, P&&, size_t) const [with P = tag1; size_t = unsigned int]': snippet_highlighters.cc:234:50: required from here 232 | = string_fragment::from_str_range( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | line, sub.lr_start, lpc) | ~~~~~~~~~~~~~~~~~~~~~~~~ 234 | .find_left_boundary(lpc - sub.lr_start - 1, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ 235 | string_fragment::tag1{'('}); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ intern_string.hh:323:32: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 323 | if (start > 0 && start == this->length()) { | ~~~~~~^~~~~~~~~~~~~~~~~ ansi_scrubber.cc: In function 'void scrub_ansi_string(std::string&, string_attrs_t*)': ansi_scrubber.cc:471:65: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string::size_type' {aka 'unsigned int'} [-Wsign-compare] 471 | if (sa != nullptr && last_origin_end > 0 && last_origin_end != str.size()) { | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ In file included from ../../src/base/attr_line.hh:42, from lnav.console.hh:36, from lnav.console.cc:32: ../../src/base/intern_string.hh: In instantiation of 'string_fragment string_fragment::find_left_boundary(size_t, P&&, size_t) const [with P = tag1&; size_t = unsigned int]': ../../src/base/intern_string.hh:371:54: required from 'string_fragment string_fragment::find_boundaries_around(size_t, P&&, size_t) const [with P = tag1; size_t = unsigned int]' 371 | auto left = this->template find_left_boundary(start, predicate, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ lnav.console.cc:55:61: required from here 55 | auto line_with_error = content_sf.find_boundaries_around( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 56 | offset, string_fragment::tag1{'\n'}); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../src/base/intern_string.hh:323:32: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 323 | if (start > 0 && start == this->length()) { | ~~~~~~^~~~~~~~~~~~~~~~~ AR libbase.a ar: `u' modifier ignored since `D' is the default (see `U') make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/base' Making all in tailer make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/tailer' ../../tools/bin2c -n tailer_bin tailerbin ./tailer.ape make all-am make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/tailer' CC sha-256.o CC tailer.o CXX libtailerpp_a-tailerpp.o CXX libtailerservice_a-tailerbin.o CXX libtailerservice_a-tailer.looper.o AR libtailercommon.a ar: `u' modifier ignored since `D' is the default (see `U') AR libtailerpp.a ar: `u' modifier ignored since `D' is the default (see `U') In file included from ../../src/textview_curses.hh:44, from ../../src/bottom_status_source.hh:37, from ../../src/lnav.hh:44, from tailer.looper.cc:40: ../../src/listview_curses.hh: In member function 'int listview_curses::shift_left(int)': ../../src/listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ AR libtailerservice.a ar: `u' modifier ignored since `D' is the default (see `U') make[4]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/tailer' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/tailer' Making all in pugixml make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/pugixml' CXX pugixml.o AR libpugixml.a ar: `u' modifier ignored since `D' is the default (see `U') make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/pugixml' Making all in yajl make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/yajl' CC yajl.o CC yajl_alloc.o CC yajl_buf.o CC yajl_encode.o CC yajl_gen.o CC yajl_lex.o CC yajl_parser.o CC yajl_tree.o CC yajl_version.o AR libyajl.a ar: `u' modifier ignored since `D' is the default (see `U') make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/yajl' Making all in yajlpp make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/yajlpp' CXX json_op.o CXX json_ptr.o CXX yajlpp.o yajlpp.cc: In member function 'void json_path_handler_base::validate_string(yajlpp_parse_context&, string_fragment) const': yajlpp.cc:1346:28: warning: comparison of integer expressions of different signedness: 'int' and 'const size_t' {aka 'const unsigned int'} [-Wsign-compare] 1346 | } else if (sf.length() < this->jph_min_length) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ AR libyajlpp.a ar: `u' modifier ignored since `D' is the default (see `U') make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/yajlpp' Making all in formats/logfmt make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/formats/logfmt' CXX logfmt.parser.o AR liblogfmt.a ar: `u' modifier ignored since `D' is the default (see `U') make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/formats/logfmt' Making all in . make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src' CXX lnav.o CXX lnav.events.o CXX lnav.indexing.o CXX lnav.management_cli.o CXX file_vtab.o CXX all_logs_vtab.o CXX archive_manager.o CXX bookmarks.o CXX bottom_status_source.o CXX breadcrumb_curses.o CXX collation-functions.o CXX column_namer.o CXX command_executor.o CXX curl_looper.o CXX db_sub_source.o CXX document.sections.o CXX dump_internals.o CXX elem_to_json.o CXX environ_vtab.o CXX extension-functions.o CXX field_overlay_source.o CXX file_collection.o CXX file_converter_manager.o CXX file_format.o CXX file_options.o CXX files_sub_source.o CXX filter_observer.o CXX filter_status_source.o CXX filter_sub_source.o CXX fstat_vtab.o CXX fs-extension-functions.o CXX fts_fuzzy_match.o CXX gantt_source.o CXX grep_proc.o CXX help_text.o CXX help_text_formatter.o CXX highlighter.o CXX hist_source.o CXX hotkeys.o CXX input_dispatcher.o CXX json-extension-functions.o CXX line_buffer.o CXX listview_curses.o CXX lnav_commands.o CXX lnav_config.o CXX lnav_util.o CXX log.annotate.o CXX log.watch.o CXX log_accel.o CXX log_actions.o CXX log_data_helper.o CXX log_format.o CXX log_data_table.o CXX log_format_loader.o CXX log_level.o CXX log_level_re.o CXX log_search_table.o In file included from /usr/include/curl/multi.h:51, from curl_looper.cc:37: curl_looper.cc: In member function 'virtual long int curl_request::complete(CURLcode)': curl_looper.cc:185:40: warning: 'CURLINFO_SIZE_DOWNLOAD' is deprecated: since 7.55.0. Use CURLINFO_SIZE_DOWNLOAD_T [-Wdeprecated-declarations] 185 | curl_easy_getinfo(this->cr_handle, CURLINFO_SIZE_DOWNLOAD, &download_size); | ^~~~~~~~~~~~~~~~~~~~~~ /usr/include/curl/curl.h:2874:3: note: declared here 2874 | CURLINFO_SIZE_DOWNLOAD | ^~~~~~~~~~~~~~~~~~~~~~ curl_looper.cc:188:26: warning: 'CURLINFO_SPEED_DOWNLOAD' is deprecated: since 7.55.0. Use CURLINFO_SPEED_DOWNLOAD_T [-Wdeprecated-declarations] 188 | this->cr_handle, CURLINFO_SPEED_DOWNLOAD, &download_speed); | ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/curl/curl.h:2878:3: note: declared here 2878 | CURLINFO_SPEED_DOWNLOAD | ^~~~~~~~~~~~~~~~~~~~~~~ CXX logfile.o In file included from listview_curses.cc:35: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ listview_curses.cc: In member function 'virtual bool listview_curses::contains(int, int) const': listview_curses.cc:63:20: warning: comparison of integer expressions of different signedness: 'const unsigned int' and 'int' [-Wsign-compare] 63 | if (this->vc_x <= x && x < this->vc_x + dim.second && this->vc_y <= y | ~~~~~~~~~~~^~~~ listview_curses.cc:63:30: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare] 63 | if (this->vc_x <= x && x < this->vc_x + dim.second && this->vc_y <= y | ~~^~~~~~~~~~~~~~~~~~~~~~~~~ listview_curses.cc: In member function 'vis_line_t listview_curses::get_overlay_top(vis_line_t, size_t, size_t)': listview_curses.cc:363:48: warning: comparison of integer expressions of different signedness: 'const int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 363 | if (this->lv_focused_overlay_selection >= total) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ listview_curses.cc: In member function 'virtual bool listview_curses::do_update()': listview_curses.cc:580:50: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare] 580 | chtype ch = gutter_y == overlay_y | ~~~~~~~~~^~~~~~~~~~~~ listview_curses.cc:640:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare] 640 | gutter_y < (this->vc_y + height); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ listview_curses.cc: In member function 'void listview_curses::shift_selection(shift_amount_t)': listview_curses.cc:722:60: warning: comparison of integer expressions of different signedness: 'const int' and 'unsigned int' [-Wsign-compare] 722 | if (this->lv_focused_overlay_selection > overlay_height) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ listview_curses.cc:732:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 731 | if (this->lv_focused_overlay_selection + 1 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 732 | < overlay_content.size()) | ^~~~~~~~~~~~~~~~~~~~~~~~ listview_curses.cc:739:25: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'const int' [-Wsign-compare] 738 | if (this->lv_focused_overlay_selection + overlay_height - 1 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 739 | >= ov_top_for_last) | ^~~~~~~~~~~~~~~~~~ listview_curses.cc: In member function 'virtual bool listview_curses::handle_mouse(mouse_event&)': listview_curses.cc:888:33: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare] 888 | if (this->lv_scroll_top <= me.me_y && me.me_y <= this->lv_scroll_bottom) | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ listview_curses.cc:888:55: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 888 | if (this->lv_scroll_top <= me.me_y && me.me_y <= this->lv_scroll_bottom) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ listview_curses.cc:892:28: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 892 | } else if (me.me_y < this->lv_scroll_top) { | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ listview_curses.cc:905:25: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 905 | if (me.me_y < this->lv_scroll_top) { | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ listview_curses.cc:911:25: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 911 | if (me.me_y > this->lv_scroll_bottom) { | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ listview_curses.cc: In member function 'void listview_curses::set_overlay_selection(nonstd::optional_lite::optional >)': listview_curses.cc:1197:36: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 1197 | } else if (sel.value() >= overlay_content.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from field_overlay_source.hh:36, from field_overlay_source.cc:30: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from json-extension-functions.cc:40: vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = json_string; Args = {nonstd::optional_lite::optional, const std::vector >&}; Return (* f)(Args ...) = {anonymous}::json_concat; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = json_string; Args = {nonstd::optional_lite::optional, const std::vector >&}; Return (* f)(Args ...) = {anonymous}::json_concat]' 496 | }; | ^ json-extension-functions.cc:762:74: required from here 762 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 763 | help_text("json_concat", | ~~~~~~~~~~~~~~~~~~~~~~~~ 764 | "Returns an array with the given values concatenated " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 765 | "onto the end. " | ~~~~~~~~~~~~~~~~~ 766 | "If the initial value is null, the result will be an " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 767 | "array with " | ~~~~~~~~~~~~~ 768 | "the given elements. If the initial value is an array, " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 769 | "the result " | ~~~~~~~~~~~~~ 770 | "will be an array with the given values at the end. If " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 771 | "the initial " | ~~~~~~~~~~~~~~ 772 | "value is not null or an array, the result will be an " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 773 | "array with " | ~~~~~~~~~~~~~ 774 | "two elements: the initial value and the given value.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 775 | .sql_function() | ~~~~~~~~~~~~~~~ 776 | .with_prql_path({"json", "concat"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 777 | .with_parameter({"json", "The initial JSON value."}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 778 | .with_parameter( | ~~~~~~~~~~~~~~~~ 779 | help_text("value", | ~~~~~~~~~~~~~~~~~~ 780 | "The value(s) to add to the end of the array.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 781 | .one_or_more()) | ~~~~~~~~~~~~~~~ 782 | .with_tags({"json"}) | ~~~~~~~~~~~~~~~~~~~~ 783 | .with_example({ | ~~~~~~~~~~~~~~~ 784 | "To append the number 4 to null", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 785 | "SELECT json_concat(NULL, 4)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 786 | }) | ~~ 787 | .with_example({ | ~~~~~~~~~~~~~~~ 788 | "To append 4 and 5 to the array [1, 2, 3]", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 789 | "SELECT json_concat('[1, 2, 3]', 4, 5)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 790 | }) | ~~ 791 | .with_example({ | ~~~~~~~~~~~~~~~ 792 | "To concatenate two arrays together", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 793 | "SELECT json_concat('[1, 2, 3]', json('[4, 5]'))", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 794 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = bool; Args = {vtab_types::nullable, sqlite3_value*}; Return (* f)(Args ...) = {anonymous}::json_contains; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = bool; Args = {vtab_types::nullable, sqlite3_value*}; Return (* f)(Args ...) = {anonymous}::json_contains]' 496 | }; | ^ json-extension-functions.cc:796:78: required from here 796 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 797 | help_text("json_contains", | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 798 | "Check if a JSON value contains the given element.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 799 | .sql_function() | ~~~~~~~~~~~~~~~ 800 | .with_prql_path({"json", "contains"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 801 | .with_parameter({"json", "The JSON value to query."}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 802 | .with_parameter( | ~~~~~~~~~~~~~~~~ 803 | {"value", "The value to look for in the first argument"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 804 | .with_tags({"json"}) | ~~~~~~~~~~~~~~~~~~~~ 805 | .with_example({ | ~~~~~~~~~~~~~~~ 806 | "To test if a JSON array contains the number 4", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 807 | "SELECT json_contains('[1, 2, 3]', 4)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 808 | }) | ~~ 809 | .with_example({ | ~~~~~~~~~~~~~~~ 810 | "To test if a JSON array contains the string 'def'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 811 | "SELECT json_contains('[\"abc\", \"def\"]', 'def')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 812 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int In file included from fs-extension-functions.cc:52: vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = mapbox::util::variant; Args = {const char*}; Return (* f)(Args ...) = sql_basename; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = mapbox::util::variant; Args = {const char*}; Return (* f)(Args ...) = sql_basename]' 496 | }; | ^ fs-extension-functions.cc:328:76: required from here 328 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 329 | help_text("basename", "Extract the base portion of a pathname.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 330 | .sql_function() | ~~~~~~~~~~~~~~~ 331 | .with_prql_path({"fs", "basename"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 332 | .with_parameter({"path", "The path"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 333 | .with_tags({"filename"}) | ~~~~~~~~~~~~~~~~~~~~~~~~ 334 | .with_example({"To get the base of a plain file name", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 335 | "SELECT basename('foobar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 336 | .with_example( | ~~~~~~~~~~~~~~ 337 | {"To get the base of a path", "SELECT basename('foo/bar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 338 | .with_example({"To get the base of a directory", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 339 | "SELECT basename('foo/bar/')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 340 | .with_example({"To get the base of an empty string", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 341 | "SELECT basename('')"}) | ~~~~~~~~~~~~~~~~~~~~~~~ 342 | .with_example({"To get the base of a Windows path", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 343 | "SELECT basename('foo\\bar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 344 | .with_example({"To get the base of the root directory", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 345 | "SELECT basename('/')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~ 346 | .with_example({ | ~~~~~~~~~~~~~~~ 347 | "To get the base of a path", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | "from [{p='foo/bar'}] | select { fs.basename p }", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | help_example::language::prql, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = mapbox::util::variant; Args = {const char*}; Return (* f)(Args ...) = sql_dirname; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = mapbox::util::variant; Args = {const char*}; Return (* f)(Args ...) = sql_dirname]' 496 | }; | ^ fs-extension-functions.cc:352:74: required from here 352 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 353 | help_text("dirname", "Extract the directory portion of a pathname.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | .sql_function() | ~~~~~~~~~~~~~~~ 355 | .with_parameter({"path", "The path"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 356 | .with_prql_path({"fs", "dirname"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 357 | .with_tags({"filename"}) | ~~~~~~~~~~~~~~~~~~~~~~~~ 358 | .with_example({"To get the directory of a relative file path", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 359 | "SELECT dirname('foo/bar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 360 | .with_example({"To get the directory of an absolute file path", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 361 | "SELECT dirname('/foo/bar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 362 | .with_example( | ~~~~~~~~~~~~~~ 363 | {"To get the directory of a file in the root directory", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 364 | "SELECT dirname('/bar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 365 | .with_example({"To get the directory of a Windows path", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 366 | "SELECT dirname('foo\\bar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 367 | .with_example({"To get the directory of an empty path", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 368 | "SELECT dirname('')"})), | ~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = nonstd::optional_lite::optional >; Args = {const std::vector >&}; Return (* f)(Args ...) = sql_joinpath; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = nonstd::optional_lite::optional >; Args = {const std::vector >&}; Return (* f)(Args ...) = sql_joinpath]' 496 | }; | ^ fs-extension-functions.cc:370:76: required from here 370 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 371 | help_text("joinpath", "Join components of a path together.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 372 | .sql_function() | ~~~~~~~~~~~~~~~ 373 | .with_prql_path({"fs", "join"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 374 | .with_parameter( | ~~~~~~~~~~~~~~~~ 375 | help_text( | ~~~~~~~~~~ 376 | "path", | ~~~~~~~ 377 | "One or more path components to join together. " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 378 | "If an argument starts with a forward or backward " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 379 | "slash, it will be considered " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 380 | "an absolute path and any preceding elements will " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 381 | "be ignored.") | ~~~~~~~~~~~~~~ 382 | .one_or_more()) | ~~~~~~~~~~~~~~~ 383 | .with_tags({"filename"}) | ~~~~~~~~~~~~~~~~~~~~~~~~ 384 | .with_example( | ~~~~~~~~~~~~~~ 385 | {"To join a directory and file name into a relative path", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 386 | "SELECT joinpath('foo', 'bar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 387 | .with_example( | ~~~~~~~~~~~~~~ 388 | {"To join an empty component with other names into " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 389 | "a relative path", | ~~~~~~~~~~~~~~~~~~ 390 | "SELECT joinpath('', 'foo', 'bar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 391 | .with_example( | ~~~~~~~~~~~~~~ 392 | {"To create an absolute path with two path components", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 393 | "SELECT joinpath('/', 'foo', 'bar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 394 | .with_example( | ~~~~~~~~~~~~~~ 395 | {"To create an absolute path from a path component " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 396 | "that starts with a forward slash", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 397 | "SELECT joinpath('/', 'foo', '/bar')"})), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = std::__cxx11::basic_string; Args = {const char*}; Return (* f)(Args ...) = sql_readlink; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::__cxx11::basic_string; Args = {const char*}; Return (* f)(Args ...) = sql_readlink]' 496 | }; | ^ fs-extension-functions.cc:399:76: required from here 399 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 400 | help_text("readlink", "Read the target of a symbolic link.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 401 | .sql_function() | ~~~~~~~~~~~~~~~ 402 | .with_prql_path({"fs", "readlink"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 403 | .with_parameter({"path", "The path to the symbolic link."}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 404 | .with_tags({"filename"})), | ~~~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = std::__cxx11::basic_string; Args = {const char*}; Return (* f)(Args ...) = sql_realpath; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::__cxx11::basic_string; Args = {const char*}; Return (* f)(Args ...) = sql_realpath]' 496 | }; | ^ fs-extension-functions.cc:406:76: required from here 406 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 407 | help_text( | ~~~~~~~~~~ 408 | "realpath", | ~~~~~~~~~~~ 409 | "Returns the resolved version of the given path, expanding " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 410 | "symbolic links and " | ~~~~~~~~~~~~~~~~~~~~~ 411 | "resolving '.' and '..' references.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 412 | .sql_function() | ~~~~~~~~~~~~~~~ 413 | .with_prql_path({"fs", "realpath"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 414 | .with_parameter({"path", "The path to resolve."}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 415 | .with_tags({"filename"})), | ~~~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = blob_auto_buffer; Args = {const char*, nonstd::optional_lite::optional, nonstd::optional_lite::optional}; Return (* f)(Args ...) = sql_shell_exec; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = blob_auto_buffer; Args = {const char*, nonstd::optional_lite::optional, nonstd::optional_lite::optional}; Return (* f)(Args ...) = sql_shell_exec]' 496 | }; | ^ fs-extension-functions.cc:417:80: required from here 417 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 418 | help_text("shell_exec", | ~~~~~~~~~~~~~~~~~~~~~~~ 419 | "Executes a shell command and returns its output.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 420 | .sql_function() | ~~~~~~~~~~~~~~~ 421 | .with_prql_path({"shell", "exec"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 422 | .with_parameter({"cmd", "The command to execute."}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 423 | .with_parameter(help_text{ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 424 | "input", | ~~~~~~~~ 425 | "A blob of data to write to the command's standard input."} | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 426 | .optional()) | ~~~~~~~~~~~~ 427 | .with_parameter( | ~~~~~~~~~~~~~~~~ 428 | help_text{"options", | ~~~~~~~~~~~~~~~~~~~~ 429 | "A JSON object containing options for the " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 430 | "execution with the following properties:"} | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 431 | .optional() | ~~~~~~~~~~~ 432 | .with_parameter(help_text{ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 433 | "env", | ~~~~~~ 434 | "An object containing the environment variables " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 435 | "to set or, if NULL, to unset."} | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 436 | .optional())) | ~~~~~~~~~~~~~ 437 | .with_tags({"shell"})) | ~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int In file included from textview_curses.hh:44, from bottom_status_source.hh:37, from bottom_status_source.cc:30: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ grep_proc.cc: In instantiation of 'void grep_proc::child_loop() [with LineType = strong_int]': grep_proc.cc:428:16: required from here 428 | template class grep_proc; | ^~~~~~~~~~~~~~~~~~~~~ grep_proc.cc:202:47: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 202 | for (int lpc = 1; lpc < md.get_count(); lpc++) { | ~~~~^~~~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from plain_text_source.hh:39, from breadcrumb_curses.hh:37, from breadcrumb_curses.cc:30: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from base/auto_pid.hh:41, from line_buffer.cc:51: line_buffer.cc: In member function 'void line_buffer::ensure_available(file_off_t, ssize_t)': line_buffer.cc:553:21: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 553 | require(prefill <= this->lb_buffer.size()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ ./base/lnav_log.hh:124:30: note: in definition of macro 'require' 124 | #define require(e) ((void) ((e) ? 0 : lnav_require(#e, __FILE__, __LINE__))) | ^ line_buffer.cc:556:23: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 556 | require(available <= this->lb_buffer.capacity()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./base/lnav_log.hh:124:30: note: in definition of macro 'require' 124 | #define require(e) ((void) ((e) ? 0 : lnav_require(#e, __FILE__, __LINE__))) | ^ line_buffer.cc: In member function 'bool line_buffer::load_next_buffer()': line_buffer.cc:604:33: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 604 | if (rc != -1 && (rc < this->lb_alt_buffer.value().available()) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ line_buffer.cc:668:33: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 668 | if (rc != -1 && (rc < (this->lb_alt_buffer.value().available())) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ line_buffer.cc:688:12: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 688 | if (rc > (this->lb_alt_buffer.value().available())) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ line_buffer.cc: In member function 'bool line_buffer::fill_range(file_off_t, ssize_t)': line_buffer.cc:866:37: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 866 | if (rc != -1 && (rc < this->lb_buffer.available())) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ line_buffer.cc:928:37: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 928 | if (rc != -1 && (rc < (this->lb_buffer.available()))) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ line_buffer.cc:961:16: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 961 | if (rc > (this->lb_buffer.available())) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bookmarks.cc: In member function 'bool bookmark_metadata::empty(categories) const': bookmarks.cc:80:1: warning: control reaches end of non-void function [-Wreturn-type] 80 | } | ^ In file included from textview_curses.hh:44, from hist_source.hh:45, from db_sub_source.hh:40, from command_executor.hh:41, from hotkeys.cc:39: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from hist_source.hh:45, from db_sub_source.hh:40, from db_sub_source.cc:30: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from plain_text_source.hh:39, from filter_sub_source.hh:34, from filter_sub_source.cc:30: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from hist_source.hh:45, from hist_source.cc:30: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ CXX logfile_sub_source.o In file included from textview_curses.hh:44, from bottom_status_source.hh:37, from lnav.hh:44, from dump_internals.cc:34: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from filter_status_source.hh:36, from filter_status_source.cc:30: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from hist_source.hh:45, from db_sub_source.hh:40, from command_executor.hh:41, from command_executor.cc:32: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from files_sub_source.hh:34, from files_sub_source.cc:30: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from bottom_status_source.hh:37, from lnav.hh:44, from log.annotate.cc:39: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from view_helpers.hh:37, from session_data.hh:42, from file_vtab.cc:41: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from filter_observer.hh:36, from logfile_sub_source.hh:45, from gantt_source.hh:35, from gantt_source.cc:32: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from bottom_status_source.hh:37, from lnav.hh:44, from lnav_commands.cc:37: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from filter_observer.hh:36, from logfile_sub_source.hh:45, from log_vtab_impl.hh:39, from all_logs_vtab.hh:35, from all_logs_vtab.cc:30: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from filter_observer.hh:36, from logfile_sub_source.hh:45, from log_vtab_impl.hh:39, from all_logs_vtab.hh:35, from lnav.cc:68: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ CXX md2attr_line.o CXX md4cpp.o In file included from textview_curses.hh:44, from bottom_status_source.hh:37, from lnav.hh:44, from lnav.indexing.cc:34: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ CXX network-extension-functions.o In file included from textview_curses.hh:44, from filter_observer.hh:36, from filter_observer.cc:30: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from filter_observer.hh:36, from logfile_sub_source.hh:45, from log_data_helper.hh:44, from log_data_helper.cc:32: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ gantt_source.cc: In member function 'virtual void gantt_header_overlay::list_value_for_overlay(const listview_curses&, vis_line_t, std::vector&)': gantt_source.cc:254:14: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector >::size_type' {aka 'unsigned int'} [-Wsign-compare] 254 | if (line >= this->gho_src->gs_time_order.size()) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from hist_source.hh:45, from db_sub_source.hh:40, from command_executor.hh:41, from lnav_config.cc:59: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ gantt_source.cc: In member function 'virtual void gantt_source::text_value_for_line(textview_curses&, int, std::string&, text_sub_source::line_flags_t)': gantt_source.cc:403:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector >::size_type' {aka 'unsigned int'} [-Wsign-compare] 403 | if (line < this->gs_time_order.size()) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ gantt_source.cc: In member function 'virtual void gantt_source::text_attrs_for_line(textview_curses&, int, string_attrs_t&)': gantt_source.cc:442:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector >::size_type' {aka 'unsigned int'} [-Wsign-compare] 442 | if (line < this->gs_time_order.size()) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from hist_source.hh:45, from db_sub_source.hh:40, from command_executor.hh:41, from log_format.cc:43: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ gantt_source.cc: In member function 'void gantt_source::rebuild_indexes()': gantt_source.cc:572:21: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 571 | if (sub.ostr_subid.length() | ~~~~~~~~~~~~~~~~~~~~~~~ 572 | > active_iter->second.or_max_subid_width) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gantt_source.cc:695:42: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 695 | if (pair.second.or_name.length() > this->gs_opid_width) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ gantt_source.cc: In member function 'virtual nonstd::optional_lite::optional gantt_source::time_for_row(vis_line_t)': gantt_source.cc:784:13: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector >::size_type' {aka 'unsigned int'} [-Wsign-compare] 784 | if (row >= this->gs_time_order.size()) { | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gantt_source.cc:793:38: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 793 | if (ov_sel && ov_sel.value() < otr.otr_sub_ops.size()) { | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ gantt_source.cc: In member function 'virtual void gantt_source::text_selection_changed(textview_curses&)': gantt_source.cc:821:13: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector >::size_type' {aka 'unsigned int'} [-Wsign-compare] 821 | if (sel >= this->gs_time_order.size()) { | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gantt_source.cc: In member function 'virtual void gantt_source::text_crumbs_for_line(int, std::vector&)': gantt_source.cc:953:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector >::size_type' {aka 'unsigned int'} [-Wsign-compare] 953 | if (line >= this->gs_time_order.size()) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CXX data_parser.o CXX piper.looper.o In file included from textview_curses.hh:44, from filter_observer.hh:36, from logfile_sub_source.hh:45, from log_vtab_impl.hh:39, from log_data_table.hh:39, from log_data_table.cc:30: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ CXX plain_text_source.o files_sub_source.cc: In function 'files_model::files_list_selection files_model::from_selection(vis_line_t)': files_sub_source.cc:56:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::map, file_error_info>::size_type' {aka 'unsigned int'} [-Wsign-compare] 56 | if (sel < errs->size()) { | ~~~~^~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from bottom_status_source.hh:37, from lnav.hh:44, from lnav.management_cli.cc:43: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ files_sub_source.cc:66:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::map, other_file_descriptor>::size_type' {aka 'unsigned int'} [-Wsign-compare] 66 | if (sel < fc.fc_other_files.size()) { | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ files_sub_source.cc:75:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector >::size_type' {aka 'unsigned int'} [-Wsign-compare] 75 | if (sel < fc.fc_files.size()) { | ~~~~^~~~~~~~~~~~~~~~~~~~ files_sub_source.cc: In member function 'virtual void files_sub_source::text_value_for_line(textview_curses&, int, std::string&, text_sub_source::line_flags_t)': files_sub_source.cc:269:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::map, file_error_info>::size_type' {aka 'unsigned int'} [-Wsign-compare] 269 | if (line < errs->size()) { | ~~~~~^~~~~~~~~~~~~~ files_sub_source.cc:294:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::map, other_file_descriptor>::size_type' {aka 'unsigned int'} [-Wsign-compare] 294 | if (line < fc.fc_other_files.size()) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ files_sub_source.cc:313:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::map, other_file_descriptor>::size_type' {aka 'unsigned int'} [-Wsign-compare] 313 | if (line == fc.fc_other_files.size() - 1) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from field_overlay_source.cc:40: ptimec.hh: In function 'void ftime_s(char*, off_t&, ssize_t, const exttm&)': ptimec.hh:334:51: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 334 | snprintf(&dst[off_inout], len - off_inout, "%ld", t); | ~~^ ~ | | | | | time_t {aka long long int} | long int | %lld ptimec.hh: In function 'void ftime_q(char*, off_t&, ssize_t, const exttm&)': ptimec.hh:392:51: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 392 | snprintf(&dst[off_inout], len - off_inout, "%lx", t); | ~~^ ~ | | | | | time_t {aka long long int} | long unsigned int | %llx CXX pollable.o In file included from command_executor.cc:34: command_executor.cc: In function 'Result, lnav::console::user_message> execute_sql(exec_context&, const std::string&, std::string&)': base/ansi_scrubber.hh:40:30: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'time_t' {aka 'long long int'} [-Wformat=] 40 | #define ANSI_CSI "\x1b[" base/ansi_scrubber.hh:43:30: note: in expansion of macro 'ANSI_CSI' 43 | #define ANSI_BOLD_START ANSI_CSI ANSI_BOLD_PARAM ANSI_CHAR_ATTR | ^~~~~~~~ base/ansi_scrubber.hh:49:29: note: in expansion of macro 'ANSI_BOLD_START' 49 | #define ANSI_BOLD(msg) ANSI_BOLD_START msg ANSI_NORM | ^~~~~~~~~~~~~~~ command_executor.cc:508:26: note: in expansion of macro 'ANSI_BOLD' 508 | ANSI_BOLD("%'d") " row%s matched in " ANSI_BOLD( | ^~~~~~~~~ command_executor.cc:509:33: note: format string is defined here 509 | "%ld.%03ld") " seconds", | ~~^ | | | long int | %lld command_executor.cc: In function 'Result, lnav::console::user_message> execute_file(exec_context&, const std::string&)': command_executor.cc:689:57: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'size_t' {aka 'unsigned int'} [-Wformat=] 689 | snprintf(env_arg_name, sizeof(env_arg_name), "%lu", lpc); | ~~^ ~~~ | | | | | size_t {aka unsigned int} | long unsigned int | %u CXX pretty_printer.o CXX ptimec_rt.o lnav.indexing.cc: In member function 'virtual logfile_observer::indexing_result loading_observer::logfile_indexing(const std::shared_ptr&, file_off_t, file_size_t)': lnav.indexing.cc:67:21: warning: comparison of integer expressions of different signedness: 'file_off_t' {aka 'long long int'} and 'file_size_t' {aka 'long long unsigned int'} [-Wsign-compare] 67 | if (off == total) { | ~~~~^~~~~~~~ In file included from lnav_commands.cc:75: ptimec.hh: In function 'void ftime_s(char*, off_t&, ssize_t, const exttm&)': ptimec.hh:334:51: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 334 | snprintf(&dst[off_inout], len - off_inout, "%ld", t); | ~~^ ~ | | | | | time_t {aka long long int} | long int | %lld ptimec.hh: In function 'void ftime_q(char*, off_t&, ssize_t, const exttm&)': ptimec.hh:392:51: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 392 | snprintf(&dst[off_inout], len - off_inout, "%lx", t); | ~~^ ~ | | | | | time_t {aka long long int} | long unsigned int | %llx CXX readline_callbacks.o CXX readline_curses.o In file included from textview_curses.hh:44, from filter_observer.hh:36, from logfile_sub_source.hh:45, from log_vtab_impl.hh:39, from log_search_table.hh:38, from log_search_table.cc:30: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ CXX readline_highlighters.o In file included from network-extension-functions.cc:42: vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = std::__cxx11::basic_string; Args = {const char*}; Return (* f)(Args ...) = sql_gethostbyname; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::__cxx11::basic_string; Args = {const char*}; Return (* f)(Args ...) = sql_gethostbyname]' 496 | }; | ^ network-extension-functions.cc:140:20: required from here 139 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 140 | builder( | ~~~~~~~^ 141 | help_text("gethostbyname", | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 142 | "Get the IP address for the given hostname") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 143 | .sql_function() | ~~~~~~~~~~~~~~~ 144 | .with_prql_path({"net", "gethostbyname"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 145 | .with_parameter({"hostname", "The DNS hostname to lookup."}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 146 | .with_tags({"net"}) | ~~~~~~~~~~~~~~~~~~~ 147 | .with_example({ | ~~~~~~~~~~~~~~~ 148 | "To get the IP address for 'localhost'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 149 | "SELECT gethostbyname('localhost')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 150 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = std::__cxx11::basic_string; Args = {const char*}; Return (* f)(Args ...) = sql_gethostbyaddr; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::__cxx11::basic_string; Args = {const char*}; Return (* f)(Args ...) = sql_gethostbyaddr]' 496 | }; | ^ network-extension-functions.cc:153:20: required from here 152 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 153 | builder( | ~~~~~~~^ 154 | help_text("gethostbyaddr", | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 155 | "Get the hostname for the given IP address") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 156 | .sql_function() | ~~~~~~~~~~~~~~~ 157 | .with_prql_path({"net", "gethostbyaddr"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 158 | .with_parameter({"hostname", "The IP address to lookup."}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 159 | .with_tags({"net"}) | ~~~~~~~~~~~~~~~~~~~ 160 | .with_example({ | ~~~~~~~~~~~~~~~ 161 | "To get the hostname for the IP '127.0.0.1'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 162 | "SELECT gethostbyaddr('127.0.0.1')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 163 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int CXX readline_possibilities.o logfile.cc: In member function 'logfile::message_length_result logfile::message_byte_length(const_iterator, bool)': logfile.cc:1233:20: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'const ssize_t' {aka 'const int'} [-Wsign-compare] 1233 | if (retval > line_buffer::MAX_LINE_BUFFER_SIZE) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lnav_commands.cc: In function 'Result, lnav::console::user_message> com_adjust_log_time(exec_context&, std::string, std::vector >&)': lnav_commands.cc:251:61: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 251 | "info: log timestamps will be adjusted by %ld.%06ld seconds", | ~~^ | | | long int | %lld 252 | time_diff.tv_sec, | ~~~~~~~~~~~~~~~~ | | | time_t {aka long long int} lnav_commands.cc: In function 'Result, lnav::console::user_message> com_unix_time(exec_context&, std::string, std::vector >&)': lnav_commands.cc:309:47: warning: format '%ld' expects argument of type 'long int*', but argument 3 has type 'time_t*' {aka 'long long int*'} [-Wformat=] 309 | } else if (sscanf(args[1].c_str(), "%ld", &u_time)) { | ~~^ ~~~~~~~ | | | | | time_t* {aka long long int*} | long int* | %lld lnav_commands.cc:326:63: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 326 | snprintf(ftime + len, sizeof(ftime) - len, " -- %ld", u_time); | ~~^ ~~~~~~ | | | | | time_t {aka long long int} | long int | %lld lnav_commands.cc: In function 'Result, lnav::console::user_message> com_current_time(exec_context&, std::string, std::vector >&)': lnav_commands.cc:671:55: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 671 | snprintf(ftime + len, sizeof(ftime) - len, " -- %ld", u_time); | ~~^ ~~~~~~ | | | | | time_t {aka long long int} | long int | %lld In file included from log_format.cc:50: ptimec.hh: In function 'void ftime_s(char*, off_t&, ssize_t, const exttm&)': ptimec.hh:334:51: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 334 | snprintf(&dst[off_inout], len - off_inout, "%ld", t); | ~~^ ~ | | | | | time_t {aka long long int} | long int | %lld ptimec.hh: In function 'void ftime_q(char*, off_t&, ssize_t, const exttm&)': ptimec.hh:392:51: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 392 | snprintf(&dst[off_inout], len - off_inout, "%lx", t); | ~~^ ~ | | | | | time_t {aka long long int} | long unsigned int | %llx CXX regex101.client.o log_format.cc: In function 'int read_json_number(yajlpp_parse_context*, const char*, size_t)': log_format.cc:888:32: warning: operation on 'jlu->json_log_userdata::jlu_exttm.exttm::et_nsec' may be undefined [-Wsequence-point] 888 | jlu->jlu_exttm.et_nsec = jlu->jlu_exttm.et_nsec = tv.tv_usec * 1000; | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ log_format.cc: In function 'int rewrite_json_int(yajlpp_parse_context*, long long int)': log_format.cc:1042:32: warning: operation on 'jlu->json_log_userdata::jlu_exttm.exttm::et_nsec' may be undefined [-Wsequence-point] 1042 | jlu->jlu_exttm.et_nsec = jlu->jlu_exttm.et_nsec = tv.tv_usec * 1000; | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ log_format.cc: In function 'int rewrite_json_double(yajlpp_parse_context*, double)': log_format.cc:1094:32: warning: operation on 'jlu->json_log_userdata::jlu_exttm.exttm::et_nsec' may be undefined [-Wsequence-point] 1094 | jlu->jlu_exttm.et_nsec = jlu->jlu_exttm.et_nsec = tv.tv_usec * 1000; | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CXX regex101.import.o data_parser.cc: In member function 'void data_parser::pairup(schema_id_t*, element_list_t&, element_list_t&, int)': data_parser.cc:537:13: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 536 | if ((size_t) this->dp_msg_format_begin | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 537 | < this->dp_scanner->get_input().length()) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CXX regexp_vtab.o CXX relative_time.o In file included from ptimec_rt.cc:32: ptimec.hh: In function 'void ftime_s(char*, off_t&, ssize_t, const exttm&)': ptimec.hh:334:51: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 334 | snprintf(&dst[off_inout], len - off_inout, "%ld", t); | ~~^ ~ | | | | | time_t {aka long long int} | long int | %lld ptimec.hh: In function 'void ftime_q(char*, off_t&, ssize_t, const exttm&)': ptimec.hh:392:51: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 392 | snprintf(&dst[off_inout], len - off_inout, "%lx", t); | ~~^ ~ | | | | | time_t {aka long long int} | long unsigned int | %llx CXX session.export.o CXX session_data.o In file included from textview_curses.hh:44, from filter_observer.hh:36, from logfile_sub_source.hh:45, from logfile_sub_source.cc:33: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ CXX shared_buffer.o lnav.cc: In instantiation of 'looper():: [with auto:11 = logfile_sub_source; auto:12 = long long int; auto:13 = long long unsigned int]': /usr/include/c++/14.2.0/type_traits:2640:26: required by substitution of 'template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = looper()::&; _Args = {logfile_sub_source&, long long int, long long unsigned int}]' 2640 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14.2.0/type_traits:2651:60: required from 'struct std::__result_of_impl&, logfile_sub_source&, long long int, long long unsigned int>' 2651 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/14.2.0/bits/std_function.h:348:9: recursively required by substitution of 'template struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t > [with _Result = std::__invoke_result&, logfile_sub_source&, long long int, long long unsigned int>; _Ret = void]' 348 | struct _Callable | ^~~~~~~~~ /usr/include/c++/14.2.0/bits/std_function.h:348:9: required from 'struct std::function::_Callable, looper()::, std::__invoke_result&, logfile_sub_source&, long long int, long long unsigned int> >' /usr/include/c++/14.2.0/bits/std_function.h:353:41: required by substitution of 'template template using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function::_Callable, looper()::, std::__invoke_result&, logfile_sub_source&, long long int, long long unsigned int> >; _Tp = void; _Res = void; _ArgTypes = {logfile_sub_source&, long long int, long long unsigned int}]' 353 | using _Requires = __enable_if_t<_Cond::value, _Tp>; | ^~~~~ /usr/include/c++/14.2.0/bits/std_function.h:434:9: required by substitution of 'template std::function::function(_Functor&&) [with _Functor = looper()::; _Constraints = ]' 434 | typename _Constraints = _Requires<_Callable<_Functor>>> | ^~~~~~~~ lnav.cc:1049:15: required from here 1049 | }; | ^ lnav.cc:1043:27: warning: comparison of integer expressions of different signedness: 'long long int' and 'long long unsigned int' [-Wsign-compare] 1043 | if (off == size) { | ~~~~^~~~~~~ CXX shlex.o CXX spectro_impls.o CXX spectro_source.o In file included from base/attr_line.hh:42, from md2attr_line.hh:33, from md2attr_line.cc:30: base/intern_string.hh: In instantiation of 'string_fragment string_fragment::find_left_boundary(size_t, P&&, size_t) const [with P = tag1&; size_t = unsigned int]': base/intern_string.hh:371:54: required from 'string_fragment string_fragment::find_boundaries_around(size_t, P&&, size_t) const [with P = tag1; size_t = unsigned int]' 371 | auto left = this->template find_left_boundary(start, predicate, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ md2attr_line.cc:916:72: required from here 916 | auto error_line = sf.find_boundaries_around( | ~~~~~~~~~~~~~~~~~~~~~~~~~^ 917 | load_res.offset, string_fragment::tag1{'\n'}); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ base/intern_string.hh:323:32: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 323 | if (start > 0 && start == this->length()) { | ~~~~~~^~~~~~~~~~~~~~~~~ CXX sqlitepp.o piper.looper.cc: In member function 'void lnav::piper::looper::loop()': piper.looper.cc:331:46: warning: comparison of integer expressions of different signedness: 'off_t' {aka 'long long int'} and 'const uint64_t' {aka 'const long long unsigned int'} [-Wsign-compare] 331 | if (woff > last_woff && woff >= cfg.c_max_size) { | ~~~~~^~~~~~~~~~~~~~~~~ piper.looper.cc:371:29: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 371 | if (prc < sizeof(HEADER_MAGIC)) { | ~~~~^~~~~~~~~~~~~~~~~~~~~~ piper.looper.cc:379:29: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 379 | if (prc < sizeof(meta_size)) { | ~~~~^~~~~~~~~~~~~~~~~~~ piper.looper.cc:387:29: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string::size_type' {aka 'unsigned int'} [-Wsign-compare] 387 | if (prc < hdr_str.size()) { | ~~~~^~~~~~~~~~~~~~~~ CXX sqlite-extension-func.o CXX static_file_vtab.o In file included from textview_curses.hh:44, from plain_text_source.hh:39, from plain_text_source.cc:30: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ CXX statusview_curses.o md2attr_line.cc: In function 'const char* left_border_string(border_line_width)': md2attr_line.cc:568:1: warning: control reaches end of non-void function [-Wreturn-type] 568 | } | ^ md2attr_line.cc: In function 'const char* right_border_string(border_line_width)': md2attr_line.cc:581:1: warning: control reaches end of non-void function [-Wreturn-type] 581 | } | ^ In file included from textview_curses.hh:44, from hist_source.hh:45, from db_sub_source.hh:40, from command_executor.hh:41, from readline_callbacks.cc:35: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ CXX string-extension-functions.o plain_text_source.cc: In member function 'virtual nonstd::optional_lite::optional > plain_text_source::anchor_for_row(vis_line_t)': plain_text_source.cc:472:12: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 472 | if (vl > this->tds_lines.size() | ~~~^~~~~~~~~~~~~~~~~~~~~~~~ plain_text_source.cc: In member function 'virtual nonstd::optional_lite::optional > plain_text_source::adjacent_anchor(vis_line_t, text_anchors::direction)': plain_text_source.cc:510:12: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 510 | if (vl > this->tds_lines.size() | ~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from logfile_sub_source.cc:50: ptimec.hh: In function 'void ftime_s(char*, off_t&, ssize_t, const exttm&)': ptimec.hh:334:51: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 334 | snprintf(&dst[off_inout], len - off_inout, "%ld", t); | ~~^ ~ | | | | | time_t {aka long long int} | long int | %lld ptimec.hh: In function 'void ftime_q(char*, off_t&, ssize_t, const exttm&)': ptimec.hh:392:51: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 392 | snprintf(&dst[off_inout], len - off_inout, "%lx", t); | ~~^ ~ | | | | | time_t {aka long long int} | long unsigned int | %llx CXX styling.o logfile_sub_source.cc: In member function 'virtual void logfile_sub_source::text_crumbs_for_line(int, std::vector&)': logfile_sub_source.cc:2622:29: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 2622 | if (line_number >= msg_line_number) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ CXX text_anonymizer.o relative_time.cc: In member function 'int64_t relative_time::to_microseconds() const': relative_time.cc:1109:15: warning: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'struct exttm'; use assignment or value-initialization instead [-Wclass-memaccess] 1109 | memset(&etm, 0, sizeof(etm)); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~ In file included from relative_time.hh:45, from relative_time.cc:32: base/time_util.hh:125:8: note: 'struct exttm' declared here 125 | struct exttm { | ^~~~~ In file included from textview_curses.hh:44, from readline_possibilities.hh:36, from readline_possibilities.cc:33: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ readline_highlighters.cc: In function 'void find_matching_bracket(attr_line_t&, int, line_range, char, char)': readline_highlighters.cc:87:38: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 87 | for (size_t lpc = x + 1; lpc < sub.lr_end; lpc++) { | ~~~~^~~~~~~~~~~~ readline_highlighters.cc:107:41: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 107 | for (size_t lpc = sub.lr_start; lpc < sub.lr_end; lpc++) { | ~~~~^~~~~~~~~~~~ CXX text_format.o readline_highlighters.cc: In function 'void readline_command_highlighter_int(attr_line_t&, int, line_range)': readline_highlighters.cc:203:26: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 203 | for (; start < sub.length() && isspace(line[start]); start++) | ~~~~~~^~~~~~~~~~~~~~ readline_highlighters.cc:205:37: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 205 | for (last = start; last < sub.length() && !isspace(line[last]); | ~~~~~^~~~~~~~~~~~~~ readline_highlighters.cc:225:24: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 225 | } while (start < sub.length()); | ~~~~~~^~~~~~~~~~~~~~ CXX text_overlay_menu.o CXX textfile_sub_source.o CXX timer.o regexp_vtab.cc: In member function 'int {anonymous}::regexp_capture::cursor::next()': regexp_vtab.cc:99:31: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 99 | if (this->c_index >= (this->c_match_data.get_count() - 1)) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from view_helpers.hh:37, from session_data.hh:42, from regex101.import.cc:40: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ CXX sql_commands.o In file included from textview_curses.hh:44, from bottom_status_source.hh:37, from lnav.hh:44, from session.export.cc:34: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ CXX sql_util.o CXX state-extension-functions.o readline_callbacks.cc: In function 'void rl_search_internal(readline_curses*, ln_mode_t, bool)': readline_callbacks.cc:573:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string::size_type' {aka 'unsigned int'} [-Wsign-compare] 573 | if (cursor_x > orig_prql_stmt.get_string().length()) { | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CXX sysclip.o In file included from view_helpers.hh:37, from session_data.hh:42, from session_data.cc:35: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ CXX textfile_highlighters.o CXX textview_curses.o CXX time-extension-functions.o In file included from textview_curses.hh:44, from spectro_source.hh:42, from spectro_impls.hh:34, from spectro_impls.cc:30: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from bottom_status_source.hh:37, from lnav.hh:44, from static_file_vtab.cc:41: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ CXX top_status_source.o CXX unique_path.o In file included from textview_curses.hh:44, from spectro_source.hh:42, from spectro_source.cc:32: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ CXX view_curses.o spectro_source.cc: In member function 'virtual void spectrogram_source::list_value_for_overlay(const listview_curses&, vis_line_t, std::vector&)': spectro_source.cc:257:31: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'long unsigned int' [-Wsign-compare] 257 | if (desc.length() + 8 > width) { | ~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from spectro_source.cc:34: spectro_source.cc: In member function 'virtual bool spectrogram_source::list_static_overlay(const listview_curses&, int, int, attr_line_t&)': base/ansi_scrubber.hh:40:30: warning: format '%d' expects argument of type 'int', but argument 4 has type 'role_t' [-Wformat=] 40 | #define ANSI_CSI "\x1b[" base/ansi_scrubber.hh:52:31: note: in expansion of macro 'ANSI_CSI' 52 | #define ANSI_ROLE(msg) ANSI_CSI "%dO" msg ANSI_NORM | ^~~~~~~~ spectro_source.cc:609:14: note: in expansion of macro 'ANSI_ROLE' 609 | ANSI_ROLE(" ") " 1-%'d " ANSI_ROLE(" ") " %'d-%'d " ANSI_ROLE( | ^~~~~~~~~ base/ansi_scrubber.hh:52:42: note: format string is defined here 52 | #define ANSI_ROLE(msg) ANSI_CSI "%dO" msg ANSI_NORM | ~^ | | | int base/ansi_scrubber.hh:40:30: warning: format '%d' expects argument of type 'int', but argument 6 has type 'role_t' [-Wformat=] 40 | #define ANSI_CSI "\x1b[" base/ansi_scrubber.hh:52:31: note: in expansion of macro 'ANSI_CSI' 52 | #define ANSI_ROLE(msg) ANSI_CSI "%dO" msg ANSI_NORM | ^~~~~~~~ spectro_source.cc:609:14: note: in expansion of macro 'ANSI_ROLE' 609 | ANSI_ROLE(" ") " 1-%'d " ANSI_ROLE(" ") " %'d-%'d " ANSI_ROLE( | ^~~~~~~~~ base/ansi_scrubber.hh:52:42: note: format string is defined here 52 | #define ANSI_ROLE(msg) ANSI_CSI "%dO" msg ANSI_NORM | ~^ | | | int base/ansi_scrubber.hh:40:30: warning: format '%d' expects argument of type 'int', but argument 9 has type 'role_t' [-Wformat=] 40 | #define ANSI_CSI "\x1b[" base/ansi_scrubber.hh:52:31: note: in expansion of macro 'ANSI_CSI' 52 | #define ANSI_ROLE(msg) ANSI_CSI "%dO" msg ANSI_NORM | ^~~~~~~~ spectro_source.cc:609:14: note: in expansion of macro 'ANSI_ROLE' 609 | ANSI_ROLE(" ") " 1-%'d " ANSI_ROLE(" ") " %'d-%'d " ANSI_ROLE( | ^~~~~~~~~ base/ansi_scrubber.hh:52:42: note: format string is defined here 52 | #define ANSI_ROLE(msg) ANSI_CSI "%dO" msg ANSI_NORM | ~^ | | | int In file included from text_overlay_menu.hh:33, from text_overlay_menu.cc:30: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ CXX view_helpers.o CXX views_vtab.o CXX vt52_curses.o CXX vtab_module.o CXX log_vtab_impl.o CXX xml_util.o CXX xpath_vtab.o In file included from time-extension-functions.cc:42: ptimec.hh: In function 'void ftime_s(char*, off_t&, ssize_t, const exttm&)': ptimec.hh:334:51: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 334 | snprintf(&dst[off_inout], len - off_inout, "%ld", t); | ~~^ ~ | | | | | time_t {aka long long int} | long int | %lld ptimec.hh: In function 'void ftime_q(char*, off_t&, ssize_t, const exttm&)': ptimec.hh:392:51: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 392 | snprintf(&dst[off_inout], len - off_inout, "%lx", t); | ~~^ ~ | | | | | time_t {aka long long int} | long unsigned int | %llx In file included from textview_curses.hh:44, from filter_observer.hh:36, from textfile_sub_source.hh:36, from textfile_sub_source.cc:32: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ CXX xterm_mouse.o In file included from base/attr_line.hh:42, from sql_util.hh:44, from sql_util.cc:35: base/intern_string.hh: In instantiation of 'string_fragment string_fragment::find_left_boundary(size_t, P&&, size_t) const [with P = tag1&; size_t = unsigned int]': base/intern_string.hh:371:54: required from 'string_fragment string_fragment::find_boundaries_around(size_t, P&&, size_t) const [with P = tag1; size_t = unsigned int]' 371 | auto left = this->template find_left_boundary(start, predicate, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ sql_util.cc:678:42: required from here 677 | = string_fragment::from_str(retval.get_string()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 678 | .find_boundaries_around(erroff, string_fragment::tag1{'\n'}); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ base/intern_string.hh:323:32: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 323 | if (start > 0 && start == this->length()) { | ~~~~~~^~~~~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from hist_source.hh:45, from db_sub_source.hh:40, from command_executor.hh:41, from sql_commands.cc:36: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from time-extension-functions.cc:45: vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = nonstd::optional_lite::optional; Args = {sqlite3_value*, nonstd::optional_lite::optional}; Return (* f)(Args ...) = timeslice; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = nonstd::optional_lite::optional; Args = {sqlite3_value*, nonstd::optional_lite::optional}; Return (* f)(Args ...) = timeslice]' 496 | }; | ^ time-extension-functions.cc:263:70: required from here 263 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 264 | help_text( | ~~~~~~~~~~ 265 | "timeslice", | ~~~~~~~~~~~~ 266 | "Return the start of the slice of time that the given " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 267 | "timestamp falls in. " | ~~~~~~~~~~~~~~~~~~~~~~~ 268 | "If the time falls outside of the slice, NULL is returned.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | .sql_function() | ~~~~~~~~~~~~~~~ 270 | .with_prql_path({"time", "slice"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | .with_parameter( | ~~~~~~~~~~~~~~~~ 272 | {"time", "The timestamp to get the time slice for."}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | .with_parameter({"slice", "The size of the time slices"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | .with_tags({"datetime"}) | ~~~~~~~~~~~~~~~~~~~~~~~~ 275 | .with_example({ | ~~~~~~~~~~~~~~~ 276 | "To get the timestamp rounded down to the start of the " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 277 | "ten minute slice", | ~~~~~~~~~~~~~~~~~~~ 278 | "SELECT timeslice('2017-01-01T05:05:00', '10m')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | }) | ~~ 280 | .with_example({ | ~~~~~~~~~~~~~~~ 281 | "To group log messages into five minute buckets and count " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 282 | "them", | ~~~~~~~ 283 | "SELECT timeslice(log_time_msecs, '5m') AS slice, " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | "count(1)\n FROM lnav_example_log GROUP BY slice", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | }) | ~~ 286 | .with_example({ | ~~~~~~~~~~~~~~~ 287 | "To group log messages by those before 4:30am and after", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | "SELECT timeslice(log_time_msecs, 'before 4:30am') AS " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 289 | "slice, count(1) FROM lnav_example_log GROUP BY slice", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = nonstd::optional_lite::optional; Args = {string_fragment, string_fragment}; Return (* f)(Args ...) = sql_timediff; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = nonstd::optional_lite::optional; Args = {string_fragment, string_fragment}; Return (* f)(Args ...) = sql_timediff]' 496 | }; | ^ time-extension-functions.cc:292:76: required from here 292 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 293 | help_text( | ~~~~~~~~~~ 294 | "timediff", | ~~~~~~~~~~~ 295 | "Compute the difference between two timestamps in seconds") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 296 | .sql_function() | ~~~~~~~~~~~~~~~ 297 | .with_prql_path({"time", "diff"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | .with_parameter({"time1", "The first timestamp"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | .with_parameter( | ~~~~~~~~~~~~~~~~ 300 | {"time2", "The timestamp to subtract from the first"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 301 | .with_tags({"datetime"}) | ~~~~~~~~~~~~~~~~~~~~~~~~ 302 | .with_example({ | ~~~~~~~~~~~~~~~ 303 | "To get the difference between two timestamps", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "SELECT timediff('2017-02-03T04:05:06', " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | "'2017-02-03T04:05:00')", | ~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | }) | ~~ 307 | .with_example({ | ~~~~~~~~~~~~~~~ 308 | "To get the difference between relative timestamps", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | "SELECT timediff('today', 'yesterday')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = std::__cxx11::basic_string; Args = {double}; Return (* f)(Args ...) = sql_humanize_duration; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::__cxx11::basic_string; Args = {double}; Return (* f)(Args ...) = sql_humanize_duration]' 496 | }; | ^ time-extension-functions.cc:314:20: required from here 312 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~~~ 314 | builder( | ~~~~~~~^ 315 | help_text("humanize_duration", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 316 | "Format the given seconds value as an abbreviated " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 317 | "duration string") | ~~~~~~~~~~~~~~~~~~ 318 | .sql_function() | ~~~~~~~~~~~~~~~ 319 | .with_prql_path({"humanize", "duration"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 320 | .with_parameter({"secs", "The duration in seconds"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 321 | .with_tags({"datetime", "string"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 322 | .with_example({ | ~~~~~~~~~~~~~~~ 323 | "To format a duration", | ~~~~~~~~~~~~~~~~~~~~~~~ 324 | "SELECT humanize_duration(15 * 60)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 325 | }) | ~~ 326 | .with_example({ | ~~~~~~~~~~~~~~~ 327 | "To format a sub-second value", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 328 | "SELECT humanize_duration(1.5)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 329 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = nonstd::optional_lite::optional >; Args = {std::__cxx11::basic_string, std::allocator >, string_fragment}; Return (* f)(Args ...) = sql_timezone; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = nonstd::optional_lite::optional >; Args = {std::__cxx11::basic_string, std::allocator >, string_fragment}; Return (* f)(Args ...) = sql_timezone]' 496 | }; | ^ time-extension-functions.cc:331:76: required from here 331 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 332 | help_text("timezone", "Convert a timestamp to the given timezone") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 333 | .sql_function() | ~~~~~~~~~~~~~~~ 334 | .with_prql_path({"time", "to_zone"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 335 | .with_parameter({"tz", "The target timezone"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 336 | .with_parameter({"ts", "The source timestamp"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 337 | .with_tags({"datetime", "string"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 338 | .with_example({ | ~~~~~~~~~~~~~~~ 339 | "To convert a time to America/Los_Angeles", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 340 | "SELECT timezone('America/Los_Angeles', " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 341 | "'2022-03-02T10:00')", | ~~~~~~~~~~~~~~~~~~~~~~ 342 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int In file included from string-extension-functions.cc:39: vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = bool; Args = {string_fragment, string_fragment}; Return (* f)(Args ...) = {anonymous}::regexp; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = bool; Args = {string_fragment, string_fragment}; Return (* f)(Args ...) = {anonymous}::regexp]' 496 | }; | ^ string-extension-functions.cc:899:64: required from here 899 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 900 | help_text("regexp", "Test if a string matches a regular expression") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 901 | .sql_function() | ~~~~~~~~~~~~~~~ 902 | .with_parameter({"re", "The regular expression to use"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 903 | .with_parameter({ | ~~~~~~~~~~~~~~~~~ 904 | "str", | ~~~~~~ 905 | "The string to test against the regular expression", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 906 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = mapbox::util::variant; Args = {string_fragment, string_fragment}; Return (* f)(Args ...) = {anonymous}::regexp_match; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = mapbox::util::variant; Args = {string_fragment, string_fragment}; Return (* f)(Args ...) = {anonymous}::regexp_match]' 496 | }; | ^ string-extension-functions.cc:908:76: required from here 908 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 909 | help_text("regexp_match", | ~~~~~~~~~~~~~~~~~~~~~~~~~ 910 | "Match a string against a regular expression and return " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 911 | "the capture groups as JSON.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 912 | .sql_function() | ~~~~~~~~~~~~~~~ 913 | .with_prql_path({"text", "regexp_match"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 914 | .with_parameter({"re", "The regular expression to use"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 915 | .with_parameter({ | ~~~~~~~~~~~~~~~~~ 916 | "str", | ~~~~~~ 917 | "The string to test against the regular expression", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 918 | }) | ~~ 919 | .with_tags({"string", "regex"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 920 | .with_example({ | ~~~~~~~~~~~~~~~ 921 | "To capture the digits from the string '123'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 922 | "SELECT regexp_match('(\\d+)', '123')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 923 | }) | ~~ 924 | .with_example({ | ~~~~~~~~~~~~~~~ 925 | "To capture a number and word into a JSON object with the " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 926 | "properties 'col_0' and 'col_1'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 927 | "SELECT regexp_match('(\\d+) (\\w+)', '123 four')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 928 | }) | ~~ 929 | .with_example({ | ~~~~~~~~~~~~~~~ 930 | "To capture a number and word into a JSON object with the " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 931 | "named properties 'num' and 'str'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 932 | "SELECT regexp_match('(?\\d+) (?\\w+)', '123 " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 933 | "four')", | ~~~~~~~~~ 934 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = std::__cxx11::basic_string; Args = {string_fragment, string_fragment, const char*}; Return (* f)(Args ...) = {anonymous}::regexp_replace; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::__cxx11::basic_string; Args = {string_fragment, string_fragment, const char*}; Return (* f)(Args ...) = {anonymous}::regexp_replace]' 496 | }; | ^ string-extension-functions.cc:936:80: required from here 936 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 937 | help_text("regexp_replace", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 938 | "Replace the parts of a string that match a regular " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 939 | "expression.") | ~~~~~~~~~~~~~~ 940 | .sql_function() | ~~~~~~~~~~~~~~~ 941 | .with_prql_path({"text", "regexp_replace"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 942 | .with_parameter( | ~~~~~~~~~~~~~~~~ 943 | {"str", "The string to perform replacements on"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 944 | .with_parameter({"re", "The regular expression to match"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 945 | .with_parameter({ | ~~~~~~~~~~~~~~~~~ 946 | "repl", | ~~~~~~~ 947 | "The replacement string. " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 948 | "You can reference capture groups with a " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 949 | "backslash followed by the number of the " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 950 | "group, starting with 1.", | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 951 | }) | ~~ 952 | .with_tags({"string", "regex"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 953 | .with_example({ | ~~~~~~~~~~~~~~~ 954 | "To replace the word at the start of the string " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 955 | "'Hello, World!' with 'Goodbye'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 956 | "SELECT regexp_replace('Hello, World!', " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 957 | "'^(\\w+)', 'Goodbye')", | ~~~~~~~~~~~~~~~~~~~~~~~~ 958 | }) | ~~ 959 | .with_example({ | ~~~~~~~~~~~~~~~ 960 | "To wrap alphanumeric words with angle brackets", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 961 | "SELECT regexp_replace('123 abc', '(\\w+)', '<\\1>')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 962 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = std::__cxx11::basic_string; Args = {long long int}; Return (* f)(Args ...) = {anonymous}::sql_humanize_file_size; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::__cxx11::basic_string; Args = {long long int}; Return (* f)(Args ...) = {anonymous}::sql_humanize_file_size]' 496 | }; | ^ string-extension-functions.cc:966:20: required from here 964 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~~~~ 966 | builder(help_text( | ~~~~~~~^~~~~~~~~~~ 967 | "humanize_file_size", | ~~~~~~~~~~~~~~~~~~~~~ 968 | "Format the given file size as a human-friendly string") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 969 | .sql_function() | ~~~~~~~~~~~~~~~ 970 | .with_prql_path({"humanize", "file_size"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 971 | .with_parameter({"value", "The file size to format"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 972 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 973 | .with_example({ | ~~~~~~~~~~~~~~~ 974 | "To format an amount", | ~~~~~~~~~~~~~~~~~~~~~~ 975 | "SELECT humanize_file_size(10 * 1024 * 1024)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 976 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = std::__cxx11::basic_string; Args = {string_fragment}; Return (* f)(Args ...) = sql_humanize_id; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::__cxx11::basic_string; Args = {string_fragment}; Return (* f)(Args ...) = sql_humanize_id]' 496 | }; | ^ string-extension-functions.cc:979:20: required from here 978 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 979 | builder(help_text("humanize_id", | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 980 | "Colorize the given ID using ANSI escape codes.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 981 | .sql_function() | ~~~~~~~~~~~~~~~ 982 | .with_prql_path({"humanize", "id"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 983 | .with_parameter({"id", "The identifier to color"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 984 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 985 | .with_example({ | ~~~~~~~~~~~~~~~ 986 | "To colorize the ID 'cluster1'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 987 | "SELECT humanize_id('cluster1')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 988 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = const std::__cxx11::basic_string&; Args = {double, nonstd::optional_lite::optional}; Return (* f)(Args ...) = humanize::sparkline; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = const std::__cxx11::basic_string&; Args = {double, nonstd::optional_lite::optional}; Return (* f)(Args ...) = humanize::sparkline]' 496 | }; | ^ string-extension-functions.cc:992:20: required from here 990 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~ 992 | builder( | ~~~~~~~^ 993 | help_text("sparkline", | ~~~~~~~~~~~~~~~~~~~~~~ 994 | "Function used to generate a sparkline bar chart. " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 995 | "The non-aggregate version converts a single numeric " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 996 | "value on a range to a bar chart character. The " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 997 | "aggregate version returns a string with a bar " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 998 | "character for every numeric input") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 999 | .sql_function() | ~~~~~~~~~~~~~~~ 1000 | .with_prql_path({"text", "sparkline"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1001 | .with_parameter({"value", "The numeric value to convert"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1002 | .with_parameter(help_text("upper", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1003 | "The upper bound of the numeric " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1004 | "range. The non-aggregate " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1005 | "version defaults to 100. The " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1006 | "aggregate version uses the " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1007 | "largest value in the inputs.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1008 | .optional()) | ~~~~~~~~~~~~ 1009 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1010 | .with_example({ | ~~~~~~~~~~~~~~~ 1011 | "To get the unicode block element for the " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1012 | "value 32 in the " | ~~~~~~~~~~~~~~~~~~ 1013 | "range of 0-128", | ~~~~~~~~~~~~~~~~~ 1014 | "SELECT sparkline(32, 128)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1015 | }) | ~~ 1016 | .with_example({ | ~~~~~~~~~~~~~~~ 1017 | "To chart the values in a JSON array", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1018 | "SELECT sparkline(value) FROM json_each('[0, 1, 2, 3, " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1019 | "4, 5, 6, 7, 8]')", | ~~~~~~~~~~~~~~~~~~~ 1020 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = std::__cxx11::basic_string; Args = {string_fragment}; Return (* f)(Args ...) = {anonymous}::sql_anonymize; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::__cxx11::basic_string; Args = {string_fragment}; Return (* f)(Args ...) = {anonymous}::sql_anonymize]' 496 | }; | ^ string-extension-functions.cc:1022:78: required from here 1022 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1023 | help_text("anonymize", | ~~~~~~~~~~~~~~~~~~~~~~ 1024 | "Replace identifying information with random values.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1025 | .sql_function() | ~~~~~~~~~~~~~~~ 1026 | .with_prql_path({"text", "anonymize"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1027 | .with_parameter({"value", "The text to anonymize"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1028 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1029 | .with_example({ | ~~~~~~~~~~~~~~~ 1030 | "To anonymize an IP address", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1031 | "SELECT anonymize('Hello, 192.168.1.2')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1032 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = json_string; Args = {const char*}; Return (* f)(Args ...) = extract; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = json_string; Args = {const char*}; Return (* f)(Args ...) = extract]' 496 | }; | ^ string-extension-functions.cc:1034:66: required from here 1034 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1035 | help_text("extract", | ~~~~~~~~~~~~~~~~~~~~ 1036 | "Automatically Parse and extract data from a string") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1037 | .sql_function() | ~~~~~~~~~~~~~~~ 1038 | .with_prql_path({"text", "discover"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1039 | .with_parameter({"str", "The string to parse"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1040 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1041 | .with_example({ | ~~~~~~~~~~~~~~~ 1042 | "To extract key/value pairs from a string", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1043 | "SELECT extract('foo=1 bar=2 name=\"Rolo Tomassi\"')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1044 | }) | ~~ 1045 | .with_example({ | ~~~~~~~~~~~~~~~ 1046 | "To extract columnar data from a string", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1047 | "SELECT extract('1.0 abc 2.0')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1048 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = json_string; Args = {string_fragment}; Return (* f)(Args ...) = {anonymous}::logfmt2json; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = json_string; Args = {string_fragment}; Return (* f)(Args ...) = {anonymous}::logfmt2json]' 496 | }; | ^ string-extension-functions.cc:1050:74: required from here 1050 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1051 | help_text("logfmt2json", | ~~~~~~~~~~~~~~~~~~~~~~~~ 1052 | "Convert a logfmt-encoded string into JSON") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1053 | .sql_function() | ~~~~~~~~~~~~~~~ 1054 | .with_prql_path({"logfmt", "to_json"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1055 | .with_parameter({"str", "The logfmt message to parse"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1056 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1057 | .with_example({ | ~~~~~~~~~~~~~~~ 1058 | "To extract key/value pairs from a log message", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1059 | "SELECT logfmt2json('foo=1 bar=2 name=\"Rolo Tomassi\"')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1060 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = bool; Args = {const char*, const char*}; Return (* f)(Args ...) = startswith; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = bool; Args = {const char*, const char*}; Return (* f)(Args ...) = startswith]' 496 | }; | ^ string-extension-functions.cc:1066:20: required from here 1062 | sqlite_func_adapter< | ~~~~~~~~~~~~~~~~~~~~ 1063 | decltype(static_cast( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1064 | &startswith)), | ~~~~~~~~~~~~~~ 1065 | startswith>:: | ~~~~~~~~~~~~~ 1066 | builder(help_text("startswith", | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ 1067 | "Test if a string begins with the given prefix") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1068 | .sql_function() | ~~~~~~~~~~~~~~~ 1069 | .with_parameter({"str", "The string to test"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1070 | .with_parameter( | ~~~~~~~~~~~~~~~~ 1071 | {"prefix", "The prefix to check in the string"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1072 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1073 | .with_example({ | ~~~~~~~~~~~~~~~ 1074 | "To test if the string 'foobar' starts with 'foo'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1075 | "SELECT startswith('foobar', 'foo')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1076 | }) | ~~ 1077 | .with_example({ | ~~~~~~~~~~~~~~~ 1078 | "To test if the string 'foobar' starts with 'bar'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1079 | "SELECT startswith('foobar', 'bar')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1080 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = bool; Args = {const char*, const char*}; Return (* f)(Args ...) = endswith; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = bool; Args = {const char*, const char*}; Return (* f)(Args ...) = endswith]' 496 | }; | ^ string-extension-functions.cc:1085:20: required from here 1082 | sqlite_func_adapter(&endswith)), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1084 | endswith>:: | ~~~~~~~~~~~ 1085 | builder( | ~~~~~~~^ 1086 | help_text("endswith", | ~~~~~~~~~~~~~~~~~~~~~ 1087 | "Test if a string ends with the given suffix") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1088 | .sql_function() | ~~~~~~~~~~~~~~~ 1089 | .with_parameter({"str", "The string to test"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1090 | .with_parameter( | ~~~~~~~~~~~~~~~~ 1091 | {"suffix", "The suffix to check in the string"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1092 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1093 | .with_example({ | ~~~~~~~~~~~~~~~ 1094 | "To test if the string 'notbad.jpg' ends with '.jpg'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1095 | "SELECT endswith('notbad.jpg', '.jpg')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1096 | }) | ~~ 1097 | .with_example({ | ~~~~~~~~~~~~~~~ 1098 | "To test if the string 'notbad.png' starts with '.jpg'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1099 | "SELECT endswith('notbad.png', '.jpg')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1100 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = std::__cxx11::basic_string; Args = {const std::vector >&}; Return (* f)(Args ...) = {anonymous}::spooky_hash; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::__cxx11::basic_string; Args = {const std::vector >&}; Return (* f)(Args ...) = {anonymous}::spooky_hash]' 496 | }; | ^ string-extension-functions.cc:1102:74: required from here 1102 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1103 | help_text("spooky_hash", | ~~~~~~~~~~~~~~~~~~~~~~~~ 1104 | "Compute the hash value for the given arguments.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1105 | .sql_function() | ~~~~~~~~~~~~~~~ 1106 | .with_parameter( | ~~~~~~~~~~~~~~~~ 1107 | help_text("str", "The string to hash").one_or_more()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1108 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1109 | .with_example({ | ~~~~~~~~~~~~~~~ 1110 | "To produce a hash for the string 'Hello, World!'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1111 | "SELECT spooky_hash('Hello, World!')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1112 | }) | ~~ 1113 | .with_example({ | ~~~~~~~~~~~~~~~ 1114 | "To produce a hash for the parameters where one is NULL", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1115 | "SELECT spooky_hash('Hello, World!', NULL)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1116 | }) | ~~ 1117 | .with_example({ | ~~~~~~~~~~~~~~~ 1118 | "To produce a hash for the parameters where one " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1119 | "is an empty string", | ~~~~~~~~~~~~~~~~~~~~~ 1120 | "SELECT spooky_hash('Hello, World!', '')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1121 | }) | ~~ 1122 | .with_example({ | ~~~~~~~~~~~~~~~ 1123 | "To produce a hash for the parameters where one " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1124 | "is a number", | ~~~~~~~~~~~~~~ 1125 | "SELECT spooky_hash('Hello, World!', 123)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1126 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = nonstd::optional_lite::optional >; Args = {sqlite3_value*}; Return (* f)(Args ...) = {anonymous}::sql_gunzip; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = nonstd::optional_lite::optional >; Args = {sqlite3_value*}; Return (* f)(Args ...) = {anonymous}::sql_gunzip]' 496 | }; | ^ string-extension-functions.cc:1128:72: required from here 1128 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1129 | help_text("gunzip", "Decompress a gzip file") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1130 | .sql_function() | ~~~~~~~~~~~~~~~ 1131 | .with_parameter( | ~~~~~~~~~~~~~~~~ 1132 | help_text("b", "The blob to decompress").one_or_more()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1133 | .with_tags({"string"})), | ~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = nonstd::optional_lite::optional; Args = {sqlite3_value*}; Return (* f)(Args ...) = {anonymous}::sql_gzip; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = nonstd::optional_lite::optional; Args = {sqlite3_value*}; Return (* f)(Args ...) = {anonymous}::sql_gzip]' 496 | }; | ^ string-extension-functions.cc:1135:68: required from here 1135 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1136 | help_text("gzip", "Compress a string into a gzip file") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1137 | .sql_function() | ~~~~~~~~~~~~~~~ 1138 | .with_parameter( | ~~~~~~~~~~~~~~~~ 1139 | help_text("value", "The value to compress").one_or_more()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1140 | .with_tags({"string"})), | ~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = mapbox::util::variant, null_value_t>; Args = {sqlite3_value*, encode_algo}; Return (* f)(Args ...) = {anonymous}::sql_encode; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = mapbox::util::variant, null_value_t>; Args = {sqlite3_value*, encode_algo}; Return (* f)(Args ...) = {anonymous}::sql_encode]' 496 | }; | ^ string-extension-functions.cc:1142:72: required from here 1142 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1143 | help_text("encode", "Encode the value using the given algorithm") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1144 | .sql_function() | ~~~~~~~~~~~~~~~ 1145 | .with_parameter(help_text("value", "The value to encode")) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1146 | .with_parameter(help_text("algorithm", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | "One of the following encoding " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1148 | "algorithms: base64, hex, uri")) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1149 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1150 | .with_example({ | ~~~~~~~~~~~~~~~ 1151 | "To base64-encode 'Hello, World!'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1152 | "SELECT encode('Hello, World!', 'base64')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1153 | }) | ~~ 1154 | .with_example({ | ~~~~~~~~~~~~~~~ 1155 | "To hex-encode 'Hello, World!'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1156 | "SELECT encode('Hello, World!', 'hex')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1157 | }) | ~~ 1158 | .with_example({ | ~~~~~~~~~~~~~~~ 1159 | "To URI-encode 'Hello, World!'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1160 | "SELECT encode('Hello, World!', 'uri')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1161 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = mapbox::util::variant >; Args = {string_fragment, encode_algo}; Return (* f)(Args ...) = {anonymous}::sql_decode; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = mapbox::util::variant >; Args = {string_fragment, encode_algo}; Return (* f)(Args ...) = {anonymous}::sql_decode]' 496 | }; | ^ string-extension-functions.cc:1163:72: required from here 1163 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1164 | help_text("decode", "Decode the value using the given algorithm") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1165 | .sql_function() | ~~~~~~~~~~~~~~~ 1166 | .with_parameter(help_text("value", "The value to decode")) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1167 | .with_parameter(help_text("algorithm", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1168 | "One of the following encoding " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1169 | "algorithms: base64, hex, uri")) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1170 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1171 | .with_example({ | ~~~~~~~~~~~~~~~ 1172 | "To decode the URI-encoded string '%63%75%72%6c'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1173 | "SELECT decode('%63%75%72%6c', 'uri')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1174 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = json_string; Args = {std::__cxx11::basic_string, std::allocator >}; Return (* f)(Args ...) = {anonymous}::sql_parse_url; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = json_string; Args = {std::__cxx11::basic_string, std::allocator >}; Return (* f)(Args ...) = {anonymous}::sql_parse_url]' 496 | }; | ^ string-extension-functions.cc:1176:78: required from here 1176 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1177 | help_text("parse_url", | ~~~~~~~~~~~~~~~~~~~~~~ 1178 | "Parse a URL and return the components in a JSON object. " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1179 | "Limitations: not all URL schemes are supported and " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1180 | "repeated query parameters are not captured.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1181 | .sql_function() | ~~~~~~~~~~~~~~~ 1182 | .with_parameter(help_text("url", "The URL to parse")) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1183 | .with_result({ | ~~~~~~~~~~~~~~ 1184 | "scheme", | ~~~~~~~~~ 1185 | "The URL's scheme", | ~~~~~~~~~~~~~~~~~~~ 1186 | }) | ~~ 1187 | .with_result({ | ~~~~~~~~~~~~~~ 1188 | "username", | ~~~~~~~~~~~ 1189 | "The name of the user specified in the URL", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1190 | }) | ~~ 1191 | .with_result({ | ~~~~~~~~~~~~~~ 1192 | "password", | ~~~~~~~~~~~ 1193 | "The password specified in the URL", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1194 | }) | ~~ 1195 | .with_result({ | ~~~~~~~~~~~~~~ 1196 | "host", | ~~~~~~~ 1197 | "The host name / IP specified in the URL", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1198 | }) | ~~ 1199 | .with_result({ | ~~~~~~~~~~~~~~ 1200 | "port", | ~~~~~~~ 1201 | "The port specified in the URL", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1202 | }) | ~~ 1203 | .with_result({ | ~~~~~~~~~~~~~~ 1204 | "path", | ~~~~~~~ 1205 | "The path specified in the URL", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1206 | }) | ~~ 1207 | .with_result({ | ~~~~~~~~~~~~~~ 1208 | "query", | ~~~~~~~~ 1209 | "The query string in the URL", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1210 | }) | ~~ 1211 | .with_result({ | ~~~~~~~~~~~~~~ 1212 | "parameters", | ~~~~~~~~~~~~~ 1213 | "An object containing the query parameters", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1214 | }) | ~~ 1215 | .with_result({ | ~~~~~~~~~~~~~~ 1216 | "fragment", | ~~~~~~~~~~~ 1217 | "The fragment specified in the URL", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1218 | }) | ~~ 1219 | .with_tags({"string", "url"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1220 | .with_example({ | ~~~~~~~~~~~~~~~ 1221 | "To parse the URL " | ~~~~~~~~~~~~~~~~~~~ 1222 | "'https://example.com/search?q=hello%20world'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1223 | "SELECT " | ~~~~~~~~~ 1224 | "parse_url('https://example.com/search?q=hello%20world')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1225 | }) | ~~ 1226 | .with_example({ | ~~~~~~~~~~~~~~~ 1227 | "To parse the URL " | ~~~~~~~~~~~~~~~~~~~ 1228 | "'https://alice@[fe80::14ff:4ee5:1215:2fb2]'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1229 | "SELECT " | ~~~~~~~~~ 1230 | "parse_url('https://alice@[fe80::14ff:4ee5:1215:2fb2]')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1231 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = auto_mem; Args = {string_fragment}; Return (* f)(Args ...) = {anonymous}::sql_unparse_url; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = auto_mem; Args = {string_fragment}; Return (* f)(Args ...) = {anonymous}::sql_unparse_url]' 496 | }; | ^ string-extension-functions.cc:1234:20: required from here 1233 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1234 | builder( | ~~~~~~~^ 1235 | help_text("unparse_url", | ~~~~~~~~~~~~~~~~~~~~~~~~ 1236 | "Convert a JSON object containing the parts of a " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1237 | "URL into a URL string") | ~~~~~~~~~~~~~~~~~~~~~~~~ 1238 | .sql_function() | ~~~~~~~~~~~~~~~ 1239 | .with_parameter(help_text( | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 1240 | "obj", "The JSON object containing the URL parts")) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1241 | .with_tags({"string", "url"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1242 | .with_example({ | ~~~~~~~~~~~~~~~ 1243 | "To unparse the object " | ~~~~~~~~~~~~~~~~~~~~~~~~ 1244 | "'{\"scheme\": \"https\", \"host\": \"example.com\"}'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1245 | "SELECT " | ~~~~~~~~~ 1246 | "unparse_url('{\"scheme\": \"https\", \"host\": " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1247 | "\"example.com\"}')", | ~~~~~~~~~~~~~~~~~~~~~ 1248 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int In file included from textview_curses.hh:44, from bottom_status_source.hh:37, from lnav.hh:44, from state-extension-functions.cc:38: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func2(sqlite3_context*, int, sqlite3_value**, std::index_sequence) [with unsigned int ...Idx = {0, 1}; Return = const std::__cxx11::basic_string&; Args = {double, nonstd::optional_lite::optional}; Return (* f)(Args ...) = humanize::sparkline; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value; std::index_sequence = std::integer_sequence]': vtab_module.hh:482:14: required from 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = const std::__cxx11::basic_string&; Args = {double, nonstd::optional_lite::optional}; Return (* f)(Args ...) = humanize::sparkline; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]' 482 | func2(context, argc, argv, std::make_index_sequence{}); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = const std::__cxx11::basic_string&; Args = {double, nonstd::optional_lite::optional}; Return (* f)(Args ...) = humanize::sparkline]' 496 | }; | ^ string-extension-functions.cc:992:20: required from here 990 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~ 992 | builder( | ~~~~~~~^ 993 | help_text("sparkline", | ~~~~~~~~~~~~~~~~~~~~~~ 994 | "Function used to generate a sparkline bar chart. " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 995 | "The non-aggregate version converts a single numeric " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 996 | "value on a range to a bar chart character. The " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 997 | "aggregate version returns a string with a bar " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 998 | "character for every numeric input") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 999 | .sql_function() | ~~~~~~~~~~~~~~~ 1000 | .with_prql_path({"text", "sparkline"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1001 | .with_parameter({"value", "The numeric value to convert"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1002 | .with_parameter(help_text("upper", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1003 | "The upper bound of the numeric " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1004 | "range. The non-aggregate " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1005 | "version defaults to 100. The " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1006 | "aggregate version uses the " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1007 | "largest value in the inputs.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1008 | .optional()) | ~~~~~~~~~~~~ 1009 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1010 | .with_example({ | ~~~~~~~~~~~~~~~ 1011 | "To get the unicode block element for the " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1012 | "value 32 in the " | ~~~~~~~~~~~~~~~~~~ 1013 | "range of 0-128", | ~~~~~~~~~~~~~~~~~ 1014 | "SELECT sparkline(32, 128)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1015 | }) | ~~ 1016 | .with_example({ | ~~~~~~~~~~~~~~~ 1017 | "To chart the values in a JSON array", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1018 | "SELECT sparkline(value) FROM json_each('[0, 1, 2, 3, " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1019 | "4, 5, 6, 7, 8]')", | ~~~~~~~~~~~~~~~~~~~ 1020 | })), | ~~~ vtab_module.hh:411:20: warning: possibly dangling reference to a temporary [-Wdangling-reference] 411 | Return retval = f(from_sqlite()(argc, argv, Idx)...); | ^~~~~~ string-extension-functions.cc:991:48: note: the temporary was destroyed at the end of the full expression 'humanize::sparkline(from_sqlite().from_sqlite::operator()(argc, argv, 0), nonstd::optional_lite::optional(from_sqlite >::operator()(int, sqlite3_value**, int) [with T = double; sqlite3_value = sqlite3_value](argc, argv, 1)))' 991 | humanize::sparkline>:: | ^ CXX yaml-extension-functions.o textfile_sub_source.cc: In member function 'virtual void textfile_sub_source::text_value_for_line(textview_curses&, int, std::string&, text_sub_source::line_flags_t)': textfile_sub_source.cc:136:32: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 136 | if (lfo == nullptr || line >= lfo->lfo_filter_state.tfs_index.size()) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ textfile_sub_source.cc: In member function 'virtual void textfile_sub_source::text_attrs_for_line(textview_curses&, int, string_attrs_t&)': textfile_sub_source.cc:189:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 189 | && row < lfo->lfo_filter_state.tfs_index.size()) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CXX animals-json.o textfile_sub_source.cc: In member function 'virtual size_t textfile_sub_source::text_size_for_line(textview_curses&, int, text_sub_source::line_flags_t)': textfile_sub_source.cc:295:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 295 | || line >= lfo->lfo_filter_state.tfs_index.size()) | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ textfile_sub_source.cc: In member function 'virtual void textfile_sub_source::scroll_invoked(textview_curses*)': textfile_sub_source.cc:441:17: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 441 | || line >= lfo->lfo_filter_state.tfs_index.size()) | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from textview_curses.hh:44, from textview_curses.cc:33: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ textfile_sub_source.cc: In member function 'virtual void textfile_sub_source::text_crumbs_for_line(int, std::vector&)': textfile_sub_source.cc:552:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 552 | if (line < 0 || line >= lfo->lfo_filter_state.tfs_index.size()) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ textfile_sub_source.cc:572:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 572 | if (line < 0 || line >= lfo->lfo_filter_state.tfs_index.size()) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CXX ansi-palette-json.o textfile_sub_source.cc: In member function 'textfile_sub_source::rescan_result_t textfile_sub_source::rescan_files(scan_callback&, nonstd::optional_lite::optional > > >)': textfile_sub_source.cc:817:42: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare] 817 | if (consumed < content_sf.length() | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ CXX builtin-scripts.o textfile_sub_source.cc: In member function 'virtual nonstd::optional_lite::optional > textfile_sub_source::adjacent_anchor(vis_line_t, text_anchors::direction)': textfile_sub_source.cc:1194:12: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 1194 | if (vl >= lfo->lfo_filter_state.tfs_index.size() | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CXX builtin-sh-scripts.o textfile_sub_source.cc: In member function 'virtual nonstd::optional_lite::optional > textfile_sub_source::anchor_for_row(vis_line_t)': textfile_sub_source.cc:1320:12: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 1320 | if (vl >= lfo->lfo_filter_state.tfs_index.size()) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CXX css-color-names-json.o CXX default-config.o textview_curses.cc: In member function 'virtual bool textview_curses::handle_mouse(mouse_event&)': textview_curses.cc:421:47: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector >::size_type' {aka 'unsigned int'} [-Wsign-compare] 421 | auto mouse_line = (me.me_y < 0 || me.me_y >= this->lv_display_lines.size()) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ textview_curses.cc:607:44: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare] 607 | } else if (me.me_x >= width - 1) { | ~~~~~~~~^~~~~~~~~~~~ In file included from textview_curses.hh:44, from bottom_status_source.hh:37, from lnav.hh:44, from top_status_source.cc:33: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ view_curses.cc: In member function 'virtual bool view_curses::contains(int, int) const': view_curses.cc:210:20: warning: comparison of integer expressions of different signedness: 'const unsigned int' and 'int' [-Wsign-compare] 210 | if (this->vc_x <= x | ~~~~~~~~~~~^~~~ view_curses.cc:211:37: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare] 211 | && (this->vc_width < 0 || x < this->vc_x + this->vc_width) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ view_curses.cc: In static member function 'static view_curses::mvwattrline_result view_curses::mvwattrline(WINDOW*, int, int, attr_line_t&, const line_range&, role_t)': view_curses.cc:560:21: warning: comparison of integer expressions of different signedness: 'short int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 559 | && desired_bg | ~~~~~~~~~~ 560 | < view_colors::vc_active_palette->tc_palette.size()) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ view_curses.cc:575:24: warning: comparison of integer expressions of different signedness: 'short int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 574 | && fg_color[lpc] | ~~~~~~~~~~~~~ 575 | < view_colors::vc_active_palette->tc_palette.size() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ view_curses.cc:579:24: warning: comparison of integer expressions of different signedness: 'nonstd::optional_lite::optional::value_type' {aka 'short int'} and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 578 | && base_attrs.ta_bg_color.value_or(0) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 579 | < view_colors::vc_active_palette->tc_palette.size()) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CXX default-formats.o CXX diseases-json.o In file included from view_helpers.hh:37, from view_helpers.cc:30: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ CXX emojis-json.o CXX words-json.o CXX help-md.o CXX init-sql.o CXX prql-modules.o CXX time_fmts.o In file included from textview_curses.hh:44, from bottom_status_source.hh:37, from lnav.hh:44, from views_vtab.cc:40: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ CXX xml-entities-json.o CXX xterm-palette-json.o CXX data_scanner.o CXX data_scanner_re.o CC test_override.o In file included from state-extension-functions.cc:41: vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = nonstd::optional_lite::optional; Args = {}; Return (* f)(Args ...) = sql_log_top_line; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = nonstd::optional_lite::optional; Args = {}; Return (* f)(Args ...) = sql_log_top_line]' 496 | }; | ^ state-extension-functions.cc:160:20: required from here 159 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 160 | builder( | ~~~~~~~^ 161 | help_text( | ~~~~~~~~~~ 162 | "log_top_line", | ~~~~~~~~~~~~~~~ 163 | "Return the number of the focused line of the log view.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 164 | .sql_function() | ~~~~~~~~~~~~~~~ 165 | .with_prql_path({"lnav", "view", "top_line"})), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = nonstd::optional_lite::optional; Args = {}; Return (* f)(Args ...) = sql_log_msg_line; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = nonstd::optional_lite::optional; Args = {}; Return (* f)(Args ...) = sql_log_msg_line]' 496 | }; | ^ state-extension-functions.cc:168:20: required from here 167 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 168 | builder(help_text("log_msg_line", | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ 169 | "Return the starting line number of the focused " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 170 | "log message.") | ~~~~~~~~~~~~~~~ 171 | .sql_function() | ~~~~~~~~~~~~~~~ 172 | .with_prql_path({"lnav", "view", "msg_line"})), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = nonstd::optional_lite::optional >; Args = {}; Return (* f)(Args ...) = sql_log_top_datetime; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = nonstd::optional_lite::optional >; Args = {}; Return (* f)(Args ...) = sql_log_top_datetime]' 496 | }; | ^ state-extension-functions.cc:176:20: required from here 174 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~~ 176 | builder(help_text("log_top_datetime", | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 177 | "Return the timestamp of the line at the top of " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 178 | "the log view.") | ~~~~~~~~~~~~~~~~ 179 | .sql_function() | ~~~~~~~~~~~~~~~ 180 | .with_prql_path({"lnav", "view", "top_datetime"})), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = nonstd::optional_lite::optional >; Args = {}; Return (* f)(Args ...) = sql_lnav_top_file; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = nonstd::optional_lite::optional >; Args = {}; Return (* f)(Args ...) = sql_lnav_top_file]' 496 | }; | ^ state-extension-functions.cc:183:20: required from here 182 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 183 | builder(help_text("lnav_top_file", | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ 184 | "Return the name of the file that the top line " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 185 | "in the current view came from.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 186 | .sql_function() | ~~~~~~~~~~~~~~~ 187 | .with_prql_path({"lnav", "view", "top_file"})), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = const char*; Args = {}; Return (* f)(Args ...) = sql_lnav_version; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = const char*; Args = {}; Return (* f)(Args ...) = sql_lnav_version]' 496 | }; | ^ state-extension-functions.cc:190:20: required from here 189 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | builder( | ~~~~~~~^ 191 | help_text("lnav_version", "Return the current version of lnav") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 192 | .sql_function() | ~~~~~~~~~~~~~~~ 193 | .with_prql_path({"lnav", "version"})), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = long long int; Args = {const char*, nonstd::optional_lite::optional}; Return (* f)(Args ...) = sql_error; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = long long int; Args = {const char*, nonstd::optional_lite::optional}; Return (* f)(Args ...) = sql_error]' 496 | }; | ^ state-extension-functions.cc:195:70: required from here 195 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 196 | help_text("raise_error", | ~~~~~~~~~~~~~~~~~~~~~~~~ 197 | "Raises an error with the given message when executed") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 198 | .sql_function() | ~~~~~~~~~~~~~~~ 199 | .with_parameter({"msg", "The error message"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 200 | .with_parameter( | ~~~~~~~~~~~~~~~~ 201 | help_text("reason", "The reason the error occurred") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 202 | .optional()) | ~~~~~~~~~~~~ 203 | .with_example({ | ~~~~~~~~~~~~~~~ 204 | "To raise an error if a variable is not set", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 205 | "SELECT ifnull($val, raise_error('please set $val', " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | "'because'))", | ~~~~~~~~~~~~~~ 207 | })) | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = nonstd::optional_lite::optional >; Args = {nonstd::optional_lite::optional, std::allocator > >}; Return (* f)(Args ...) = sql_echoln; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = nonstd::optional_lite::optional >; Args = {nonstd::optional_lite::optional, std::allocator > >}; Return (* f)(Args ...) = sql_echoln]' 496 | }; | ^ state-extension-functions.cc:210:72: required from here 210 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 211 | help_text("echoln", | ~~~~~~~~~~~~~~~~~~~ 212 | "Echo the argument to the current output file and return " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 213 | "it") | ~~~~~ 214 | .sql_function() | ~~~~~~~~~~~~~~~ 215 | .with_parameter( | ~~~~~~~~~~~~~~~~ 216 | {"value", "The value to write to the current output file"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 217 | .with_tags({"io"})) | ~~~~~~~~~~~~~~~~~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int CC third-party/md4c/md4c.o CXX third-party/prqlc-c/prqlc.cxx.o CC third-party/sqlite/ext/dbdump.o CC third-party/sqlite/ext/series.o CXX spookyhash/SpookyV2.o In file included from textview_curses.hh:44, from filter_observer.hh:36, from logfile_sub_source.hh:45, from log_vtab_impl.hh:39, from log_vtab_impl.cc:30: listview_curses.hh: In member function 'int listview_curses::shift_left(int)': listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from time_fmts.cc:3: ptimec.hh: In function 'void ftime_s(char*, off_t&, ssize_t, const exttm&)': ptimec.hh:334:51: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 334 | snprintf(&dst[off_inout], len - off_inout, "%ld", t); | ~~^ ~ | | | | | time_t {aka long long int} | long int | %lld ptimec.hh: In function 'void ftime_q(char*, off_t&, ssize_t, const exttm&)': ptimec.hh:392:51: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 392 | snprintf(&dst[off_inout], len - off_inout, "%lx", t); | ~~^ ~ | | | | | time_t {aka long long int} | long unsigned int | %llx In file included from big_array.hh:38, from logfile_sub_source.hh:42: log_vtab_impl.cc: In function 'int vt_next_no_rowid(sqlite3_vtab_cursor*)': log_vtab_impl.cc:581:49: warning: comparison of integer expressions of different signedness: 'const int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 581 | require(vc->log_cursor.lc_curr_line < vt->lss->text_line_count()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ base/lnav_log.hh:124:30: note: in definition of macro 'require' 124 | #define require(e) ((void) ((e) ? 0 : lnav_require(#e, __FILE__, __LINE__))) | ^ log_vtab_impl.cc: In function 'int vt_filter(sqlite3_vtab_cursor*, int, const char*, int, sqlite3_value**)': log_vtab_impl.cc:1688:41: warning: comparison of integer expressions of different signedness: 'const int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 1688 | && max_indexed_line.value() < vt->lss->text_line_count()) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ yaml-extension-functions.cc: In function 'void ryml_error_to_um(const char*, size_t, c4::yml::Location, void*)': yaml-extension-functions.cc:51:20: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 51 | if (loc.offset == sf.length()) { | ~~~~~~~~~~~^~~~~~~~~~~~~~ In file included from yaml-extension-functions.cc:38: vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = json_string; Args = {string_fragment}; Return (* f)(Args ...) = yaml_to_json; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:496:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = json_string; Args = {string_fragment}; Return (* f)(Args ...) = yaml_to_json]' 496 | }; | ^ yaml-extension-functions.cc:86:76: required from here 86 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 87 | help_text("yaml_to_json", | ~~~~~~~~~~~~~~~~~~~~~~~~~ 88 | "Convert a YAML document to a JSON-encoded string") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 89 | .sql_function() | ~~~~~~~~~~~~~~~ 90 | .with_prql_path({"yaml", "to_json"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | .with_parameter({"yaml", "The YAML value to convert to JSON."}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | .with_tags({"json", "yaml"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 93 | .with_example({ | ~~~~~~~~~~~~~~~ 94 | "To convert the document \"abc: def\"", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 95 | "SELECT yaml_to_json('abc: def')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 96 | })), | ~~~ vtab_module.hh:457:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 457 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 458 | fd->fd_help.ht_name, 459 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 465 | fd->fd_help.ht_name, 466 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:464:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 464 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 467 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int In function 'md_is_link_reference_definition', inlined from 'md_consume_link_reference_definitions' at third-party/md4c/md4c.c:5081:28, inlined from 'md_end_current_block' at third-party/md4c/md4c.c:5130:13: third-party/md4c/md4c.c:2239:7: warning: 'label_contents_line_index' may be used uninitialized [-Wmaybe-uninitialized] 2239 | if(label_is_multiline) { | ^ third-party/md4c/md4c.c: In function 'md_end_current_block': third-party/md4c/md4c.c:2158:13: note: 'label_contents_line_index' was declared here 2158 | MD_SIZE label_contents_line_index; | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/14.2.0/bits/stl_algobase.h:67, from /usr/include/c++/14.2.0/algorithm:60, from session_data.cc:32: In constructor '__gnu_cxx::__normal_iterator<_Iterator, _Container>::__normal_iterator(const _Iterator&) [with _Iterator = const std::__cxx11::basic_string*; _Container = std::vector >]', inlined from 'std::vector<_Tp, _Alloc>::const_iterator std::vector<_Tp, _Alloc>::end() const [with _Tp = std::__cxx11::basic_string; _Alloc = std::allocator >]' at /usr/include/c++/14.2.0/bits/stl_vector.h:904:54, inlined from 'void save_user_bookmarks(sqlite3*, sqlite3_stmt*, bookmark_vector >&)' at session_data.cc:1083:54: /usr/include/c++/14.2.0/bits/stl_iterator.h:1068:9: warning: '*(bookmark_metadata**)((char*)&line_meta_opt + offsetof(nonstd::optional_lite::optional,nonstd::optional_lite::optional::contained))' may be used uninitialized [-Wmaybe-uninitialized] 1068 | : _M_current(__i) { } | ^~~~~~~~~~~~~~~ session_data.cc: In function 'void save_user_bookmarks(sqlite3*, sqlite3_stmt*, bookmark_vector >&)': session_data.cc:1004:14: note: '*(bookmark_metadata**)((char*)&line_meta_opt + offsetof(nonstd::optional_lite::optional,nonstd::optional_lite::optional::contained))' was declared here 1004 | auto line_meta_opt = lss.find_bookmark_metadata(cl); | ^~~~~~~~~~~~~ In file included from base/auto_fd.hh:39, from base/fs_util.hh:37, from log_format.cc:37: In member function 'const char* string_fragment::data() const', inlined from 'virtual log_format::scan_result_t external_log_format::scan(logfile&, std::vector&, const line_info&, shared_buffer_ref&, scan_batch_context&)' at log_format.cc:1399:46: ./base/intern_string.hh:147:70: warning: '*(const string_fragment*)((char*)&ts + offsetof(nonstd::optional_lite::optional,nonstd::optional_lite::optional::contained)).string_fragment::sf_string' may be used uninitialized [-Wmaybe-uninitialized] 147 | const char* data() const { return &this->sf_string[this->sf_begin]; } | ^ log_format.cc: In member function 'virtual log_format::scan_result_t external_log_format::scan(logfile&, std::vector&, const line_info&, shared_buffer_ref&, scan_batch_context&)': log_format.cc:1369:14: note: '*(const string_fragment*)((char*)&ts + offsetof(nonstd::optional_lite::optional,nonstd::optional_lite::optional::contained)).string_fragment::sf_string' was declared here 1369 | auto ts = md[fpat->p_timestamp_field_index]; | ^~ In member function 'const char* string_fragment::data() const', inlined from 'virtual log_format::scan_result_t external_log_format::scan(logfile&, std::vector&, const line_info&, shared_buffer_ref&, scan_batch_context&)' at log_format.cc:1399:46: ./base/intern_string.hh:147:62: warning: '*(const string_fragment*)((char*)&ts + offsetof(nonstd::optional_lite::optional,nonstd::optional_lite::optional::contained)).string_fragment::sf_begin' may be used uninitialized [-Wmaybe-uninitialized] 147 | const char* data() const { return &this->sf_string[this->sf_begin]; } | ~~~~~~^~~~~~~~ log_format.cc: In member function 'virtual log_format::scan_result_t external_log_format::scan(logfile&, std::vector&, const line_info&, shared_buffer_ref&, scan_batch_context&)': log_format.cc:1369:14: note: '*(const string_fragment*)((char*)&ts + offsetof(nonstd::optional_lite::optional,nonstd::optional_lite::optional::contained)).string_fragment::sf_begin' was declared here 1369 | auto ts = md[fpat->p_timestamp_field_index]; | ^~ In member function 'int string_fragment::length() const', inlined from 'virtual log_format::scan_result_t external_log_format::scan(logfile&, std::vector&, const line_info&, shared_buffer_ref&, scan_batch_context&)' at log_format.cc:1400:57: ./base/intern_string.hh:141:54: warning: '*(const string_fragment*)((char*)&ts + offsetof(nonstd::optional_lite::optional,nonstd::optional_lite::optional::contained)).string_fragment::sf_end' may be used uninitialized [-Wmaybe-uninitialized] 141 | int length() const { return this->sf_end - this->sf_begin; } | ^~~~~~~~ log_format.cc: In member function 'virtual log_format::scan_result_t external_log_format::scan(logfile&, std::vector&, const line_info&, shared_buffer_ref&, scan_batch_context&)': log_format.cc:1369:14: note: '*(const string_fragment*)((char*)&ts + offsetof(nonstd::optional_lite::optional,nonstd::optional_lite::optional::contained)).string_fragment::sf_end' was declared here 1369 | auto ts = md[fpat->p_timestamp_field_index]; | ^~ AR libdiag.a ar: `u' modifier ignored since `D' is the default (see `U') AR libdatascanner.a ar: `u' modifier ignored since `D' is the default (see `U') CXXLD lnav CXXLD lnav-test if test -w ./internals; then \ env DUMP_INTERNALS_DIR=./internals DUMP_CRASH=1 ./lnav Makefile; \ mv ./internals/*.schema.json ../docs/schemas; \ fi make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src' make[2]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src' make[1]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src' Making all in test make[1]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/test' CXX test_stubs.o In file included from ../src/textview_curses.hh:44, from ../src/bottom_status_source.hh:37, from ../src/lnav.hh:44, from test_stubs.cc:33: ../src/listview_curses.hh: In member function 'int listview_curses::shift_left(int)': ../src/listview_curses.hh:383:48: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 383 | } else if (offset < 0 && this->lv_left < (unsigned int) -offset) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ AR libtestdummy.a ar: `u' modifier ignored since `D' is the default (see `U') make[1]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/test' make[1]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2' make[1]: Nothing to be done for 'all-am'. make[1]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2' >>> lnav: Entering fakeroot... Making install in tools make[1]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/tools' make[2]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/tools' make[2]: Nothing to be done for 'install-exec-am'. make[2]: Nothing to be done for 'install-data-am'. make[2]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/tools' make[1]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/tools' Making install in src make[1]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src' make install-recursive make[2]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src' Making install in fmtlib make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/fmtlib' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/fmtlib' make[4]: Nothing to be done for 'install-exec-am'. make[4]: Nothing to be done for 'install-data-am'. make[4]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/fmtlib' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/fmtlib' Making install in third-party/base64/lib make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/third-party/base64/lib' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/third-party/base64/lib' make[4]: Nothing to be done for 'install-exec-am'. make[4]: Nothing to be done for 'install-data-am'. make[4]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/third-party/base64/lib' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/third-party/base64/lib' Making install in third-party/date/src make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/third-party/date/src' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/third-party/date/src' make[4]: Nothing to be done for 'install-exec-am'. make[4]: Nothing to be done for 'install-data-am'. make[4]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/third-party/date/src' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/third-party/date/src' Making install in third-party/scnlib/src make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/third-party/scnlib/src' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/third-party/scnlib/src' make[4]: Nothing to be done for 'install-exec-am'. make[4]: Nothing to be done for 'install-data-am'. make[4]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/third-party/scnlib/src' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/third-party/scnlib/src' Making install in pcrepp make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/pcrepp' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/pcrepp' make[4]: Nothing to be done for 'install-exec-am'. make[4]: Nothing to be done for 'install-data-am'. make[4]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/pcrepp' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/pcrepp' Making install in base make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/base' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/base' make[4]: Nothing to be done for 'install-exec-am'. make[4]: Nothing to be done for 'install-data-am'. make[4]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/base' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/base' Making install in tailer make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/tailer' make install-am make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/tailer' make[5]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/tailer' make[5]: Nothing to be done for 'install-exec-am'. make[5]: Nothing to be done for 'install-data-am'. make[5]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/tailer' make[4]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/tailer' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/tailer' Making install in pugixml make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/pugixml' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/pugixml' make[4]: Nothing to be done for 'install-exec-am'. make[4]: Nothing to be done for 'install-data-am'. make[4]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/pugixml' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/pugixml' Making install in yajl make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/yajl' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/yajl' make[4]: Nothing to be done for 'install-exec-am'. make[4]: Nothing to be done for 'install-data-am'. make[4]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/yajl' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/yajl' Making install in yajlpp make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/yajlpp' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/yajlpp' make[4]: Nothing to be done for 'install-exec-am'. make[4]: Nothing to be done for 'install-data-am'. make[4]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/yajlpp' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/yajlpp' Making install in formats/logfmt make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/formats/logfmt' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/formats/logfmt' make[4]: Nothing to be done for 'install-exec-am'. make[4]: Nothing to be done for 'install-data-am'. make[4]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/formats/logfmt' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src/formats/logfmt' Making install in . make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src' if test -w ./internals; then \ env DUMP_INTERNALS_DIR=./internals DUMP_CRASH=1 ./lnav Makefile; \ mv ./internals/*.schema.json ../docs/schemas; \ fi make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src' make[4]: Nothing to be done for 'install-data-am'. .././install-sh -c -d '/home/buildozer/aports/community/lnav/pkg/lnav/usr/bin' /usr/bin/install -c lnav '/home/buildozer/aports/community/lnav/pkg/lnav/usr/bin' make install-exec-hook make[5]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src' bash ./alpha-release.sh make[5]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src' make[4]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src' make[2]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src' make[1]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/src' Making install in test make[1]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/test' make[2]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/test' make[2]: Nothing to be done for 'install-exec-am'. make[2]: Nothing to be done for 'install-data-am'. make[2]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/test' make[1]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2/test' make[1]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2' make[2]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2' make[2]: Nothing to be done for 'install-exec-am'. ./install-sh -c -d '/home/buildozer/aports/community/lnav/pkg/lnav/usr/share/man/man1' /usr/bin/install -c -m 644 lnav.1 '/home/buildozer/aports/community/lnav/pkg/lnav/usr/share/man/man1' make[2]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2' make[1]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.2' >>> lnav-doc*: Running split function doc... 'usr/share/man' -> '/home/buildozer/aports/community/lnav/pkg/lnav-doc/usr/share/man' >>> lnav-doc*: Preparing subpackage lnav-doc... >>> lnav-doc*: Running postcheck for lnav-doc >>> lnav*: Running postcheck for lnav >>> lnav*: Preparing package lnav... >>> lnav*: Stripping binaries >>> lnav-doc*: Scanning shared objects >>> lnav*: Scanning shared objects >>> lnav-doc*: Tracing dependencies... >>> lnav-doc*: Package size: 1.4 KB >>> lnav-doc*: Compressing data... >>> lnav-doc*: Create checksum... >>> lnav-doc*: Create lnav-doc-0.12.2-r0.apk >>> lnav*: Tracing dependencies... so:libarchive.so.13 so:libbz2.so.1 so:libc.musl-x86.so.1 so:libcurl.so.4 so:libgcc_s.so.1 so:libncursesw.so.6 so:libpcre2-8.so.0 so:libreadline.so.8 so:libsqlite3.so.0 so:libstdc++.so.6 so:libz.so.1 >>> lnav*: Package size: 6.7 MB >>> lnav*: Compressing data... >>> lnav*: Create checksum... >>> lnav*: Create lnav-0.12.2-r0.apk >>> lnav: Build complete at Mon, 11 Nov 2024 00:11:25 +0000 elapsed time 0h 3m 21s >>> lnav: Cleaning up srcdir >>> lnav: Cleaning up pkgdir >>> lnav: Uninstalling dependencies... (1/41) Purging .makedepends-lnav (20241111.000812) (2/41) Purging bash (5.2.37-r0) Executing bash-5.2.37-r0.pre-deinstall (3/41) Purging bzip2-dev (1.0.8-r6) (4/41) Purging curl-dev (8.11.0-r1) (5/41) Purging gpm-dev (1.20.7-r5) (6/41) Purging gpm-libs (1.20.7-r5) (7/41) Purging libarchive-dev (3.7.7-r0) (8/41) Purging libarchive (3.7.7-r0) (9/41) Purging libbsd-dev (0.12.2-r0) (10/41) Purging linux-headers (6.6-r1) (11/41) Purging libmd-dev (1.1.0-r0) (12/41) Purging libbsd (0.12.2-r0) (13/41) Purging pcre2-dev (10.43-r0) (14/41) Purging libedit-dev (20240808.3.1-r0) (15/41) Purging bsd-compat-headers (0.7.2-r6) (16/41) Purging libpcre2-16 (10.43-r0) (17/41) Purging libpcre2-32 (10.43-r0) (18/41) Purging readline-dev (8.2.13-r0) (19/41) Purging libhistory (8.2.13-r0) (20/41) Purging sqlite-dev (3.47.0-r0) (21/41) Purging sqlite (3.47.0-r0) (22/41) Purging sqlite-libs (3.47.0-r0) (23/41) Purging zlib-dev (1.3.1-r2) (24/41) Purging brotli-dev (1.1.0-r2) (25/41) Purging brotli (1.1.0-r2) (26/41) Purging c-ares-dev (1.34.3-r0) (27/41) Purging libbz2 (1.0.8-r6) (28/41) Purging libmd (1.1.0-r0) (29/41) Purging libpsl-dev (0.21.5-r3) (30/41) Purging libpsl-utils (0.21.5-r3) (31/41) Purging ncurses-dev (6.5_p20241006-r2) (32/41) Purging libncurses++ (6.5_p20241006-r2) (33/41) Purging libpanelw (6.5_p20241006-r2) (34/41) Purging nghttp2-dev (1.64.0-r0) (35/41) Purging openssl-dev (3.3.2-r3) (36/41) Purging xz-libs (5.6.3-r0) (37/41) Purging zstd-dev (1.5.6-r1) (38/41) Purging zstd (1.5.6-r1) (39/41) Purging libformw (6.5_p20241006-r2) (40/41) Purging libidn2-dev (2.3.7-r0) (41/41) Purging libmenuw (6.5_p20241006-r2) Executing busybox-1.37.0-r6.trigger OK: 396 MiB in 101 packages >>> lnav: Updating the community/x86 repository index... >>> lnav: Signing the index...