>>> lnav: Building community/lnav 0.12.4-r0 (using abuild 3.15.0-r0) started Sun, 01 Jun 2025 16:24:07 +0000 >>> lnav: Validating /home/buildozer/aports/community/lnav/APKBUILD... >>> lnav: Analyzing dependencies... >>> lnav: Installing for build: build-base tzdata bash bzip2-dev curl-dev gpm-dev libarchive-dev libbsd-dev libunistring-dev ncurses-dev pcre2-dev readline-dev sqlite-dev zlib-dev (1/41) Installing tzdata (2025b-r0) (2/41) Installing bash (5.2.37-r0) Executing bash-5.2.37-r0.post-install (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.5-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.65.0-r0) (11/41) Installing openssl-dev (3.5.0-r0) (12/41) Installing zlib-dev (1.3.1-r2) (13/41) Installing zstd (1.5.7-r0) (14/41) Installing zstd-dev (1.5.7-r0) (15/41) Installing curl-dev (8.14.0-r2) (16/41) Installing gpm-libs (1.20.7-r5) (17/41) Installing gpm-dev (1.20.7-r5) (18/41) Installing libarchive (3.8.0-r0) (19/41) Installing libarchive-dev (3.8.0-r0) (20/41) Installing bsd-compat-headers (0.7.2-r6) (21/41) Installing linux-headers (6.14.2-r0) (22/41) Installing libmd (1.1.0-r0) (23/41) Installing libmd-dev (1.1.0-r0) (24/41) Installing libbsd (0.12.2-r0) (25/41) Installing libbsd-dev (0.12.2-r0) (26/41) Installing libunistring-dev (1.3-r0) (27/41) Installing libformw (6.5_p20250503-r0) (28/41) Installing libmenuw (6.5_p20250503-r0) (29/41) Installing libpanelw (6.5_p20250503-r0) (30/41) Installing libncurses++ (6.5_p20250503-r0) (31/41) Installing ncurses-dev (6.5_p20250503-r0) (32/41) Installing libedit-dev (20250104.3.1-r1) (33/41) Installing libpcre2-16 (10.43-r1) (34/41) Installing libpcre2-32 (10.43-r1) (35/41) Installing pcre2-dev (10.43-r1) (36/41) Installing libhistory (8.2.13-r1) (37/41) Installing readline-dev (8.2.13-r1) (38/41) Installing sqlite (3.50.0-r0) (39/41) Installing sqlite-libs (3.50.0-r0) (40/41) Installing sqlite-dev (3.50.0-r0) (41/41) Installing .makedepends-lnav (20250601.162408) Executing busybox-1.37.0-r18.trigger OK: 424 MiB in 159 packages >>> lnav: Cleaning up srcdir >>> lnav: Cleaning up pkgdir >>> lnav: Cleaning up tmpdir >>> lnav: Fetching https://distfiles.alpinelinux.org/distfiles/edge/lnav-0.12.4.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 curl: (22) The requested URL returned error: 404 >>> lnav: Fetching https://github.com/tstack/lnav/releases/download/v0.12.4/lnav-0.12.4.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 4147k 100 4147k 0 0 6242k 0 --:--:-- --:--:-- --:--:-- 6242k >>> lnav: Fetching https://distfiles.alpinelinux.org/distfiles/edge/lnav-0.12.4.tar.gz >>> lnav: Checking sha512sums... lnav-0.12.4.tar.gz: OK rapidyaml.patch: OK >>> lnav: Unpacking /var/cache/distfiles/edge/lnav-0.12.4.tar.gz... >>> lnav: rapidyaml.patch patching file src/third-party/rapidyaml/ryml_all.hpp Hunk #1 succeeded at 503 with fuzz 2 (offset 5 lines). 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... cc 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 cc accepts -g... yes checking for cc option to enable C11 features... none needed checking whether cc understands -c and -o together... yes checking dependency style of cc... gcc3 checking how to run the C preprocessor... cc -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 whether the compiler supports GNU C++... yes checking whether c++ accepts -g... yes checking for c++ option to enable C++11 features... none needed checking dependency style of c++... gcc3 checking how to run the C++ preprocessor... c++ -E checking for i586-alpine-linux-musl-g++... i586-alpine-linux-musl-g++ checking whether the compiler supports GNU C++... (cached) yes checking whether i586-alpine-linux-musl-g++ accepts -g... yes checking for i586-alpine-linux-musl-g++ option to enable C++11 features... (cached) none needed checking dependency style of i586-alpine-linux-musl-g++... gcc3 checking how to run the C++ preprocessor... i586-alpine-linux-musl-g++ -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 cc 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 c++ supports C++17 features with -std=c++17... 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 bash... /bin/bash 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 for mkostemp... yes checking whether struct tm is in sys/time.h or time.h... time.h checking for c++ -std=c++17 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.14.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 checking for libproc.h... no 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/notcurses/src/lib/Makefile config.status: creating src/third-party/scnlib/src/Makefile config.status: creating test/Makefile config.status: creating test/expected/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.4/tools' cc -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.4/tools' Making all in src make[1]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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 CXX ptimec BIN2C xml-entities-json.cc BIN2C xterm-palette-json.cc ptimec.cc: In function 'int main(int, char**)': ptimec.cc:117:46: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'size_t' {aka 'unsigned int'} [-Wformat=] 117 | " if (len - off_inout < %lu) {\n" | ~~^ | | | long unsigned int | %u ...... 120 | min_width); | ~~~~~~~~~ | | | size_t {aka unsigned int} ptimec.cc:131:52: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'unsigned int' [-Wformat=] 131 | printf(" off_inout += %lu;\n", checked_pos.value()); | ~~^ ~~~~~~~~~~~~~~~~~~~ | | | | long unsigned int unsigned int | %u ptimec.cc:165:36: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'unsigned int' [-Wformat=] 165 | "%lu);\n", | ~~^ | | | long unsigned int | %u 166 | arg[index + 1], 167 | checked_pos.value()); | ~~~~~~~~~~~~~~~~~~~ | | | unsigned int ptimec.cc:189:71: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'unsigned int' [-Wformat=] 189 | " PTIME_CHECK_CHAR('%s', str[off_inout + %lu]);\n", | ~~^ | | | long unsigned int | %u 190 | escape_char(arg[index]), 191 | checked_pos.value()); | ~~~~~~~~~~~~~~~~~~~ | | | unsigned int ptimec.cc:203:40: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'size_t' {aka 'unsigned int'} [-Wformat=] 203 | printf(" off_inout += %lu;\n", min_width); | ~~^ ~~~~~~~~~ | | | | | size_t {aka unsigned int} | long unsigned int | %u TIMEFMT time_fmts.cc make all-recursive make[2]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src' Making all in fmtlib make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/src/fmtlib' Making all in third-party/base64/lib make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/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.4/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.4/src/third-party/date/src' Making all in third-party/notcurses/src/lib make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/third-party/notcurses/src/lib' CC automaton.o CC blit.o CC debug.o CC direct.o CC fade.o CC fd.o CC fill.o CC gpm.o CC in.o CC kitty.o CC layout.o CC linux.o CC menu.o CC metric.o CC mice.o CC notcurses.o CC plot.o CC progbar.o CC reader.o CC reel.o CC render.o CC selector.o CC sixel.o CC sprite.o CC stats.o CC tabbed.o CC termdesc.o CC tree.o CC unixsig.o CC util.o CC visual.o CC windows.o CC ../compat/compat.o In file included from ./../lib/fbuf.h:15, from ./../lib/sprite.h:10, from ./../lib/termdesc.h:16, from internal.h:47, from linux.c:2: linux.c: In function 'add_to_map': ./../lib/logging.h:54:11: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'wchar_t' {aka 'long int'} [-Wformat=] 54 | nclog("%s:%d:" fmt NL, __func__, __LINE__, ##__VA_ARGS__); } \ | ^~~~~~~~ linux.c:333:3: note: in expansion of macro 'logdebug' 333 | logdebug("adding mapping U+%04x -> %03u", w, fidx); | ^~~~~~~~ linux.c: In function 'program_block_drawing_chars': ./../lib/logging.h:54:11: warning: format '%lc' expects argument of type 'wint_t', but argument 4 has type 'wchar_t' {aka 'long int'} [-Wformat=] 54 | nclog("%s:%d:" fmt NL, __func__, __LINE__, ##__VA_ARGS__); } \ | ^~~~~~~~ linux.c:499:11: note: in expansion of macro 'logdebug' 499 | logdebug("found %lc at fontidx %u", half[s].w, i); | ^~~~~~~~ ./../lib/logging.h:54:11: warning: format '%lc' expects argument of type 'wint_t', but argument 4 has type 'wchar_t' {aka 'long int'} [-Wformat=] 54 | nclog("%s:%d:" fmt NL, __func__, __LINE__, ##__VA_ARGS__); } \ | ^~~~~~~~ linux.c:507:11: note: in expansion of macro 'logdebug' 507 | logdebug("found %lc at fontidx %u", quads[s].w, i); | ^~~~~~~~ ./../lib/logging.h:54:11: warning: format '%lc' expects argument of type 'wint_t', but argument 4 has type 'wchar_t' {aka 'long int'} [-Wformat=] 54 | nclog("%s:%d:" fmt NL, __func__, __LINE__, ##__VA_ARGS__); } \ | ^~~~~~~~ linux.c:515:11: note: in expansion of macro 'logdebug' 515 | logdebug("found %lc at fontidx %u", eighths[s].w, i); | ^~~~~~~~ direct.c: In function 'ncdirect_box': direct.c:1406:29: warning: format '%lc' expects argument of type 'wint_t', but argument 3 has type 'wchar_t' {aka 'long int'} [-Wformat=] 1406 | if(fprintf(n->ttyfp, "%lc", wchars[0]) < 0){ | ~~^ ~~~~~~~~~ | | | | | wchar_t {aka long int} | unsigned int | %ld In file included from ./../lib/fbuf.h:15, from ./../lib/sprite.h:10, from ./../lib/termdesc.h:16, from internal.h:47, from direct.c:11: ./../lib/logging.h:34:11: warning: format '%lc' expects argument of type 'wint_t', but argument 4 has type 'wchar_t' {aka 'long int'} [-Wformat=] 34 | nclog("%s:%d:" fmt NL, __func__, __LINE__, ##__VA_ARGS__); } \ | ^~~~~~~~ direct.c:1407:7: note: in expansion of macro 'logerror' 1407 | logerror("error emitting %lc\n", wchars[0]); | ^~~~~~~~ ./../lib/logging.h:34:11: warning: format '%lc' expects argument of type 'wint_t', but argument 4 has type 'wchar_t' {aka 'long int'} [-Wformat=] 34 | nclog("%s:%d:" fmt NL, __func__, __LINE__, ##__VA_ARGS__); } \ | ^~~~~~~~ direct.c:1416:5: note: in expansion of macro 'logerror' 1416 | logerror("error converting %lc\n", wchars[4]); | ^~~~~~~~ ./../lib/logging.h:34:11: warning: format '%lc' expects argument of type 'wint_t', but argument 4 has type 'wchar_t' {aka 'long int'} [-Wformat=] 34 | nclog("%s:%d:" fmt NL, __func__, __LINE__, ##__VA_ARGS__); } \ | ^~~~~~~~ direct.c:1422:5: note: in expansion of macro 'logerror' 1422 | logerror("error converting %lc\n", wchars[5]); | ^~~~~~~~ direct.c:1440:29: warning: format '%lc' expects argument of type 'wint_t', but argument 3 has type 'wchar_t' {aka 'long int'} [-Wformat=] 1440 | if(fprintf(n->ttyfp, "%lc", wchars[1]) < 0){ | ~~^ ~~~~~~~~~ | | | | | wchar_t {aka long int} | unsigned int | %ld direct.c:1475:29: warning: format '%lc' expects argument of type 'wint_t', but argument 3 has type 'wchar_t' {aka 'long int'} [-Wformat=] 1475 | if(fprintf(n->ttyfp, "%lc", wchars[2]) < 0){ | ~~^ ~~~~~~~~~ | | | | | wchar_t {aka long int} | unsigned int | %ld direct.c:1495:29: warning: format '%lc' expects argument of type 'wint_t', but argument 3 has type 'wchar_t' {aka 'long int'} [-Wformat=] 1495 | if(fprintf(n->ttyfp, "%lc", wchars[3]) < 0){ | ~~^ ~~~~~~~~~ | | | | | wchar_t {aka long int} | unsigned int | %ld AR liblnavnotcurses.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.4/src/third-party/notcurses/src/lib' Making all in third-party/scnlib/src make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/third-party/scnlib/src' CXX scn/impl.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.4/src/third-party/scnlib/src' Making all in pcrepp make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/src/pcrepp' Making all in base make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/base' CXX ansi_scrubber.o CXX attr_line.o CXX attr_line.builder.o CXX auto_fd.o CXX auto_pid.o CXX cell_container.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 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:72:32: warning: comparison of integer expressions of different signedness: 'const int' and 'std::__cxx11::basic_string::size_type' {aka 'unsigned int'} [-Wsign-compare] 72 | if (line_with_error.sf_end >= retval.s_content.get_string().size()) { | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ piper.file.cc: In function 'std::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) { | ~~~~~~~~~^~~~~~~~~~~~ intern_string.cc: In member function 'size_t string_fragment::byte_to_column_index(size_t) const': intern_string.cc:530:42: warning: comparison of integer expressions of different signedness: 'int' and 'const size_t' {aka 'const unsigned int'} [-Wsign-compare] 530 | while (index < this->sf_end && index < byte_index) { | ~~~~~~^~~~~~~~~~~~ intern_string.cc: In member function 'std::optional string_fragment::next_word(int) const': intern_string.cc:595:34: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'const int' [-Wsign-compare] 595 | if (curr_col == start_col) { | ~~~~~~~~~^~~~~~~~~~~~ intern_string.cc:597:41: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'const int' [-Wsign-compare] 597 | } else if (curr_col > start_col) { | ~~~~~~~~~^~~~~~~~~~~ intern_string.cc: In member function 'std::optional string_fragment::prev_word(int) const': intern_string.cc:644:34: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'const int' [-Wsign-compare] 644 | if (curr_col == start_col) { | ~~~~~~~~~^~~~~~~~~~~~ attr_line.cc: In static member function 'static attr_line_t attr_line_t::from_table_cell_content(const string_fragment&, size_t)': attr_line.cc:63:34: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 63 | for (size_t index = 0; index < content.length(); ++index) { | ~~~~~~^~~~~~~~~~~~~~~~~~ attr_line.cc:147:20: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 147 | if (copy_start < content.length()) { | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from date_time_scanner.cc:40: ../../src/ptimec.hh: In function 'void ftime_s(char*, off_t&, ssize_t, const exttm&)': ../../src/ptimec.hh:353:51: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 353 | 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:411:51: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 411 | 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::pad_to(ssize_t)': attr_line.cc:697:18: warning: comparison of integer expressions of different signedness: 'const unsigned int' and 'ssize_t' {aka 'int'} [-Wsign-compare] 697 | if (curr_len < size) { | ~~~~~~~~~^~~~~~ attr_line.cc:700:69: warning: comparison of integer expressions of different signedness: 'int' and 'const unsigned int' [-Wsign-compare] 700 | if (attr.sa_range.lr_start == 0 && attr.sa_range.lr_end == curr_len) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ string_util.cc: In function 'std::string scrub_ws(const char*, ssize_t)': string_util.cc:334:69: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'ssize_t' {aka 'int'} [-Wsign-compare] 334 | for (size_t lpc = 0; (len == -1 && in[lpc]) || (len >= 0 && lpc < len); | ~~~~^~~~~ ansi_scrubber.cc: In function 'void scrub_ansi_string(std::string&, string_attrs_t*)': ansi_scrubber.cc:487:65: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string::size_type' {aka 'unsigned int'} [-Wsign-compare] 487 | if (sa != nullptr && last_origin_end > 0 && last_origin_end != str.size()) { | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ 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.4/src/base' Making all in tailer make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/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') 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.4/src/tailer' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/tailer' Making all in pugixml make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/src/pugixml' Making all in yajl make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/yajl' CC yajl_alloc.o CC yajl.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.4/src/yajl' Making all in yajlpp make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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:1439:28: warning: comparison of integer expressions of different signedness: 'int' and 'const size_t' {aka 'const unsigned int'} [-Wsign-compare] 1439 | } 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.4/src/yajlpp' Making all in formats/logfmt make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/src/formats/logfmt' Making all in . make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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 bin2c_rt.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 crashd.client.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 external_opener.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 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_data_table.o CXX log_format.o CXX log_format_loader.o CXX log_level.o CXX log_level_re.o CXX log_search_table.o db_sub_source.cc: In member function 'virtual line_info db_label_source::text_value_for_line(textview_curses&, int, std::string&, text_sub_source::line_flags_t)': db_sub_source.cc:111:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 111 | if (row < this->dls_row_styles.size()) { | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ db_sub_source.cc:132:43: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 132 | if (this->dls_level_column && lpc == this->dls_level_column.value()) { | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ db_sub_source.cc: In member function 'virtual void db_label_source::text_attrs_for_line(textview_curses&, int, string_attrs_t&)': db_sub_source.cc:198:17: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 198 | if (lpc == this->dls_row_style_column | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ db_sub_source.cc:229:17: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 229 | if (lpc == this->dls_row_style_column) { | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ db_sub_source.cc:239:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 239 | if (row < this->dls_row_styles.size()) { | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ db_sub_source.cc:282:17: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 282 | if (lpc == this->dls_row_style_column) { | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ db_sub_source.cc:285:40: warning: comparison of integer expressions of different signedness: 'int' and 'const size_t' {aka 'const unsigned int'} [-Wsign-compare] 285 | && cell_sf.length() < MAX_JSON_WIDTH | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ db_sub_source.cc: In lambda function: db_sub_source.cc:399:44: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 399 | if (this->dls_row_style_column == col) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ db_sub_source.cc:402:21: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare] 402 | if (col == this->dls_time_column_index) { | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ db_sub_source.cc: In member function 'void db_label_source::push_column(const column_value_t&)': db_sub_source.cc:455:13: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare] 455 | if (col == this->dls_row_style_column) { | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ db_sub_source.cc: In member function 'virtual bool db_label_source::list_input_handle_key(listview_curses&, const ncinput&)': db_sub_source.cc:703:36: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 703 | if (ov_sel.value() < rows.size()) { | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~ db_sub_source.cc: In member function 'virtual std::optional db_label_source::text_row_details(const textview_curses&)': db_sub_source.cc:745:28: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 745 | if (ov_sel.value() < rows.size()) { | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~ CXX logfile.o bookmarks.cc: In member function 'bool bookmark_metadata::empty(categories) const': bookmarks.cc:82:1: warning: control reaches end of non-void function [-Wreturn-type] 82 | } | ^ db_sub_source.cc: In member function 'virtual bool db_overlay_source::list_static_overlay(const listview_curses&, int, int, attr_line_t&)': db_sub_source.cc:1179:17: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 1179 | if (lpc == this->dos_labels->dls_row_style_column | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CXX logfile_sub_source.o filter_observer.cc: In member function 'virtual void line_filter_observer::logline_new_lines(const logfile&, logfile::const_iterator, logfile::const_iterator, const shared_buffer_ref&)': filter_observer.cc:66:17: warning: comparison of integer expressions of different signedness: 'const int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 65 | if (offset | ~~~~~~ 66 | >= this->lfo_filter_state.tfs_filter_count[filter->get_index()]) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ listview_curses.cc: In member function 'virtual bool listview_curses::contains(int, int) const': listview_curses.cc:64:20: warning: comparison of integer expressions of different signedness: 'const unsigned int' and 'int' [-Wsign-compare] 64 | if (this->vc_x <= x && x < this->vc_x + dim.second && this->vc_y <= y | ~~~~~~~~~~~^~~~ listview_curses.cc:64:30: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare] 64 | if (this->vc_x <= x && x < this->vc_x + dim.second && this->vc_y <= y | ~~^~~~~~~~~~~~~~~~~~~~~~~~~ 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:353:51: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 353 | 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:411:51: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 411 | snprintf(&dst[off_inout], len - off_inout, "%lx", t); | ~~^ ~ | | | | | time_t {aka long long int} | long unsigned int | %llx listview_curses.cc: In member function 'vis_line_t listview_curses::get_overlay_top(vis_line_t, size_t, size_t)': listview_curses.cc:416:48: warning: comparison of integer expressions of different signedness: 'const int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 416 | if (this->lv_focused_overlay_selection >= total) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ listview_curses.cc: In member function 'virtual bool listview_curses::do_update()': listview_curses.cc:639:48: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare] 639 | auto ch = gutter_y == overlay_y | ~~~~~~~~~^~~~~~~~~~~~ listview_curses.cc:705:27: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare] 705 | gutter_y < (this->vc_y + height); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ listview_curses.cc:740:35: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare] 740 | for (int lpc = 0; lpc < width - 1; lpc++) { | ~~~~^~~~~~~~~~~ listview_curses.cc: In member function 'void listview_curses::shift_selection(shift_amount_t)': listview_curses.cc:799:60: warning: comparison of integer expressions of different signedness: 'const int' and 'unsigned int' [-Wsign-compare] 799 | if (this->lv_focused_overlay_selection > overlay_height) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ listview_curses.cc:809:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 808 | if (this->lv_focused_overlay_selection + 1 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 809 | < overlay_content.size()) | ^~~~~~~~~~~~~~~~~~~~~~~~ listview_curses.cc:816:25: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'const int' [-Wsign-compare] 815 | if (this->lv_focused_overlay_selection + overlay_height - 1 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 816 | >= ov_top_for_last) | ^~~~~~~~~~~~~~~~~~ listview_curses.cc: In member function 'virtual bool listview_curses::handle_mouse(mouse_event&)': listview_curses.cc:910:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector >::size_type' {aka 'unsigned int'} [-Wsign-compare] 910 | if (me.me_y < this->lv_display_lines.size()) { | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ listview_curses.cc:929:33: warning: comparison of integer expressions of different signedness: 'const int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 928 | && this->lv_focused_overlay_top | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 929 | < (oc.oc_inner_height - oc.oc_height)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ listview_curses.cc:1001:33: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare] 1001 | if (this->lv_scroll_top <= me.me_y && me.me_y <= this->lv_scroll_bottom) | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ listview_curses.cc:1001:55: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 1001 | if (this->lv_scroll_top <= me.me_y && me.me_y <= this->lv_scroll_bottom) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ listview_curses.cc:1005:28: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 1005 | } else if (me.me_y < this->lv_scroll_top) { | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ listview_curses.cc:1018:25: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 1018 | if (me.me_y < this->lv_scroll_top) { | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ listview_curses.cc:1024:25: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 1024 | if (me.me_y > this->lv_scroll_bottom) { | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ listview_curses.cc: In member function 'void listview_curses::set_overlay_selection(std::optional >)': listview_curses.cc:1400:36: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 1400 | } else if (sel.value() >= overlay_content.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ CXX md2attr_line.o CXX md4cpp.o line_buffer.cc: In member function 'void line_buffer::ensure_available(file_off_t, ssize_t, scan_direction)': line_buffer.cc:543:39: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 543 | if (padded_max_length < this->lb_buffer.capacity()) { | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from base/auto_pid.hh:41, from line_buffer.cc:47: line_buffer.cc:577:21: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 577 | require(prefill <= this->lb_buffer.size()); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ ./base/lnav_log.hh:138:30: note: in definition of macro 'require' 138 | #define require(e) ((void) ((e) ? 0 : lnav_require(#e, __FILE__, __LINE__))) | ^ line_buffer.cc:580:23: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 580 | require(available <= this->lb_buffer.capacity()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./base/lnav_log.hh:138:30: note: in definition of macro 'require' 138 | #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:628:33: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 628 | if (rc != -1 && (rc < this->lb_alt_buffer.value().available()) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ line_buffer.cc:692:33: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 692 | if (rc != -1 && (rc < (this->lb_alt_buffer.value().available())) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ line_buffer.cc:712:12: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 712 | if (rc > (this->lb_alt_buffer.value().available())) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ line_buffer.cc: In member function 'bool line_buffer::fill_range(file_off_t, ssize_t, scan_direction)': line_buffer.cc:892:37: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 892 | if (rc != -1 && (rc < this->lb_buffer.available())) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ line_buffer.cc:954:37: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 954 | if (rc != -1 && (rc < (this->lb_buffer.available()))) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ line_buffer.cc:987:16: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 987 | if (rc > (this->lb_buffer.available())) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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 = {std::optional, const std::vector >&}; Return (* f)(Args ...) = {anonymous}::json_concat; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = json_string; Args = {std::optional, const std::vector >&}; Return (* f)(Args ...) = {anonymous}::json_concat]' 495 | }; | ^ json-extension-functions.cc:764:74: required from here 764 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 765 | help_text("json_concat", | ~~~~~~~~~~~~~~~~~~~~~~~~ 766 | "Returns an array with the given values concatenated " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 767 | "onto the end. " | ~~~~~~~~~~~~~~~~~ 768 | "If the initial value is null, the result will be an " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 769 | "array with " | ~~~~~~~~~~~~~ 770 | "the given elements. If the initial value is an array, " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 771 | "the result " | ~~~~~~~~~~~~~ 772 | "will be an array with the given values at the end. If " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 773 | "the initial " | ~~~~~~~~~~~~~~ 774 | "value is not null or an array, the result will be an " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 775 | "array with " | ~~~~~~~~~~~~~ 776 | "two elements: the initial value and the given value.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 777 | .sql_function() | ~~~~~~~~~~~~~~~ 778 | .with_prql_path({"json", "concat"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 779 | .with_parameter({"json", "The initial JSON value."}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 780 | .with_parameter( | ~~~~~~~~~~~~~~~~ 781 | help_text("value", | ~~~~~~~~~~~~~~~~~~ 782 | "The value(s) to add to the end of the array.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 783 | .one_or_more()) | ~~~~~~~~~~~~~~~ 784 | .with_tags({"json"}) | ~~~~~~~~~~~~~~~~~~~~ 785 | .with_example({ | ~~~~~~~~~~~~~~~ 786 | "To append the number 4 to null", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 787 | "SELECT json_concat(NULL, 4)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 788 | }) | ~~ 789 | .with_example({ | ~~~~~~~~~~~~~~~ 790 | "To append 4 and 5 to the array [1, 2, 3]", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 791 | "SELECT json_concat('[1, 2, 3]', 4, 5)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 792 | }) | ~~ 793 | .with_example({ | ~~~~~~~~~~~~~~~ 794 | "To concatenate two arrays together", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 795 | "SELECT json_concat('[1, 2, 3]', json('[4, 5]'))", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 796 | })) | ~~~ vtab_module.hh:456:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 456 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 457 | fd->fd_help.ht_name, 458 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:456:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 456 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 459 | 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:495: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]' 495 | }; | ^ json-extension-functions.cc:799:78: required from here 799 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 800 | help_text("json_contains", | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 801 | "Check if a JSON value contains the given element.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 802 | .sql_function() | ~~~~~~~~~~~~~~~ 803 | .with_prql_path({"json", "contains"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 804 | .with_parameter({"json", "The JSON value to query."}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 805 | .with_parameter( | ~~~~~~~~~~~~~~~~ 806 | {"value", "The value to look for in the first argument"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 807 | .with_tags({"json"}) | ~~~~~~~~~~~~~~~~~~~~ 808 | .with_example({ | ~~~~~~~~~~~~~~~ 809 | "To test if a JSON array contains the number 4", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 810 | "SELECT json_contains('[1, 2, 3]', 4)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 811 | }) | ~~ 812 | .with_example({ | ~~~~~~~~~~~~~~~ 813 | "To test if a JSON array contains the string 'def'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 814 | "SELECT json_contains('[\"abc\", \"def\"]', 'def')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 815 | })), | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int CXX network-extension-functions.o CXX data_parser.o In file included from fs-extension-functions.cc:57: 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:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = mapbox::util::variant; Args = {const char*}; Return (* f)(Args ...) = sql_basename]' 495 | }; | ^ fs-extension-functions.cc:346:76: required from here 346 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 347 | help_text("basename", "Extract the base portion of a pathname.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | .sql_function() | ~~~~~~~~~~~~~~~ 349 | .with_prql_path({"fs", "basename"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | .with_parameter({"path", "The path"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 351 | .with_tags({"filename"}) | ~~~~~~~~~~~~~~~~~~~~~~~~ 352 | .with_example({"To get the base of a plain file name", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | "SELECT basename('foobar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | .with_example( | ~~~~~~~~~~~~~~ 355 | {"To get the base of a path", "SELECT basename('foo/bar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 356 | .with_example({"To get the base of a directory", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 357 | "SELECT basename('foo/bar/')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 358 | .with_example({"To get the base of an empty string", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 359 | "SELECT basename('')"}) | ~~~~~~~~~~~~~~~~~~~~~~~ 360 | .with_example({"To get the base of a Windows path", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 361 | "SELECT basename('foo\\bar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 362 | .with_example({"To get the base of the root directory", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 363 | "SELECT basename('/')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~ 364 | .with_example({ | ~~~~~~~~~~~~~~~ 365 | "To get the base of a path", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 366 | "from [{p='foo/bar'}] | select { fs.basename p }", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 367 | help_example::language::prql, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 368 | })), | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int CXX piper.header.o 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:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = mapbox::util::variant; Args = {const char*}; Return (* f)(Args ...) = sql_dirname]' 495 | }; | ^ fs-extension-functions.cc:370:74: required from here 370 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 371 | help_text("dirname", "Extract the directory portion of a pathname.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 372 | .sql_function() | ~~~~~~~~~~~~~~~ 373 | .with_parameter({"path", "The path"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 374 | .with_prql_path({"fs", "dirname"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 375 | .with_tags({"filename"}) | ~~~~~~~~~~~~~~~~~~~~~~~~ 376 | .with_example({"To get the directory of a relative file path", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 377 | "SELECT dirname('foo/bar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 378 | .with_example({"To get the directory of an absolute file path", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 379 | "SELECT dirname('/foo/bar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 380 | .with_example( | ~~~~~~~~~~~~~~ 381 | {"To get the directory of a file in the root directory", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 382 | "SELECT dirname('/bar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 383 | .with_example({"To get the directory of a Windows path", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 384 | "SELECT dirname('foo\\bar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 385 | .with_example({"To get the directory of an empty path", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 386 | "SELECT dirname('')"})), | ~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = std::optional >; Args = {const std::vector >&}; Return (* f)(Args ...) = sql_joinpath; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::optional >; Args = {const std::vector >&}; Return (* f)(Args ...) = sql_joinpath]' 495 | }; | ^ fs-extension-functions.cc:388:76: required from here 388 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 389 | help_text("joinpath", "Join components of a path together.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 390 | .sql_function() | ~~~~~~~~~~~~~~~ 391 | .with_prql_path({"fs", "join"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 392 | .with_parameter( | ~~~~~~~~~~~~~~~~ 393 | help_text( | ~~~~~~~~~~ 394 | "path", | ~~~~~~~ 395 | "One or more path components to join together. " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 396 | "If an argument starts with a forward or backward " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 397 | "slash, it will be considered " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 398 | "an absolute path and any preceding elements will " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 399 | "be ignored.") | ~~~~~~~~~~~~~~ 400 | .one_or_more()) | ~~~~~~~~~~~~~~~ 401 | .with_tags({"filename"}) | ~~~~~~~~~~~~~~~~~~~~~~~~ 402 | .with_example( | ~~~~~~~~~~~~~~ 403 | {"To join a directory and file name into a relative path", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 404 | "SELECT joinpath('foo', 'bar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 405 | .with_example( | ~~~~~~~~~~~~~~ 406 | {"To join an empty component with other names into " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 407 | "a relative path", | ~~~~~~~~~~~~~~~~~~ 408 | "SELECT joinpath('', 'foo', 'bar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 409 | .with_example( | ~~~~~~~~~~~~~~ 410 | {"To create an absolute path with two path components", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 411 | "SELECT joinpath('/', 'foo', 'bar')"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 412 | .with_example( | ~~~~~~~~~~~~~~ 413 | {"To create an absolute path from a path component " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 414 | "that starts with a forward slash", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 415 | "SELECT joinpath('/', 'foo', '/bar')"})), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = text_auto_buffer; Args = {const char*}; Return (* f)(Args ...) = sql_readlink; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = text_auto_buffer; Args = {const char*}; Return (* f)(Args ...) = sql_readlink]' 495 | }; | ^ fs-extension-functions.cc:417:76: required from here 417 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 418 | help_text("readlink", "Read the target of a symbolic link.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 419 | .sql_function() | ~~~~~~~~~~~~~~~ 420 | .with_prql_path({"fs", "readlink"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 421 | .with_parameter({"path", "The path to the symbolic link."}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 422 | .with_tags({"filename"})), | ~~~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = text_auto_buffer; Args = {const char*}; Return (* f)(Args ...) = sql_realpath; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = text_auto_buffer; Args = {const char*}; Return (* f)(Args ...) = sql_realpath]' 495 | }; | ^ fs-extension-functions.cc:424:76: required from here 424 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 425 | help_text( | ~~~~~~~~~~ 426 | "realpath", | ~~~~~~~~~~~ 427 | "Returns the resolved version of the given path, expanding " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 428 | "symbolic links and " | ~~~~~~~~~~~~~~~~~~~~~ 429 | "resolving '.' and '..' references.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 430 | .sql_function() | ~~~~~~~~~~~~~~~ 431 | .with_prql_path({"fs", "realpath"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 432 | .with_parameter({"path", "The path to resolve."}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 433 | .with_tags({"filename"})), | ~~~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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*, std::optional, std::optional}; Return (* f)(Args ...) = sql_shell_exec; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = blob_auto_buffer; Args = {const char*, std::optional, std::optional}; Return (* f)(Args ...) = sql_shell_exec]' 495 | }; | ^ fs-extension-functions.cc:435:80: required from here 435 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 436 | help_text("shell_exec", | ~~~~~~~~~~~~~~~~~~~~~~~ 437 | "Executes a shell command and returns its output.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 438 | .sql_function() | ~~~~~~~~~~~~~~~ 439 | .with_prql_path({"shell", "exec"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 440 | .with_parameter({"cmd", "The command to execute."}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 441 | .with_parameter(help_text{ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 442 | "input", | ~~~~~~~~ 443 | "A blob of data to write to the command's standard input."} | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 444 | .optional()) | ~~~~~~~~~~~~ 445 | .with_parameter( | ~~~~~~~~~~~~~~~~ 446 | help_text{"options", | ~~~~~~~~~~~~~~~~~~~~ 447 | "A JSON object containing options for the " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 448 | "execution with the following properties:"} | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 449 | .optional() | ~~~~~~~~~~~ 450 | .with_parameter(help_text{ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 451 | "env", | ~~~~~~ 452 | "An object containing the environment variables " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 453 | "to set or, if NULL, to unset."} | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 454 | .optional())) | ~~~~~~~~~~~~~ 455 | .with_tags({"shell"})) | ~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:456:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 456 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 457 | fd->fd_help.ht_name, 458 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:456:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 456 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 459 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int In file included from lnav_commands.cc:77: ptimec.hh: In function 'void ftime_s(char*, off_t&, ssize_t, const exttm&)': ptimec.hh:353:51: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 353 | 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:411:51: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 411 | snprintf(&dst[off_inout], len - off_inout, "%lx", t); | ~~^ ~ | | | | | time_t {aka long long int} | long unsigned int | %llx CXX piper.looper.o lnav_commands.cc: In function 'Result, lnav::console::user_message> com_adjust_log_time(exec_context&, std::string, std::vector >&)': lnav_commands.cc:255:61: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 255 | "info: log timestamps will be adjusted by %ld.%06ld seconds", | ~~^ | | | long int | %lld 256 | 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:313:47: warning: format '%ld' expects argument of type 'long int*', but argument 3 has type 'time_t*' {aka 'long long int*'} [-Wformat=] 313 | } else if (sscanf(args[1].c_str(), "%ld", &u_time)) { | ~~^ ~~~~~~~ | | | | | time_t* {aka long long int*} | long int* | %lld CXX piper.match.o CXX plain_text_source.o CXX pollable.o CXX pretty_printer.o CXX ptimec_rt.o CXX readline_callbacks.o lnav.indexing.cc: In member function 'virtual logfile_observer::indexing_result loading_observer::logfile_indexing(const logfile*, file_off_t, file_size_t)': lnav.indexing.cc:71: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] 71 | if (off == total) { | ~~~~^~~~~~~~ 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:495: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]' 495 | }; | ^ 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:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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:495: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]' 495 | }; | ^ 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:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int CXX readline_curses.o CXX readline_highlighters.o CXX readline_possibilities.o logfile.cc: In member function 'logfile::message_length_result logfile::message_byte_length(const_iterator, bool)': logfile.cc:1441:20: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'const ssize_t' {aka 'const int'} [-Wsign-compare] 1441 | if (retval > line_buffer::MAX_LINE_BUFFER_SIZE) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CXX regex101.client.o In file included from log_format.cc:52: ptimec.hh: In function 'void ftime_s(char*, off_t&, ssize_t, const exttm&)': ptimec.hh:353:51: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 353 | 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:411:51: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 411 | snprintf(&dst[off_inout], len - off_inout, "%lx", t); | ~~^ ~ | | | | | time_t {aka long long int} | long unsigned int | %llx 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:539:13: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 538 | if ((size_t) this->dp_msg_format_begin | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 539 | < this->dp_scanner->get_input().length()) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ptimec_rt.cc:32: ptimec.hh: In function 'void ftime_s(char*, off_t&, ssize_t, const exttm&)': ptimec.hh:353:51: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 353 | 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:411:51: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 411 | snprintf(&dst[off_inout], len - off_inout, "%lx", t); | ~~^ ~ | | | | | time_t {aka long long int} | long unsigned int | %llx CXX regexp_vtab.o CXX relative_time.o CXX session.export.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:543:30: note: in expansion of macro 'ANSI_BOLD' 543 | ANSI_BOLD("%'d") " row%s matched in " ANSI_BOLD( | ^~~~~~~~~ command_executor.cc:544:37: note: format string is defined here 544 | "%ld.%03ld") " seconds", | ~~^ | | | long int | %lld files_sub_source.cc: In function 'files_model::files_list_selection files_model::from_selection(vis_line_t)': files_sub_source.cc:61:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::map, file_error_info>::size_type' {aka 'unsigned int'} [-Wsign-compare] 61 | if (sel < errs->size()) { | ~~~~^~~~~~~~~~~~~~ files_sub_source.cc:72:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::map, other_file_descriptor>::size_type' {aka 'unsigned int'} [-Wsign-compare] 72 | if (sel < fc.fc_other_files.size()) { | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ files_sub_source.cc:81:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector >::size_type' {aka 'unsigned int'} [-Wsign-compare] 81 | if (sel < fc.fc_files.size()) { | ~~~~^~~~~~~~~~~~~~~~~~~~ files_sub_source.cc: In member function 'virtual line_info files_sub_source::text_value_for_line(textview_curses&, int, std::string&, text_sub_source::line_flags_t)': files_sub_source.cc:278:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::map, file_error_info>::size_type' {aka 'unsigned int'} [-Wsign-compare] 278 | if (line < errs->size()) { | ~~~~~^~~~~~~~~~~~~~ files_sub_source.cc:302:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::map, other_file_descriptor>::size_type' {aka 'unsigned int'} [-Wsign-compare] 302 | if (line < fc.fc_other_files.size()) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ files_sub_source.cc:321:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::map, other_file_descriptor>::size_type' {aka 'unsigned int'} [-Wsign-compare] 321 | if (line == fc.fc_other_files.size() - 1) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CXX session_data.o CXX shared_buffer.o CXX shlex.o CXX spectro_impls.o 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:353:51: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 353 | 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:411:51: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 411 | snprintf(&dst[off_inout], len - off_inout, "%lx", t); | ~~^ ~ | | | | | time_t {aka long long int} | long unsigned int | %llx lnav.cc: In instantiation of 'looper():: [with auto:12 = logfile_sub_source; auto:13 = long long int; auto:14 = long long unsigned int]': /usr/include/c++/14.3.0/type_traits:2655: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}]' 2655 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14.3.0/type_traits:2666:60: required from 'struct std::__result_of_impl&, logfile_sub_source&, long long int, long long unsigned int>' 2666 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/14.3.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.3.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.3.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.3.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:1170:15: required from here 1170 | }; | ^ lnav.cc:1164:27: warning: comparison of integer expressions of different signedness: 'long long int' and 'long long unsigned int' [-Wsign-compare] 1164 | if (off == size) { | ~~~~^~~~~~~ md2attr_line.cc: In member function 'virtual Result > md2attr_line::leave_block(const md4cpp::event_handler::block&)': md2attr_line.cc:424:29: warning: comparison of integer expressions of different signedness: 'unsigned int' and '__gnu_cxx::__alloc_traits, int>::value_type' {aka 'int'} [-Wsign-compare] 424 | if (col_len > max_col_sizes[lpc]) { md2attr_line.cc:495:33: warning: comparison of integer expressions of different signedness: '__gnu_cxx::__alloc_traits, int>::value_type' {aka 'int'} and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 495 | > cell.cl_lines[line_index].column_width()) logfile_sub_source.cc: In member function 'virtual void logfile_sub_source::text_crumbs_for_line(int, std::vector&)': logfile_sub_source.cc:2826:29: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 2826 | if (line_number >= msg_line_number) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ logfile_sub_source.cc:2613:28: warning: variable 'SRC' set but not used [-Wunused-but-set-variable] 2613 | static intern_string_t SRC = intern_string::lookup("crumb"); | ^~~ piper.looper.cc: In member function 'void lnav::piper::looper::loop()': piper.looper.cc:539:35: 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] 539 | && os.os_woff >= cfg.c_max_size) | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~ CXX spectro_source.o piper.looper.cc:604:29: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 604 | if (prc < sizeof(HEADER_MAGIC)) { | ~~~~^~~~~~~~~~~~~~~~~~~~~~ piper.looper.cc:612:29: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 612 | if (prc < sizeof(meta_size)) { | ~~~~^~~~~~~~~~~~~~~~~~~ piper.looper.cc:621:29: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string::size_type' {aka 'unsigned int'} [-Wsign-compare] 621 | if (prc < hdr_str.size()) { | ~~~~^~~~~~~~~~~~~~~~ readline_highlighters.cc: In function 'void find_matching_bracket(attr_line_t&, int, line_range, char, char)': readline_highlighters.cc:90:38: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 90 | for (size_t lpc = x + 1; lpc < sub.lr_end; lpc++) { | ~~~~^~~~~~~~~~~~ readline_highlighters.cc:113:41: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 113 | for (size_t lpc = sub.lr_start; lpc < sub.lr_end; lpc++) { | ~~~~^~~~~~~~~~~~ readline_highlighters.cc: In function 'void readline_command_highlighter_int(attr_line_t&, std::optional, line_range)': readline_highlighters.cc:215:26: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 215 | for (; start < sub.length() && isspace(line[start]); start++) | ~~~~~~^~~~~~~~~~~~~~ readline_highlighters.cc:217:37: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 217 | for (last = start; last < sub.length() && !isspace(line[last]); | ~~~~~^~~~~~~~~~~~~~ readline_highlighters.cc:237:24: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 237 | } while (start < sub.length()); | ~~~~~~^~~~~~~~~~~~~~ CXX sqlitepp.o CXX sqlite-extension-func.o plain_text_source.cc: In member function 'virtual std::optional > plain_text_source::anchor_for_row(vis_line_t)': plain_text_source.cc:470:12: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 470 | if (vl > this->tds_lines.size() | ~~~^~~~~~~~~~~~~~~~~~~~~~~~ plain_text_source.cc: In member function 'virtual std::optional > plain_text_source::adjacent_anchor(vis_line_t, text_anchors::direction)': plain_text_source.cc:507:12: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 507 | if (vl > this->tds_lines.size() | ~~~^~~~~~~~~~~~~~~~~~~~~~~~ CXX static_file_vtab.o CXX statusview_curses.o CXX string-extension-functions.o relative_time.cc: In member function 'int64_t relative_time::to_microseconds() const': relative_time.cc:1112: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] 1112 | memset(&etm, 0, sizeof(etm)); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~ In file included from relative_time.hh:45, from relative_time.cc:32: base/time_util.hh:147:8: note: 'struct exttm' declared here 147 | struct exttm { | ^~~~~ CXX styling.o CXX term_extra.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)) { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CXX text_anonymizer.o md2attr_line.cc: In function 'const char* left_border_string(border_line_width)': md2attr_line.cc:690:1: warning: control reaches end of non-void function [-Wreturn-type] 690 | } | ^ md2attr_line.cc: In function 'const char* right_border_string(border_line_width)': md2attr_line.cc:703:1: warning: control reaches end of non-void function [-Wreturn-type] 703 | } | ^ CXX text_format.o CXX text_overlay_menu.o CXX textfile_sub_source.o CXX timer.o CXX sql_commands.o CXX sql_util.o CXX state-extension-functions.o CXX sysclip.o CXX textinput_curses.o CXX textfile_highlighters.o CXX textview_curses.o CXX time-extension-functions.o CXX timeline_source.o readline_callbacks.cc: In function 'void rl_search_internal(readline_curses*, ln_mode_t, bool)': readline_callbacks.cc:582:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string::size_type' {aka 'unsigned int'} [-Wsign-compare] 582 | if (cursor_x > orig_prql_stmt.get_string().length()) { | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CXX top_status_source.o CXX unique_path.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:259:31: warning: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'long unsigned int' [-Wsign-compare] 259 | 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:612:14: note: in expansion of macro 'ANSI_ROLE' 612 | 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:612:14: note: in expansion of macro 'ANSI_ROLE' 612 | 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:612:14: note: in expansion of macro 'ANSI_ROLE' 612 | 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 CXX view_curses.o CXX view_helpers.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:353:51: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 353 | 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:411:51: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 411 | snprintf(&dst[off_inout], len - off_inout, "%lx", t); | ~~^ ~ | | | | | time_t {aka long long int} | long unsigned int | %llx CXX views_vtab.o CXX vt52_curses.o CXX vtab_module.o CXX log_vtab_impl.o 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 = std::optional; Args = {sqlite3_value*, std::optional}; Return (* f)(Args ...) = timeslice; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::optional; Args = {sqlite3_value*, std::optional}; Return (* f)(Args ...) = timeslice]' 495 | }; | ^ time-extension-functions.cc:264:70: required from here 264 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 265 | help_text( | ~~~~~~~~~~ 266 | "timeslice", | ~~~~~~~~~~~~ 267 | "Return the start of the slice of time that the given " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 268 | "timestamp falls in. " | ~~~~~~~~~~~~~~~~~~~~~~~ 269 | "If the time falls outside of the slice, NULL is returned.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | .sql_function() | ~~~~~~~~~~~~~~~ 271 | .with_prql_path({"time", "slice"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | .with_parameter( | ~~~~~~~~~~~~~~~~ 273 | {"time", "The timestamp to get the time slice for."}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | .with_parameter({"slice", "The size of the time slices"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | .with_tags({"datetime"}) | ~~~~~~~~~~~~~~~~~~~~~~~~ 276 | .with_example({ | ~~~~~~~~~~~~~~~ 277 | "To get the timestamp rounded down to the start of the " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | "ten minute slice", | ~~~~~~~~~~~~~~~~~~~ 279 | "SELECT timeslice('2017-01-01T05:05:00', '10m')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | }) | ~~ 281 | .with_example({ | ~~~~~~~~~~~~~~~ 282 | "To group log messages into five minute buckets and count " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | "them", | ~~~~~~~ 284 | "SELECT timeslice(log_time_msecs, '5m') AS slice, " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | "count(1)\n FROM lnav_example_log GROUP BY slice", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 286 | }) | ~~ 287 | .with_example({ | ~~~~~~~~~~~~~~~ 288 | "To group log messages by those before 4:30am and after", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 289 | "SELECT timeslice(log_time_msecs, 'before 4:30am') AS " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | "slice, count(1) FROM lnav_example_log GROUP BY slice", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | })), | ~~~ vtab_module.hh:456:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 456 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 457 | fd->fd_help.ht_name, 458 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:456:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 456 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 459 | 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::optional; Args = {string_fragment, string_fragment}; Return (* f)(Args ...) = sql_timediff; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::optional; Args = {string_fragment, string_fragment}; Return (* f)(Args ...) = sql_timediff]' 495 | }; | ^ time-extension-functions.cc:293:76: required from here 293 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 294 | help_text( | ~~~~~~~~~~ 295 | "timediff", | ~~~~~~~~~~~ 296 | "Compute the difference between two timestamps in seconds") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | .sql_function() | ~~~~~~~~~~~~~~~ 298 | .with_prql_path({"time", "diff"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | .with_parameter({"time1", "The first timestamp"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 300 | .with_parameter( | ~~~~~~~~~~~~~~~~ 301 | {"time2", "The timestamp to subtract from the first"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 302 | .with_tags({"datetime"}) | ~~~~~~~~~~~~~~~~~~~~~~~~ 303 | .with_example({ | ~~~~~~~~~~~~~~~ 304 | "To get the difference between two timestamps", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | "SELECT timediff('2017-02-03T04:05:06', " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | "'2017-02-03T04:05:00')", | ~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | }) | ~~ 308 | .with_example({ | ~~~~~~~~~~~~~~~ 309 | "To get the difference between relative timestamps", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | "SELECT timediff('today', 'yesterday')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | })), | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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:495: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]' 495 | }; | ^ time-extension-functions.cc:315:20: required from here 313 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~~~ 315 | builder( | ~~~~~~~^ 316 | help_text("humanize_duration", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 317 | "Format the given seconds value as an abbreviated " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 318 | "duration string") | ~~~~~~~~~~~~~~~~~~ 319 | .sql_function() | ~~~~~~~~~~~~~~~ 320 | .with_prql_path({"humanize", "duration"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 321 | .with_parameter({"secs", "The duration in seconds"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 322 | .with_tags({"datetime", "string"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 323 | .with_example({ | ~~~~~~~~~~~~~~~ 324 | "To format a duration", | ~~~~~~~~~~~~~~~~~~~~~~~ 325 | "SELECT humanize_duration(15 * 60)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 326 | }) | ~~ 327 | .with_example({ | ~~~~~~~~~~~~~~~ 328 | "To format a sub-second value", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 329 | "SELECT humanize_duration(1.5)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 330 | })), | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = std::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:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::optional >; Args = {std::__cxx11::basic_string, std::allocator >, string_fragment}; Return (* f)(Args ...) = sql_timezone]' 495 | }; | ^ time-extension-functions.cc:332:76: required from here 332 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 333 | help_text("timezone", "Convert a timestamp to the given timezone") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 334 | .sql_function() | ~~~~~~~~~~~~~~~ 335 | .with_prql_path({"time", "to_zone"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 336 | .with_parameter({"tz", "The target timezone"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 337 | .with_parameter({"ts", "The source timestamp"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 338 | .with_tags({"datetime", "string"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 339 | .with_example({ | ~~~~~~~~~~~~~~~ 340 | "To convert a time to America/Los_Angeles", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 341 | "SELECT timezone('America/Los_Angeles', " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 342 | "'2022-03-02T10:00')", | ~~~~~~~~~~~~~~~~~~~~~~ 343 | })), | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int CXX xml_util.o In file included from textinput_curses.cc:32: textinput_curses.hh: In member function 'void textinput_curses::clamp_point(input_point&) const': textinput_curses.hh:317:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 317 | if (ip.y >= this->tc_lines.size()) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ textinput_curses.hh:323:18: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 323 | if (ip.x >= this->tc_lines[ip.y].column_width()) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ textinput_curses.cc: In member function 'virtual bool textinput_curses::contains(int, int) const': textinput_curses.cc:176:23: warning: comparison of integer expressions of different signedness: 'const unsigned int' and 'int' [-Wsign-compare] 176 | return this->vc_x <= x && x < this->vc_x + this->vc_width && this->vc_y <= y | ~~~~~~~~~~~^~~~ textinput_curses.cc:176:33: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare] 176 | return this->vc_x <= x && x < this->vc_x + this->vc_width && this->vc_y <= y | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ textinput_curses.cc: In member function 'virtual bool textinput_curses::handle_mouse(mouse_event&)': textinput_curses.cc:198:50: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 198 | if (this->tc_top + dim.dr_height - 2 < this->tc_cursor.y) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ textinput_curses.cc:208:35: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 208 | if (this->tc_cursor.y <= this->tc_top) { | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ textinput_curses.cc: In member function 'void textinput_curses::move_cursor_to_next_search_hit()': textinput_curses.cc:439:52: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 439 | for (auto y = this->tc_search_start_point.y; y < this->tc_lines.size(); y++) | ~~^~~~~~~~~~~~~~~~~~~~~~~ textinput_curses.cc: In member function 'bool textinput_curses::handle_key(const ncinput&)': textinput_curses.cc:632:50: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 632 | && this->tc_cursor.y + 1 < this->tc_lines.size()) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ textinput_curses.cc:875:35: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 875 | if (this->tc_cursor.y < bottom) { | ~~~~~~~~~~~~~~~~~~^~~~~~~~ textinput_curses.cc:957:43: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 957 | if (this->tc_cursor.y + 1 < inner_height) { | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ textinput_curses.cc: In member function 'void textinput_curses::ensure_cursor_visible()': textinput_curses.cc:1045:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 1045 | if (this->tc_cursor.y >= this->tc_lines.size()) { | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ textinput_curses.cc:1051:27: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 1051 | if (this->tc_cursor.x >= this->tc_lines[this->tc_cursor.y].column_width()) { | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ textinput_curses.cc:1064:22: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 1064 | if (this->tc_top >= this->tc_cursor.y) { | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ textinput_curses.cc:1070:31: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 1070 | if (this->tc_cursor.y + 1 >= this->tc_top + dim.dr_height) { | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ textinput_curses.cc:1074:35: warning: comparison of integer expressions of different signedness: 'std::vector::size_type' {aka 'unsigned int'} and 'int' [-Wsign-compare] 1074 | if (this->tc_lines.size() > dim.dr_height) { | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ textinput_curses.cc:1087:27: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 1087 | if (this->tc_cursor.x == this->tc_lines[this->tc_cursor.y].column_width()) { | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CXX xpath_vtab.o textinput_curses.cc: In member function 'std::string textinput_curses::replace_selection_no_change(string_fragment)': textinput_curses.cc:1150:24: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 1149 | } else if (sel_range->lr_start | ~~~~~~~~~~~~~~~~~~~ 1150 | == this->tc_lines[curr_line].column_width() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ textinput_curses.cc: In member function 'void textinput_curses::move_cursor_by(movement)': textinput_curses.cc:1254:30: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 1254 | && this->tc_cursor.x > this->tc_lines[this->tc_cursor.y].column_width()) | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ textinput_curses.cc:1256:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 1256 | if (this->tc_cursor.y + 1 < this->tc_lines.size()) { | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ textinput_curses.cc: In member function 'textinput_curses::dimension_result textinput_curses::get_visible_dimensions() const': textinput_curses.cc:1304:20: warning: comparison of integer expressions of different signedness: 'const int' and 'unsigned int' [-Wsign-compare] 1304 | if (this->vc_y < retval.dr_full_height) { | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ textinput_curses.cc: In member function 'virtual bool textinput_curses::do_update()': textinput_curses.cc:1411:14: warning: variable 'mvw_res' set but not used [-Wunused-but-set-variable] 1411 | auto mvw_res = mvwattrline(this->tc_window, y, this->vc_x, al, lr); | ^~~~~~~ textinput_curses.cc: In member function 'void textinput_curses::open_popup_for_completion(size_t, std::vector)': textinput_curses.cc:1528:28: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare] 1528 | if (rel_x + full_width > dim.dr_width) { | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ text_overlay_menu.cc: In member function 'virtual std::vector text_overlay_menu::list_overlay_menu(const listview_curses&, vis_line_t)': text_overlay_menu.cc:67:27: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare] 67 | if (left + MENU_WIDTH >= dim.second) { | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ CXX xterm_mouse.o CXX yaml-extension-functions.o textfile_sub_source.cc: In member function 'virtual line_info textfile_sub_source::text_value_for_line(textview_curses&, int, std::string&, text_sub_source::line_flags_t)': textfile_sub_source.cc:161:32: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 161 | 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:224:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 224 | && row < lfo->lfo_filter_state.tfs_index.size()) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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:332:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 332 | || 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:474:17: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 474 | || line >= lfo->lfo_filter_state.tfs_index.size()) | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ textfile_sub_source.cc: In member function 'virtual void textfile_sub_source::text_crumbs_for_line(int, std::vector&)': textfile_sub_source.cc:589:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 589 | if (line < 0 || line >= lfo->lfo_filter_state.tfs_index.size()) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CXX animals-json.o textfile_sub_source.cc:609:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 609 | if (line < 0 || line >= lfo->lfo_filter_state.tfs_index.size()) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ textfile_sub_source.cc: In member function 'textfile_sub_source::rescan_result_t textfile_sub_source::rescan_files(scan_callback&, std::optional > > >)': textfile_sub_source.cc:957:42: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare] 957 | if (consumed < content_sf.length() | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ textview_curses.cc: In member function 'virtual bool textview_curses::handle_mouse(mouse_event&)': textview_curses.cc:424:47: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector >::size_type' {aka 'unsigned int'} [-Wsign-compare] 424 | auto mouse_line = (me.me_y < 0 || me.me_y >= this->lv_display_lines.size()) | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ textview_curses.cc:605:44: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare] 605 | } else if (me.me_x >= width - 1) { | ~~~~~~~~^~~~~~~~~~~~ textfile_sub_source.cc: In member function 'virtual std::optional > textfile_sub_source::adjacent_anchor(vis_line_t, text_anchors::direction)': textfile_sub_source.cc:1303:12: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 1303 | if (vl >= lfo->lfo_filter_state.tfs_index.size() | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CXX ansi-palette-json.o textfile_sub_source.cc: In member function 'virtual std::optional > textfile_sub_source::anchor_for_row(vis_line_t)': textfile_sub_source.cc:1432:12: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 1432 | if (vl >= lfo->lfo_filter_state.tfs_index.size()) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from string-extension-functions.cc:41: 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:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = bool; Args = {string_fragment, string_fragment}; Return (* f)(Args ...) = {anonymous}::regexp]' 495 | }; | ^ string-extension-functions.cc:958:64: required from here 958 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 959 | help_text("regexp", "Test if a string matches a regular expression") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 960 | .sql_function() | ~~~~~~~~~~~~~~~ 961 | .with_parameter({"re", "The regular expression to use"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 962 | .with_parameter({ | ~~~~~~~~~~~~~~~~~ 963 | "str", | ~~~~~~ 964 | "The string to test against the regular expression", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 965 | })), | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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:495: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]' 495 | }; | ^ string-extension-functions.cc:967:76: required from here 967 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 968 | help_text("regexp_match", | ~~~~~~~~~~~~~~~~~~~~~~~~~ 969 | "Match a string against a regular expression and return " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 970 | "the capture groups as JSON.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 971 | .sql_function() | ~~~~~~~~~~~~~~~ 972 | .with_prql_path({"text", "regexp_match"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 973 | .with_parameter({"re", "The regular expression to use"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 974 | .with_parameter({ | ~~~~~~~~~~~~~~~~~ 975 | "str", | ~~~~~~ 976 | "The string to test against the regular expression", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 977 | }) | ~~ 978 | .with_tags({"string", "regex"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 979 | .with_example({ | ~~~~~~~~~~~~~~~ 980 | "To capture the digits from the string '123'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 981 | "SELECT regexp_match('(\\d+)', '123')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 982 | }) | ~~ 983 | .with_example({ | ~~~~~~~~~~~~~~~ 984 | "To capture a number and word into a JSON object with the " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 985 | "properties 'col_0' and 'col_1'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 986 | "SELECT regexp_match('(\\d+) (\\w+)', '123 four')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 987 | }) | ~~ 988 | .with_example({ | ~~~~~~~~~~~~~~~ 989 | "To capture a number and word into a JSON object with the " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 990 | "named properties 'num' and 'str'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 991 | "SELECT regexp_match('(?\\d+) (?\\w+)', '123 " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 992 | "four')", | ~~~~~~~~~ 993 | })) | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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:495: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]' 495 | }; | ^ string-extension-functions.cc:996:80: required from here 996 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 997 | help_text("regexp_replace", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 998 | "Replace the parts of a string that match a regular " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 999 | "expression.") | ~~~~~~~~~~~~~~ 1000 | .sql_function() | ~~~~~~~~~~~~~~~ 1001 | .with_prql_path({"text", "regexp_replace"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1002 | .with_parameter( | ~~~~~~~~~~~~~~~~ 1003 | {"str", "The string to perform replacements on"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1004 | .with_parameter({"re", "The regular expression to match"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1005 | .with_parameter({ | ~~~~~~~~~~~~~~~~~ 1006 | "repl", | ~~~~~~~ 1007 | "The replacement string. " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1008 | "You can reference capture groups with a " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1009 | "backslash followed by the number of the " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1010 | "group, starting with 1.", | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 1011 | }) | ~~ 1012 | .with_tags({"string", "regex"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1013 | .with_example({ | ~~~~~~~~~~~~~~~ 1014 | "To replace the word at the start of the string " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1015 | "'Hello, World!' with 'Goodbye'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1016 | "SELECT regexp_replace('Hello, World!', " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1017 | "'^(\\w+)', 'Goodbye')", | ~~~~~~~~~~~~~~~~~~~~~~~~ 1018 | }) | ~~ 1019 | .with_example({ | ~~~~~~~~~~~~~~~ 1020 | "To wrap alphanumeric words with angle brackets", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1021 | "SELECT regexp_replace('123 abc', '(\\w+)', '<\\1>')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1022 | })), | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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:495: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]' 495 | }; | ^ string-extension-functions.cc:1026:20: required from here 1024 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~~~~ 1026 | builder(help_text( | ~~~~~~~^~~~~~~~~~~ 1027 | "humanize_file_size", | ~~~~~~~~~~~~~~~~~~~~~ 1028 | "Format the given file size as a human-friendly string") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1029 | .sql_function() | ~~~~~~~~~~~~~~~ 1030 | .with_prql_path({"humanize", "file_size"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1031 | .with_parameter({"value", "The file size to format"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1032 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1033 | .with_example({ | ~~~~~~~~~~~~~~~ 1034 | "To format an amount", | ~~~~~~~~~~~~~~~~~~~~~~ 1035 | "SELECT humanize_file_size(10 * 1024 * 1024)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1036 | })), | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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:495: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]' 495 | }; | ^ string-extension-functions.cc:1039:20: required from here 1038 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1039 | builder(help_text("humanize_id", | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 1040 | "Colorize the given ID using ANSI escape codes.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1041 | .sql_function() | ~~~~~~~~~~~~~~~ 1042 | .with_prql_path({"humanize", "id"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1043 | .with_parameter({"id", "The identifier to color"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1044 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1045 | .with_example({ | ~~~~~~~~~~~~~~~ 1046 | "To colorize the ID 'cluster1'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1047 | "SELECT humanize_id('cluster1')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1048 | })), | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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, std::optional}; Return (* f)(Args ...) = humanize::sparkline; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = const std::__cxx11::basic_string&; Args = {double, std::optional}; Return (* f)(Args ...) = humanize::sparkline]' 495 | }; | ^ string-extension-functions.cc:1052:20: required from here 1050 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~ 1052 | builder( | ~~~~~~~^ 1053 | help_text("sparkline", | ~~~~~~~~~~~~~~~~~~~~~~ 1054 | "Function used to generate a sparkline bar chart. " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1055 | "The non-aggregate version converts a single numeric " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1056 | "value on a range to a bar chart character. The " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1057 | "aggregate version returns a string with a bar " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1058 | "character for every numeric input") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1059 | .sql_function() | ~~~~~~~~~~~~~~~ 1060 | .with_prql_path({"text", "sparkline"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1061 | .with_parameter({"value", "The numeric value to convert"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1062 | .with_parameter(help_text("upper", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1063 | "The upper bound of the numeric " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1064 | "range. The non-aggregate " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1065 | "version defaults to 100. The " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1066 | "aggregate version uses the " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1067 | "largest value in the inputs.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1068 | .optional()) | ~~~~~~~~~~~~ 1069 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1070 | .with_example({ | ~~~~~~~~~~~~~~~ 1071 | "To get the unicode block element for the " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1072 | "value 32 in the " | ~~~~~~~~~~~~~~~~~~ 1073 | "range of 0-128", | ~~~~~~~~~~~~~~~~~ 1074 | "SELECT sparkline(32, 128)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1075 | }) | ~~ 1076 | .with_example({ | ~~~~~~~~~~~~~~~ 1077 | "To chart the values in a JSON array", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1078 | "SELECT sparkline(value) FROM json_each('[0, 1, 2, 3, " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1079 | "4, 5, 6, 7, 8]')", | ~~~~~~~~~~~~~~~~~~~ 1080 | })), | ~~~ vtab_module.hh:456:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 456 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 457 | fd->fd_help.ht_name, 458 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:456:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 456 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 459 | 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:495: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]' 495 | }; | ^ string-extension-functions.cc:1082:78: required from here 1082 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1083 | help_text("anonymize", | ~~~~~~~~~~~~~~~~~~~~~~ 1084 | "Replace identifying information with random values.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1085 | .sql_function() | ~~~~~~~~~~~~~~~ 1086 | .with_prql_path({"text", "anonymize"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1087 | .with_parameter({"value", "The text to anonymize"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1088 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1089 | .with_example({ | ~~~~~~~~~~~~~~~ 1090 | "To anonymize an IP address", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1091 | "SELECT anonymize('Hello, 192.168.1.2')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1092 | })), | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = json_string; Args = {const char*}; Return (* f)(Args ...) = extract]' 495 | }; | ^ string-extension-functions.cc:1094:66: required from here 1094 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1095 | help_text("extract", | ~~~~~~~~~~~~~~~~~~~~ 1096 | "Automatically Parse and extract data from a string") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1097 | .sql_function() | ~~~~~~~~~~~~~~~ 1098 | .with_prql_path({"text", "discover"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1099 | .with_parameter({"str", "The string to parse"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1100 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1101 | .with_example({ | ~~~~~~~~~~~~~~~ 1102 | "To extract key/value pairs from a string", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1103 | "SELECT extract('foo=1 bar=2 name=\"Rolo Tomassi\"')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1104 | }) | ~~ 1105 | .with_example({ | ~~~~~~~~~~~~~~~ 1106 | "To extract columnar data from a string", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1107 | "SELECT extract('1.0 abc 2.0')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1108 | })) | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = json_string; Args = {string_fragment}; Return (* f)(Args ...) = {anonymous}::logfmt2json]' 495 | }; | ^ string-extension-functions.cc:1111:74: required from here 1111 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1112 | help_text("logfmt2json", | ~~~~~~~~~~~~~~~~~~~~~~~~ 1113 | "Convert a logfmt-encoded string into JSON") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1114 | .sql_function() | ~~~~~~~~~~~~~~~ 1115 | .with_prql_path({"logfmt", "to_json"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1116 | .with_parameter({"str", "The logfmt message to parse"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1117 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1118 | .with_example({ | ~~~~~~~~~~~~~~~ 1119 | "To extract key/value pairs from a log message", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1120 | "SELECT logfmt2json('foo=1 bar=2 name=\"Rolo Tomassi\"')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1121 | })) | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = bool; Args = {const char*, const char*}; Return (* f)(Args ...) = startswith]' 495 | }; | ^ string-extension-functions.cc:1128:20: required from here 1124 | sqlite_func_adapter< | ~~~~~~~~~~~~~~~~~~~~ 1125 | decltype(static_cast( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1126 | &startswith)), | ~~~~~~~~~~~~~~ 1127 | startswith>:: | ~~~~~~~~~~~~~ 1128 | builder(help_text("startswith", | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ 1129 | "Test if a string begins with the given prefix") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1130 | .sql_function() | ~~~~~~~~~~~~~~~ 1131 | .with_parameter({"str", "The string to test"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1132 | .with_parameter( | ~~~~~~~~~~~~~~~~ 1133 | {"prefix", "The prefix to check in the string"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1134 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1135 | .with_example({ | ~~~~~~~~~~~~~~~ 1136 | "To test if the string 'foobar' starts with 'foo'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1137 | "SELECT startswith('foobar', 'foo')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1138 | }) | ~~ 1139 | .with_example({ | ~~~~~~~~~~~~~~~ 1140 | "To test if the string 'foobar' starts with 'bar'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1141 | "SELECT startswith('foobar', 'bar')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1142 | })), | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = bool; Args = {const char*, const char*}; Return (* f)(Args ...) = endswith]' 495 | }; | ^ string-extension-functions.cc:1147:20: required from here 1144 | sqlite_func_adapter(&endswith)), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1146 | endswith>:: | ~~~~~~~~~~~ 1147 | builder( | ~~~~~~~^ 1148 | help_text("endswith", | ~~~~~~~~~~~~~~~~~~~~~ 1149 | "Test if a string ends with the given suffix") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1150 | .sql_function() | ~~~~~~~~~~~~~~~ 1151 | .with_parameter({"str", "The string to test"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1152 | .with_parameter( | ~~~~~~~~~~~~~~~~ 1153 | {"suffix", "The suffix to check in the string"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1154 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1155 | .with_example({ | ~~~~~~~~~~~~~~~ 1156 | "To test if the string 'notbad.jpg' ends with '.jpg'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1157 | "SELECT endswith('notbad.jpg', '.jpg')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1158 | }) | ~~ 1159 | .with_example({ | ~~~~~~~~~~~~~~~ 1160 | "To test if the string 'notbad.png' starts with '.jpg'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1161 | "SELECT endswith('notbad.png', '.jpg')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1162 | })), | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = string_fragment; Args = {const std::vector >&}; Return (* f)(Args ...) = {anonymous}::spooky_hash; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = string_fragment; Args = {const std::vector >&}; Return (* f)(Args ...) = {anonymous}::spooky_hash]' 495 | }; | ^ string-extension-functions.cc:1164:74: required from here 1164 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1165 | help_text("spooky_hash", | ~~~~~~~~~~~~~~~~~~~~~~~~ 1166 | "Compute the hash value for the given arguments.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1167 | .sql_function() | ~~~~~~~~~~~~~~~ 1168 | .with_parameter( | ~~~~~~~~~~~~~~~~ 1169 | help_text("str", "The string to hash").one_or_more()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1170 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1171 | .with_example({ | ~~~~~~~~~~~~~~~ 1172 | "To produce a hash for the string 'Hello, World!'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1173 | "SELECT spooky_hash('Hello, World!')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1174 | }) | ~~ 1175 | .with_example({ | ~~~~~~~~~~~~~~~ 1176 | "To produce a hash for the parameters where one is NULL", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1177 | "SELECT spooky_hash('Hello, World!', NULL)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1178 | }) | ~~ 1179 | .with_example({ | ~~~~~~~~~~~~~~~ 1180 | "To produce a hash for the parameters where one " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1181 | "is an empty string", | ~~~~~~~~~~~~~~~~~~~~~ 1182 | "SELECT spooky_hash('Hello, World!', '')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1183 | }) | ~~ 1184 | .with_example({ | ~~~~~~~~~~~~~~~ 1185 | "To produce a hash for the parameters where one " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1186 | "is a number", | ~~~~~~~~~~~~~~ 1187 | "SELECT spooky_hash('Hello, World!', 123)", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1188 | })), | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = std::optional >; Args = {sqlite3_value*}; Return (* f)(Args ...) = {anonymous}::sql_gunzip; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::optional >; Args = {sqlite3_value*}; Return (* f)(Args ...) = {anonymous}::sql_gunzip]' 495 | }; | ^ string-extension-functions.cc:1190:72: required from here 1190 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1191 | help_text("gunzip", "Decompress a gzip file") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1192 | .sql_function() | ~~~~~~~~~~~~~~~ 1193 | .with_parameter( | ~~~~~~~~~~~~~~~~ 1194 | help_text("b", "The blob to decompress").one_or_more()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1195 | .with_tags({"string"})), | ~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = std::optional; Args = {sqlite3_value*}; Return (* f)(Args ...) = {anonymous}::sql_gzip; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::optional; Args = {sqlite3_value*}; Return (* f)(Args ...) = {anonymous}::sql_gzip]' 495 | }; | ^ string-extension-functions.cc:1197:68: required from here 1197 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1198 | help_text("gzip", "Compress a string into a gzip file") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1199 | .sql_function() | ~~~~~~~~~~~~~~~ 1200 | .with_parameter( | ~~~~~~~~~~~~~~~~ 1201 | help_text("value", "The value to compress").one_or_more()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1202 | .with_tags({"string"})), | ~~~~~~~~~~~~~~~~~~~~~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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:495: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]' 495 | }; | ^ string-extension-functions.cc:1204:72: required from here 1204 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1205 | help_text("encode", "Encode the value using the given algorithm") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1206 | .sql_function() | ~~~~~~~~~~~~~~~ 1207 | .with_parameter(help_text("value", "The value to encode")) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1208 | .with_parameter(help_text("algorithm", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1209 | "One of the following encoding " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1210 | "algorithms: base64, hex, uri")) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1211 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1212 | .with_example({ | ~~~~~~~~~~~~~~~ 1213 | "To base64-encode 'Hello, World!'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1214 | "SELECT encode('Hello, World!', 'base64')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1215 | }) | ~~ 1216 | .with_example({ | ~~~~~~~~~~~~~~~ 1217 | "To hex-encode 'Hello, World!'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1218 | "SELECT encode('Hello, World!', 'hex')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1219 | }) | ~~ 1220 | .with_example({ | ~~~~~~~~~~~~~~~ 1221 | "To URI-encode 'Hello, World!'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1222 | "SELECT encode('Hello, World!', 'uri')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1223 | })), | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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:495: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]' 495 | }; | ^ string-extension-functions.cc:1225:72: required from here 1225 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1226 | help_text("decode", "Decode the value using the given algorithm") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1227 | .sql_function() | ~~~~~~~~~~~~~~~ 1228 | .with_parameter(help_text("value", "The value to decode")) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1229 | .with_parameter(help_text("algorithm", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1230 | "One of the following encoding " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1231 | "algorithms: base64, hex, uri")) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1232 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1233 | .with_example({ | ~~~~~~~~~~~~~~~ 1234 | "To decode the URI-encoded string '%63%75%72%6c'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1235 | "SELECT decode('%63%75%72%6c', 'uri')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1236 | })), | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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:495: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]' 495 | }; | ^ string-extension-functions.cc:1238:78: required from here 1238 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1239 | help_text("parse_url", | ~~~~~~~~~~~~~~~~~~~~~~ 1240 | "Parse a URL and return the components in a JSON object. " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1241 | "Limitations: not all URL schemes are supported and " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1242 | "repeated query parameters are not captured.") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1243 | .sql_function() | ~~~~~~~~~~~~~~~ 1244 | .with_parameter(help_text("url", "The URL to parse")) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1245 | .with_result({ | ~~~~~~~~~~~~~~ 1246 | "scheme", | ~~~~~~~~~ 1247 | "The URL's scheme", | ~~~~~~~~~~~~~~~~~~~ 1248 | }) | ~~ 1249 | .with_result({ | ~~~~~~~~~~~~~~ 1250 | "username", | ~~~~~~~~~~~ 1251 | "The name of the user specified in the URL", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1252 | }) | ~~ 1253 | .with_result({ | ~~~~~~~~~~~~~~ 1254 | "password", | ~~~~~~~~~~~ 1255 | "The password specified in the URL", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1256 | }) | ~~ 1257 | .with_result({ | ~~~~~~~~~~~~~~ 1258 | "host", | ~~~~~~~ 1259 | "The host name / IP specified in the URL", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1260 | }) | ~~ 1261 | .with_result({ | ~~~~~~~~~~~~~~ 1262 | "port", | ~~~~~~~ 1263 | "The port specified in the URL", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1264 | }) | ~~ 1265 | .with_result({ | ~~~~~~~~~~~~~~ 1266 | "path", | ~~~~~~~ 1267 | "The path specified in the URL", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1268 | }) | ~~ 1269 | .with_result({ | ~~~~~~~~~~~~~~ 1270 | "query", | ~~~~~~~~ 1271 | "The query string in the URL", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1272 | }) | ~~ 1273 | .with_result({ | ~~~~~~~~~~~~~~ 1274 | "parameters", | ~~~~~~~~~~~~~ 1275 | "An object containing the query parameters", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1276 | }) | ~~ 1277 | .with_result({ | ~~~~~~~~~~~~~~ 1278 | "fragment", | ~~~~~~~~~~~ 1279 | "The fragment specified in the URL", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1280 | }) | ~~ 1281 | .with_tags({"string", "url"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1282 | .with_example({ | ~~~~~~~~~~~~~~~ 1283 | "To parse the URL " | ~~~~~~~~~~~~~~~~~~~ 1284 | "'https://example.com/search?q=hello%20world'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1285 | "SELECT " | ~~~~~~~~~ 1286 | "parse_url('https://example.com/search?q=hello%20world')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1287 | }) | ~~ 1288 | .with_example({ | ~~~~~~~~~~~~~~~ 1289 | "To parse the URL " | ~~~~~~~~~~~~~~~~~~~ 1290 | "'https://alice@[fe80::14ff:4ee5:1215:2fb2]'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1291 | "SELECT " | ~~~~~~~~~ 1292 | "parse_url('https://alice@[fe80::14ff:4ee5:1215:2fb2]')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1293 | })) | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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:495: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]' 495 | }; | ^ string-extension-functions.cc:1297:20: required from here 1296 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1297 | builder( | ~~~~~~~^ 1298 | help_text("unparse_url", | ~~~~~~~~~~~~~~~~~~~~~~~~ 1299 | "Convert a JSON object containing the parts of a " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1300 | "URL into a URL string") | ~~~~~~~~~~~~~~~~~~~~~~~~ 1301 | .sql_function() | ~~~~~~~~~~~~~~~ 1302 | .with_parameter(help_text( | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 1303 | "obj", "The JSON object containing the URL parts")) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1304 | .with_tags({"string", "url"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1305 | .with_example({ | ~~~~~~~~~~~~~~~ 1306 | "To unparse the object " | ~~~~~~~~~~~~~~~~~~~~~~~~ 1307 | "'{\"scheme\": \"https\", \"host\": \"example.com\"}'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1308 | "SELECT " | ~~~~~~~~~ 1309 | "unparse_url('{\"scheme\": \"https\", \"host\": " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1310 | "\"example.com\"}')", | ~~~~~~~~~~~~~~~~~~~~~ 1311 | })), | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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_pretty_print; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::__cxx11::basic_string; Args = {string_fragment}; Return (* f)(Args ...) = sql_pretty_print]' 495 | }; | ^ string-extension-functions.cc:1314:20: required from here 1313 | sqlite_func_adapter:: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1314 | builder( | ~~~~~~~^ 1315 | help_text("pretty_print", "Pretty-print the given string") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1316 | .sql_function() | ~~~~~~~~~~~~~~~ 1317 | .with_prql_path({"text", "pretty"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1318 | .with_parameter(help_text("str", "The string to format")) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1319 | .with_tags({"string"}) | ~~~~~~~~~~~~~~~~~~~~~~ 1320 | .with_example({ | ~~~~~~~~~~~~~~~ 1321 | "To pretty-print the string " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1322 | "'{\"scheme\": \"https\", \"host\": \"example.com\"}'", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1323 | "SELECT " | ~~~~~~~~~ 1324 | "pretty_print('{\"scheme\": \"https\", \"host\": " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1325 | "\"example.com\"}')", | ~~~~~~~~~~~~~~~~~~~~~ 1326 | })), | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int CXX builtin-scripts.o CXX builtin-sh-scripts.o CXX css-color-names-json.o CXX default-config.o CXX default-formats.o CXX diseases-json.o view_curses.cc: In member function 'virtual bool view_curses::contains(int, int) const': view_curses.cc:209:20: warning: comparison of integer expressions of different signedness: 'const unsigned int' and 'int' [-Wsign-compare] 209 | if (this->vc_x <= x | ~~~~~~~~~~~^~~~ view_curses.cc:210:37: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare] 210 | && (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(ncplane*, int, int, attr_line_t&, const line_range&, role_t)': view_curses.cc:253:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 253 | if (y < 0 || y >= rows || x < 0 || x >= cols) { | ~~^~~~~~~ view_curses.cc:253:46: warning: comparison of integer expressions of different signedness: 'const int' and 'unsigned int' [-Wsign-compare] 253 | if (y < 0 || y >= rows || x < 0 || x >= cols) { | ~~^~~~~~~ view_curses.cc:255:43: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 255 | } else if ((x + line_width_chars) > cols) { | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ timeline_source.cc: In member function 'virtual std::vector timeline_preview_overlay::list_overlay_menu(const listview_curses&, vis_line_t)': timeline_source.cc:144:27: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare] 144 | if (left + MENU_WIDTH >= dim.second) { | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ timeline_source.cc: In member function 'virtual void timeline_header_overlay::list_value_for_overlay(const listview_curses&, vis_line_t, std::vector&)': timeline_source.cc:313:14: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector >::size_type' {aka 'unsigned int'} [-Wsign-compare] 313 | if (line >= this->gho_src->gs_time_order.size()) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ timeline_source.cc: In member function 'virtual line_info timeline_source::text_value_for_line(textview_curses&, int, std::string&, text_sub_source::line_flags_t)': timeline_source.cc:529:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector >::size_type' {aka 'unsigned int'} [-Wsign-compare] 529 | if (line < this->gs_time_order.size()) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ timeline_source.cc: In member function 'virtual void timeline_source::text_attrs_for_line(textview_curses&, int, string_attrs_t&)': timeline_source.cc:570:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector >::size_type' {aka 'unsigned int'} [-Wsign-compare] 570 | if (line < this->gs_time_order.size()) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ timeline_source.cc: In member function 'void timeline_source::rebuild_indexes()': timeline_source.cc:700:21: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 699 | if (sub.ostr_subid.length() | ~~~~~~~~~~~~~~~~~~~~~~~ 700 | > active_iter->second.or_max_subid_width) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ timeline_source.cc:823:42: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 823 | if (pair.second.or_name.length() > this->gs_opid_width) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ timeline_source.cc: In member function 'virtual std::optional timeline_source::time_for_row(vis_line_t)': timeline_source.cc:912:13: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector >::size_type' {aka 'unsigned int'} [-Wsign-compare] 912 | if (row >= this->gs_time_order.size()) { | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ timeline_source.cc:921:38: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 921 | if (ov_sel && ov_sel.value() < otr.otr_sub_ops.size()) { | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ timeline_source.cc:930:27: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector::size_type' {aka 'unsigned int'} [-Wsign-compare] 930 | if (preview_selection < this->gs_preview_rows.size()) { | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ timeline_source.cc: In member function 'virtual void timeline_source::text_selection_changed(textview_curses&)': timeline_source.cc:955:13: warning: comparison of integer expressions of different signedness: 'const int' and 'std::vector >::size_type' {aka 'unsigned int'} [-Wsign-compare] 955 | if (sel >= this->gs_time_order.size()) { | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ timeline_source.cc: In member function 'virtual void timeline_source::text_crumbs_for_line(int, std::vector&)': timeline_source.cc:1087:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector >::size_type' {aka 'unsigned int'} [-Wsign-compare] 1087 | if (line >= this->gs_time_order.size()) { | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ timeline_source.cc:1084:28: warning: variable 'SRC' set but not used [-Wunused-but-set-variable] 1084 | static intern_string_t SRC = intern_string::lookup("crumb"); | ^~~ CXX emojis-json.o CXX words-json.o CXX help-md.o CXX init-sql.o CXX prql-modules.o CXX time_fmts.o CXX xml-entities-json.o CXX xterm-palette-json.o CXX data_scanner.o CXX data_scanner_re.o CC test_override.o 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 state-extension-functions.cc:41: vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = std::optional; Args = {}; Return (* f)(Args ...) = sql_log_top_line; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::optional; Args = {}; Return (* f)(Args ...) = sql_log_top_line]' 495 | }; | ^ 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:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = std::optional; Args = {}; Return (* f)(Args ...) = sql_log_msg_line; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::optional; Args = {}; Return (* f)(Args ...) = sql_log_msg_line]' 495 | }; | ^ 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:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = std::optional >; Args = {}; Return (* f)(Args ...) = sql_log_top_datetime; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::optional >; Args = {}; Return (* f)(Args ...) = sql_log_top_datetime]' 495 | }; | ^ 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:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh: In instantiation of 'static void sqlite_func_adapter::func1(sqlite3_context*, int, sqlite3_value**) [with Return = std::optional >; Args = {}; Return (* f)(Args ...) = sql_lnav_top_file; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::optional >; Args = {}; Return (* f)(Args ...) = sql_lnav_top_file]' 495 | }; | ^ 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:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = const char*; Args = {}; Return (* f)(Args ...) = sql_lnav_version]' 495 | }; | ^ 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:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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*, std::optional}; Return (* f)(Args ...) = sql_error; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = long long int; Args = {const char*, std::optional}; Return (* f)(Args ...) = sql_error]' 495 | }; | ^ 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:456:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 456 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 457 | fd->fd_help.ht_name, 458 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:456:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 456 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 459 | 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::optional >; Args = {std::optional, std::allocator > >}; Return (* f)(Args ...) = sql_echoln; sqlite3_context = sqlite3_context; sqlite3_value = sqlite3_value]': vtab_module.hh:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = std::optional >; Args = {std::optional, std::allocator > >}; Return (* f)(Args ...) = sql_echoln]' 495 | }; | ^ 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:456:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 456 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d 457 | fd->fd_help.ht_name, 458 | REQ_COUNT, | ~~~~~~~~~ | | | unsigned int vtab_module.hh:456:58: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Wformat=] 456 | "%s() expects between %ld and %ld arguments", | ~~^ | | | long int | %d ...... 459 | REQ_COUNT + OPT_COUNT); | ~~~~~~~~~~~~~~~~~~~~~ | | | unsigned int view_helpers.cc: In member function 'virtual void lnav_behavior::mouse_event(notcurses*, int, bool, int, int)': view_helpers.cc:1617:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] 1617 | if (me.me_x >= width) { | ~~~~~~~~^~~~~~~~ In file included from log_vtab_impl.cc:41: ../src/third-party/scnlib/include/scn/ranges.h:75:41: warning: self-comparison always evaluates to true [-Wtautological-compare] 75 | std::integer_sequence); | ~~~^~~~~ In file included from time_fmts.cc:3: ptimec.hh: In function 'void ftime_s(char*, off_t&, ssize_t, const exttm&)': ptimec.hh:353:51: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 353 | 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:411:51: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'time_t' {aka 'long long int'} [-Wformat=] 411 | 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, from log_vtab_impl.hh:42, from log_vtab_impl.cc:30: log_vtab_impl.cc: In function 'int vt_next_no_rowid(sqlite3_vtab_cursor*)': log_vtab_impl.cc:682:49: warning: comparison of integer expressions of different signedness: 'const int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare] 682 | require(vc->log_cursor.lc_curr_line < vt->lss->text_line_count()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ base/lnav_log.hh:138:30: note: in definition of macro 'require' 138 | #define require(e) ((void) ((e) ? 0 : lnav_require(#e, __FILE__, __LINE__))) | ^ yaml-extension-functions.cc: In function 'void ryml_error_to_um(const char*, size_t, c4::yml::Location, void*)': yaml-extension-functions.cc:52:20: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare] 52 | if (loc.offset == sf.length()) { | ~~~~~~~~~~~^~~~~~~~~~~~~~ In file included from yaml-extension-functions.cc:39: 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:495:9: required from 'static FuncDef sqlite_func_adapter::builder(help_text) [with Return = json_string; Args = {string_fragment}; Return (* f)(Args ...) = yaml_to_json]' 495 | }; | ^ yaml-extension-functions.cc:91:76: required from here 91 | sqlite_func_adapter::builder( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 92 | help_text("yaml_to_json", | ~~~~~~~~~~~~~~~~~~~~~~~~~ 93 | "Convert a YAML document to a JSON-encoded string") | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 94 | .sql_function() | ~~~~~~~~~~~~~~~ 95 | .with_prql_path({"yaml", "to_json"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 96 | .with_parameter({"yaml", "The YAML value to convert to JSON."}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 97 | .with_tags({"json", "yaml"}) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 98 | .with_example({ | ~~~~~~~~~~~~~~~ 99 | "To convert the document \"abc: def\"", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 100 | "SELECT yaml_to_json('abc: def')", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101 | })), | ~~~ vtab_module.hh:449:50: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Wformat=] 449 | "%s() expects exactly %ld argument%s", | ~~^ | | | long int | %d 450 | fd->fd_help.ht_name, 451 | REQ_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; | ^~~~~~~~~~~~~~~~~~~~~~~~~ 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.4/src' make[2]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src' make[1]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src' Making all in test make[1]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/test' Making all in expected make[2]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/test/expected' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/test/expected' make[2]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/test' CXX test_stubs.o AR libtestdummy.a ar: `u' modifier ignored since `D' is the default (see `U') make[2]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/test' make[1]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/test' make[1]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4' make[1]: Nothing to be done for 'all-am'. make[1]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4' >>> lnav: Entering fakeroot... Making install in tools make[1]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/tools' make[2]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/tools' make[1]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/tools' Making install in src make[1]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src' make install-recursive make[2]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src' Making install in fmtlib make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/fmtlib' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/src/fmtlib' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/fmtlib' Making install in third-party/base64/lib make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/third-party/base64/lib' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/src/third-party/base64/lib' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/src/third-party/date/src' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/src/third-party/date/src' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/third-party/date/src' Making install in third-party/notcurses/src/lib make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/third-party/notcurses/src/lib' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/third-party/notcurses/src/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.4/src/third-party/notcurses/src/lib' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/third-party/notcurses/src/lib' Making install in third-party/scnlib/src make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/third-party/scnlib/src' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/src/third-party/scnlib/src' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/third-party/scnlib/src' Making install in pcrepp make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/pcrepp' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/src/pcrepp' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/pcrepp' Making install in base make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/base' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/src/base' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/base' Making install in tailer make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/tailer' make install-am make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/tailer' make[5]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/src/tailer' make[4]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/tailer' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/tailer' Making install in pugixml make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/pugixml' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/src/pugixml' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/pugixml' Making install in yajl make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/yajl' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/src/yajl' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/yajl' Making install in yajlpp make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/yajlpp' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/src/yajlpp' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/yajlpp' Making install in formats/logfmt make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/formats/logfmt' make[4]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/src/formats/logfmt' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src/formats/logfmt' Making install in . make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/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.4/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.4/src' bash ./alpha-release.sh make[5]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src' make[4]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src' make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src' make[2]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src' make[1]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/src' Making install in test make[1]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/test' Making install in expected make[2]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/test/expected' make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/test/expected' make[3]: Nothing to be done for 'install-exec-am'. make[3]: Nothing to be done for 'install-data-am'. make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/test/expected' make[2]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/test/expected' make[2]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/test' make[3]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/test' make[3]: Nothing to be done for 'install-exec-am'. make[3]: Nothing to be done for 'install-data-am'. make[3]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/test' make[2]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/test' make[1]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4/test' make[1]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4' make[2]: Entering directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4' 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.4' make[1]: Leaving directory '/home/buildozer/aports/community/lnav/src/lnav-0.12.4' >>> 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.4-r0.apk >>> lnav*: Tracing dependencies... tzdata 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:libunistring.so.5 so:libz.so.1 >>> lnav*: Package size: 7.8 MB >>> lnav*: Compressing data... >>> lnav*: Create checksum... >>> lnav*: Create lnav-0.12.4-r0.apk >>> lnav: Build complete at Sun, 01 Jun 2025 16:28:43 +0000 elapsed time 0h 4m 36s >>> lnav: Cleaning up srcdir >>> lnav: Cleaning up pkgdir >>> lnav: Uninstalling dependencies... (1/41) Purging .makedepends-lnav (20250601.162408) (2/41) Purging tzdata (2025b-r0) (3/41) Purging bash (5.2.37-r0) Executing bash-5.2.37-r0.pre-deinstall (4/41) Purging bzip2-dev (1.0.8-r6) (5/41) Purging curl-dev (8.14.0-r2) (6/41) Purging gpm-dev (1.20.7-r5) (7/41) Purging gpm-libs (1.20.7-r5) (8/41) Purging libarchive-dev (3.8.0-r0) (9/41) Purging libarchive (3.8.0-r0) (10/41) Purging libbsd-dev (0.12.2-r0) (11/41) Purging linux-headers (6.14.2-r0) (12/41) Purging libmd-dev (1.1.0-r0) (13/41) Purging libbsd (0.12.2-r0) (14/41) Purging libunistring-dev (1.3-r0) (15/41) Purging pcre2-dev (10.43-r1) (16/41) Purging libedit-dev (20250104.3.1-r1) (17/41) Purging bsd-compat-headers (0.7.2-r6) (18/41) Purging libpcre2-16 (10.43-r1) (19/41) Purging libpcre2-32 (10.43-r1) (20/41) Purging readline-dev (8.2.13-r1) (21/41) Purging libhistory (8.2.13-r1) (22/41) Purging sqlite-dev (3.50.0-r0) (23/41) Purging sqlite (3.50.0-r0) (24/41) Purging sqlite-libs (3.50.0-r0) (25/41) Purging zlib-dev (1.3.1-r2) (26/41) Purging brotli-dev (1.1.0-r2) (27/41) Purging brotli (1.1.0-r2) (28/41) Purging c-ares-dev (1.34.5-r0) (29/41) Purging libmd (1.1.0-r0) (30/41) Purging libpsl-dev (0.21.5-r3) (31/41) Purging libpsl-utils (0.21.5-r3) (32/41) Purging ncurses-dev (6.5_p20250503-r0) (33/41) Purging libncurses++ (6.5_p20250503-r0) (34/41) Purging libpanelw (6.5_p20250503-r0) (35/41) Purging nghttp2-dev (1.65.0-r0) (36/41) Purging openssl-dev (3.5.0-r0) (37/41) Purging zstd-dev (1.5.7-r0) (38/41) Purging zstd (1.5.7-r0) (39/41) Purging libformw (6.5_p20250503-r0) (40/41) Purging libidn2-dev (2.3.7-r0) (41/41) Purging libmenuw (6.5_p20250503-r0) Executing busybox-1.37.0-r18.trigger OK: 404 MiB in 118 packages >>> lnav: Updating the community/x86 repository index... >>> lnav: Signing the index...