[med-svn] [Git][med-team/htscodecs][master] 5 commits: New upstream version 1.6.1
Étienne Mollier (@emollier)
gitlab at salsa.debian.org
Fri Aug 23 11:07:39 BST 2024
Étienne Mollier pushed to branch master at Debian Med / htscodecs
Commits:
53702985 by Étienne Mollier at 2024-08-23T12:01:33+02:00
New upstream version 1.6.1
- - - - -
8be6b7c0 by Étienne Mollier at 2024-08-23T12:01:39+02:00
Update upstream source from tag 'upstream/1.6.1'
Update to upstream version '1.6.1'
with Debian dir 8d76976dab79063986be9ef370af2caa0b91983a
- - - - -
12bbc511 by Étienne Mollier at 2024-08-23T12:02:20+02:00
d/control: declare compliance to standards version 4.7.0.
- - - - -
2827b635 by Étienne Mollier at 2024-08-23T12:05:15+02:00
d/copyright: update copyright years.
- - - - -
a9425835 by Étienne Mollier at 2024-08-23T12:05:42+02:00
Ready for upload to unstable.
- - - - -
16 changed files:
- − .appveyor.yml
- .cirrus.yml
- + .gitattributes
- + .github/workflows/unix-build.yml
- + .github/workflows/windows-build.yml
- NEWS.md
- configure.ac
- debian/changelog
- debian/control
- debian/copyright
- htscodecs/htscodecs.c
- htscodecs/htscodecs.h
- htscodecs/pack.c
- htscodecs/rANS_static.c
- htscodecs/rANS_static4x16pr.c
- htscodecs/tokenise_name3.c
Changes:
=====================================
.appveyor.yml deleted
=====================================
@@ -1,39 +0,0 @@
-# version format.
-# you can use {branch} name in version format too
-# version: 1.0.{build}-{branch}
-version: 'vers.{build}'
-
-# branches to build
-branches:
- # Blacklist
- except:
- - gh-pages
-
-# Do not build on tags (GitHub and BitBucket)
-skip_tags: true
-
-# Skipping commits affecting specific files (GitHub only). More details here: /docs/appveyor-yml
-#skip_commits:
-# files:
-# - docs/*
-# - '**/*.html'
-
-# Appveyor Windows images are based on Visual studio version
-image: Visual Studio 2019
-
-# We use Mingw/Msys, so use pacman for installs
-install:
- - set HOME=.
- - set MSYSTEM=MINGW64
- - set PATH=C:/msys64/usr/bin;C:/msys64/mingw64/bin;%PATH%
- - set MINGWPREFIX=x86_64-w64-mingw32
- - "sh -lc \"pacman -S --noconfirm --needed base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-autotools\""
-
-build_script:
- - set HOME=.
- - set MSYSTEM=MINGW64
- - set PATH=C:/msys64/usr/bin;C:/msys64/mingw64/bin;%PATH%
- - "sh -lc \"autoreconf -i && ./configure --enable-werror CFLAGS='-g -O3 -D_XOPEN_SOURCE=600' && make -j2\""
-
-test_script:
- - "sh -lc \"make check || (cat tests/test-suite.log; false)\""
=====================================
.cirrus.yml
=====================================
@@ -21,25 +21,6 @@ compile_template: &COMPILE
# ----------
# Linux
-task:
- << : *ENVIRONMENT
- name: linux-gcc
- container:
- memory: 1G
- image: gcc:latest
-
- # Base environment already includes the packages we need.
-
- # One system with more excessive validation
- compile_script:
- - autoreconf -i
- - ./configure CC="gcc -fsanitize=address,undefined"
- - make -j4 CFLAGS="-g -O3 -Wall -Werror"
-
- test_script:
- - make check CFLAGS="-g -O3 -Wall -Werror"
- - make distcheck
-
task:
<< : *ENVIRONMENT
name: linux-arm
@@ -48,8 +29,6 @@ task:
cpu: 2
memory: 1G
- # Base environment already includes the packages we need.
-
# NB: we could consider building a docker image with these
# preinstalled and specifying that instead, to speed up testing.
install_script: |
@@ -61,10 +40,10 @@ task:
compile_script:
- autoreconf -i
- ./configure CC="clang" --disable-shared
- - make -j4 CFLAGS="-g -O3 -Wall -Werror"
+ - make -j4 CFLAGS="-g -O3 -Wall -Werror -Wextra -Wno-sign-compare -Wno-unused-parameter"
test_script:
- - make check CFLAGS="-g -O3 -Wall -Werror"
+ - make check CFLAGS="-g -O3 -Wall -Werror -Wextra -Wno-sign-compare -Wno-unused-parameter"
- make distcheck
# Rocky Linux
@@ -93,70 +72,12 @@ rocky_task:
<< : *COMPILE
-# ----------
-# MacOS X
-task:
- << : *ENVIRONMENT
- name: macosx
- macos_instance:
- image: ghcr.io/cirruslabs/macos-ventura-base:latest
-
- package_install_script:
- - brew install autoconf automake libtool
-
- # Try building and testing a multiarch library
- compile_script:
- - autoreconf -i
- - ./configure CFLAGS="-g -O3 -Wall -Werror -arch arm64 -arch x86_64"
- - make -j4
-
- test_script:
- - make check
-
-# # ----------
-# # Windows MINGW.
-# # A work in progress which doesn't yet work. It looks slow to install
-# # although *_cache can help a bit. Maybe just stick with AppVeyor.
-# task:
-# << : *ENVIRONMENT
-# name: windows-1
-# windows_container:
-# image: cirrusci/windowsservercore:2019
-# os_version: 2019
-#
-# # See https://cirrus-ci.org/guide/writing-tasks/#cache-instruction
-# mingw_cache:
-# # The entirety of chocholatey is heavyweight, but this is still
-# # under half the time of installing mingw.
-# folder: C:\Tools
-#
-# # default fingerprint is task name (windows-X above)
-# populate_script:
-# # Maybe choco install msys2 and then msys2 pacman to install
-# # mingw, meaning we can archive the entire C:\tools dir?
-# # - choco install -y --no-progress msys2 mingw
-# # - set PATH=%PATH%;\C:\tools\msys64\usr\bin
-# # - pacman -S --noconfirm --needed automake libtool autoconf
-#
-# # Msys is glacial, and installs its own broken compiler automatically
-# # which we then replace with mingw-w64-x86_64-toolchain.
-# # We a better way of downloading just the packages we need and running
-# # pacman on the files directly.
-# - choco install -y --no-progress msys2
-# - set PATH=%PATH%;\C:\tools\msys64\usr\bin
-# - pacman -S --noconfirm --needed base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-zlib mingw-w64-x86_64-bzip2 mingw-w64-x86_64-xz
-#
-# compile_script:
-# - c:\tools\msys64\usr\bin\bash --login "autoreconf -i"
-# - c:\tools\msys64\usr\bin\bash "./configure"
-# - c:\tools\msys64\usr\bin\bash "make -j4"
-
# ----------
# FreeBSD
task:
name: freebsd
freebsd_instance:
- image_family: freebsd-13-2
+ image_family: freebsd-14-0
pkginstall_script:
- pkg update -f
=====================================
.gitattributes
=====================================
@@ -0,0 +1,7 @@
+# Github's git changes NL for NL-CR on Windows.
+# We pretend everything is binary so any comparisons of test files
+# work.
+tests/** -text
+tests/*.c text
+tests/*.sh text
+tests/*.test text
=====================================
.github/workflows/unix-build.yml
=====================================
@@ -0,0 +1,45 @@
+# Various unix builds
+name: unix CI
+on: [push, pull_request]
+
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [ubuntu-latest, macos-latest]
+
+ defaults:
+ run:
+ shell: bash {0}
+
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout at v4
+
+ # MacOS. We validate compilation of x86_64 and arm64, but only
+ # test arm64. This will also be using clang by default
+ - name: macOS specific
+ if: runner.os == 'macOS'
+ run: |
+ brew install autoconf automake libtool
+ autoreconf -i
+ ./configure CFLAGS="-g -O3 -Wall -Werror -arch arm64 -arch x86_64"
+
+ # A slower build and test with address and undefined behaviour sanitizers
+ - name: Ubuntu-latest using gcc with sanitizers
+ if: runner.os == 'Linux'
+ run: |
+ autoreconf -i
+ ./configure CC="gcc -fsanitize=address,undefined"
+
+ - name: Compile
+ run: |
+ make -j6
+
+ - name: Check
+ run: |
+ make check || (cat tests/test-suite.log; false)
+
=====================================
.github/workflows/windows-build.yml
=====================================
@@ -0,0 +1,37 @@
+# A faster alternative to AppVeyor
+name: Windows/MinGW-W64
+on: [push, pull_request]
+
+jobs:
+ build:
+ runs-on: windows-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout at v4
+ - name: Set up MSYS2 MinGW-W64
+ uses: msys2/setup-msys2 at v2
+ with:
+ msystem: mingw64
+ update: false
+ install: >-
+ zlib-devel
+ libbz2-devel
+ liblzma-devel
+ mingw-w64-x86_64-toolchain
+ mingw-w64-x86_64-autotools
+ mingw-w64-x86_64-tools-git
+ - name: Compile htscodecs
+ shell: msys2 {0}
+ run: |
+ export PATH=/mingw64/bin:$PATH
+ export MSYSTEM=MINGW64
+ autoreconf -i
+ ./configure --disable-shared CFLAGS='-g -O3 -D_XOPEN_SOURCE=600 -Wall -Werror'
+ make -j8
+ - name: Check htscodecs
+ shell: msys2 {0}
+ run: |
+ export PATH=/mingw64/bin:$PATH
+ export MSYSTEM=MINGW64
+ make check || (cat tests/test-suite.log; false)
+
=====================================
NEWS.md
=====================================
@@ -1,3 +1,32 @@
+Release 1.6.1: 22nd August 2024
+-------------------------------
+
+This release is primarily portability and minor bug fixes.
+
+Changes
+
+- Improve warning levels by the compiler in CI. (#125)
+
+- Switch to GitHub actions for some CI builds. (#121, #123)
+
+- Add configure check for cpuid systems. (#115, #116. Reported by
+ Ryan Carsten Schmidt)
+
+Bug fixes
+
+- Use unsigned chars for ctype macros in the name tokeniser.
+ On many systems this was already mitigated against, but on some OSes
+ a char > 128 could trigger a buffer underrun. (#124)
+
+- Fix interaction between _XOPEN_SOURCE and FreeBSD.
+ (#119, John Marshall)
+
+- Improve AVX512 compiler support, notably MacOS El Capitan's XCode.
+ (#118, Rob Davies)
+
+- Fix -std=c99 -pendantic pedantry (#117)
+
+
Release 1.6.0: 7th December 2023
--------------------------------
=====================================
configure.ac
=====================================
@@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(htscodecs, 1.6.0)
+AC_INIT(htscodecs, 1.6.1)
# Some functions benefit from -O3 optimisation, so if the user didn't
# explicitly set any compiler flags, we'll plump for O3.
@@ -61,7 +61,7 @@ AM_EXTRA_RECURSIVE_TARGETS([fuzz])
# libhtscodecs.so.1.1.0
VERS_CURRENT=3
-VERS_REVISION=5
+VERS_REVISION=6
VERS_AGE=1
AC_SUBST(VERS_CURRENT)
AC_SUBST(VERS_REVISION)
@@ -120,6 +120,9 @@ AS_IF([test "$ax_cv_builtin_prefetch" = "yes"],
[Define to 1 if you have a __builtin_prefetch])],
[])
+dnl Check is cpuid works, needed by rANS_static4x16pr.c.
+AC_CHECK_DECLS([__get_cpuid_max, __cpuid_count], [], [], [[#include <cpuid.h>]])
+
dnl AC_CHECK_LIB([lzma], [lzma_easy_buffer_encode], [
dnl LIBS="-llzma $LIBS"
dnl AC_DEFINE([HAVE_LIBLZMA],1,[Define to 1 if you have the liblzma library.])])
@@ -185,7 +188,9 @@ HTS_CHECK_COMPILE_FLAGS_NEEDED([avx512f], [-mavx512f -mpopcnt], [AC_LANG_PROGRAM
#ifdef __x86_64__
__m512i a = _mm512_set1_epi32(1);
__m512i b = _mm512_add_epi32(a, a);
- return _mm_popcnt_u32(*((char *) &b));
+ __m256i c = _mm512_castsi512_si256(b);
+ __m256i d = _mm512_extracti64x4_epi64(a, 1);
+ return _mm_popcnt_u32(*((char *) &c)) + (*(char *) &d);
#endif
]])], [
MAVX512="$flags_needed"
=====================================
debian/changelog
=====================================
@@ -1,3 +1,11 @@
+htscodecs (1.6.1-1) unstable; urgency=medium
+
+ * New upstream version 1.6.1
+ * d/control: declare compliance to standards version 4.7.0.
+ * d/copyright: update copyright years.
+
+ -- Étienne Mollier <emollier at debian.org> Fri, 23 Aug 2024 12:05:34 +0200
+
htscodecs (1.6.0-1) unstable; urgency=medium
* New upstream version 1.6.0
=====================================
debian/control
=====================================
@@ -7,7 +7,7 @@ Uploaders: Michael R. Crusoe <crusoe at debian.org>,
Build-Depends: debhelper-compat (= 13),
d-shlibs,
libbz2-dev
-Standards-Version: 4.6.2
+Standards-Version: 4.7.0
Vcs-Browser: https://salsa.debian.org/med-team/htscodecs
Vcs-Git: https://salsa.debian.org/med-team/htscodecs.git
Homepage: https://github.com/jkbonfield/htscodecs/
=====================================
debian/copyright
=====================================
@@ -3,7 +3,7 @@ Upstream-Name: htscodecs
Source: https://github.com/jkbonfield/htscodecs/
Files: *
-Copyright: 2009-2023, Genome Research Ltd.
+Copyright: 2009-2024, Genome Research Ltd.
License: BSD-3-clause
Files: htscodecs/c_range_coder.h
@@ -26,7 +26,7 @@ Files: debian/*
Copyright: 2020 Michael R. Crusoe <michael.crusoe at gmail.com>,
2020-2021 Andreas Tille <tille at debian.org>,
2021 Steffen Moeller <moeller at debian.org>,
- 2021-2023 Étienne Mollier <emollier at debian.org>
+ 2021-2024 Étienne Mollier <emollier at debian.org>
License: BSD-3-clause
License: BSD-3-clause
=====================================
htscodecs/htscodecs.c
=====================================
@@ -39,6 +39,6 @@
* NB: This is obtained from the auto-generated version.h, so
* we can include release number and git hash.
*/
-const char *htscodecs_version() {
+const char *htscodecs_version(void) {
return HTSCODECS_VERSION_TEXT;
}
=====================================
htscodecs/htscodecs.h
=====================================
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021-2023 Genome Research Ltd.
+ * Copyright (c) 2021-2024 Genome Research Ltd.
* Author(s): James Bonfield
*
* Redistribution and use in source and binary forms, with or without
@@ -43,13 +43,13 @@
* Note currently this needs manually editing as it isn't automatically
* updated by autoconf.
*/
-#define HTSCODECS_VERSION 100600
+#define HTSCODECS_VERSION 100601
/*
* A const string form of the HTSCODECS_VERSION define.
* NB: This is obtained from the auto-generated version.h, so
* we can include release number and git hash.
*/
-const char *htscodecs_version();
+const char *htscodecs_version(void);
#endif /* HTSCODECS_H */
=====================================
htscodecs/pack.c
=====================================
@@ -109,8 +109,8 @@ uint8_t *hts_pack(uint8_t *data, int64_t len,
out[j] = 0;
int s = len-i, x = 0;
switch (s) {
- case 3: out[j] |= p[data[i++]] << x; x+=2;
- case 2: out[j] |= p[data[i++]] << x; x+=2;
+ case 3: out[j] |= p[data[i++]] << x; x+=2; // fall-through
+ case 2: out[j] |= p[data[i++]] << x; x+=2; // fall-through
case 1: out[j] |= p[data[i++]] << x; x+=2;
j++;
}
@@ -125,12 +125,12 @@ uint8_t *hts_pack(uint8_t *data, int64_t len,
out[j] = 0;
int s = len-i, x = 0;
switch (s) {
- case 7: out[j] |= p[data[i++]] << x++;
- case 6: out[j] |= p[data[i++]] << x++;
- case 5: out[j] |= p[data[i++]] << x++;
- case 4: out[j] |= p[data[i++]] << x++;
- case 3: out[j] |= p[data[i++]] << x++;
- case 2: out[j] |= p[data[i++]] << x++;
+ case 7: out[j] |= p[data[i++]] << x++; // fall-through
+ case 6: out[j] |= p[data[i++]] << x++; // fall-through
+ case 5: out[j] |= p[data[i++]] << x++; // fall-through
+ case 4: out[j] |= p[data[i++]] << x++; // fall-through
+ case 3: out[j] |= p[data[i++]] << x++; // fall-through
+ case 2: out[j] |= p[data[i++]] << x++; // fall-through
case 1: out[j] |= p[data[i++]] << x++;
j++;
}
=====================================
htscodecs/rANS_static.c
=====================================
@@ -167,8 +167,11 @@ unsigned char *rans_compress_O0(unsigned char *in, unsigned int in_size,
switch (i=(in_size&3)) {
case 3: RansEncPutSymbol(&rans2, &ptr, &syms[in[in_size-(i-2)]]);
+ // fall-through
case 2: RansEncPutSymbol(&rans1, &ptr, &syms[in[in_size-(i-1)]]);
+ // fall-through
case 1: RansEncPutSymbol(&rans0, &ptr, &syms[in[in_size-(i-0)]]);
+ // fall-through
case 0:
break;
}
@@ -361,10 +364,13 @@ unsigned char *rans_uncompress_O0(unsigned char *in, unsigned int in_size,
switch(out_sz&3) {
case 3:
out_buf[out_end + 2] = ssym[R[2] & mask];
+ // fall-through
case 2:
out_buf[out_end + 1] = ssym[R[1] & mask];
+ // fall-through
case 1:
out_buf[out_end] = ssym[R[0] & mask];
+ // fall-through
default:
break;
}
=====================================
htscodecs/rANS_static4x16pr.c
=====================================
@@ -176,8 +176,11 @@ unsigned char *rans_compress_O0_4x16(unsigned char *in, unsigned int in_size,
switch (i=(in_size&3)) {
case 3: RansEncPutSymbol(&rans2, &ptr, &syms[in[in_size-(i-2)]]);
+ // fall-through
case 2: RansEncPutSymbol(&rans1, &ptr, &syms[in[in_size-(i-1)]]);
+ // fall-through
case 1: RansEncPutSymbol(&rans0, &ptr, &syms[in[in_size-(i-0)]]);
+ // fall-through
case 0:
break;
}
@@ -824,8 +827,9 @@ unsigned char *rans_uncompress_O1_4x16(unsigned char *in, unsigned int in_size,
static int rans_cpu = 0xFFFF; // all
-#if (defined(__GNUC__) || defined(__clang__)) && defined(__x86_64__)
-// Icc and Clang both also set __GNUC__ on linux, but not on Windows.
+#if defined(__x86_64__) && \
+ defined(HAVE_DECL___CPUID_COUNT) && HAVE_DECL___CPUID_COUNT && \
+ defined(HAVE_DECL___GET_CPUID_MAX) && HAVE_DECL___GET_CPUID_MAX
#include <cpuid.h>
#if defined(__clang__) && defined(__has_attribute)
@@ -1034,7 +1038,7 @@ unsigned char *(*rans_dec_func(int do_simd, int order))
#include <processthreadsapi.h>
#endif
-static inline int have_neon() {
+static inline int have_neon(void) {
#if defined(__linux__) && defined(__arm__)
return (getauxval(AT_HWCAP) & HWCAP_NEON) != 0;
#elif defined(__linux__) && defined(__aarch64__) && defined(HWCAP_ASIMD)
@@ -1042,11 +1046,11 @@ static inline int have_neon() {
#elif defined(__APPLE__)
return 1;
#elif defined(__FreeBSD__) && defined(__arm__)
- u_long cap;
+ unsigned long cap;
if (elf_aux_info(AT_HWCAP, &cap, sizeof cap) != 0) return 0;
return (cap & HWCAP_NEON) != 0;
#elif defined(__FreeBSD__) && defined(__aarch64__) && defined(HWCAP_ASIMD)
- u_long cap;
+ unsigned long cap;
if (elf_aux_info(AT_HWCAP, &cap, sizeof cap) != 0) return 0;
return (cap & HWCAP_ASIMD) != 0;
#elif defined(_WIN32)
=====================================
htscodecs/tokenise_name3.c
=====================================
@@ -232,15 +232,15 @@ static void free_context(name_context *ctx) {
// Returns number of bytes written.
static int append_uint32_fixed(char *cp, uint32_t i, uint8_t l) {
switch (l) {
- case 9:*cp++ = i / 100000000 + '0', i %= 100000000;
- case 8:*cp++ = i / 10000000 + '0', i %= 10000000;
- case 7:*cp++ = i / 1000000 + '0', i %= 1000000;
- case 6:*cp++ = i / 100000 + '0', i %= 100000;
- case 5:*cp++ = i / 10000 + '0', i %= 10000;
- case 4:*cp++ = i / 1000 + '0', i %= 1000;
- case 3:*cp++ = i / 100 + '0', i %= 100;
- case 2:*cp++ = i / 10 + '0', i %= 10;
- case 1:*cp++ = i + '0';
+ case 9:*cp++ = i / 100000000 + '0', i %= 100000000; // fall-through
+ case 8:*cp++ = i / 10000000 + '0', i %= 10000000; // fall-through
+ case 7:*cp++ = i / 1000000 + '0', i %= 1000000; // fall-through
+ case 6:*cp++ = i / 100000 + '0', i %= 100000; // fall-through
+ case 5:*cp++ = i / 10000 + '0', i %= 10000; // fall-through
+ case 4:*cp++ = i / 1000 + '0', i %= 1000; // fall-through
+ case 3:*cp++ = i / 100 + '0', i %= 100; // fall-through
+ case 2:*cp++ = i / 10 + '0', i %= 10; // fall-through
+ case 1:*cp++ = i + '0'; // fall-throuhg
case 0:break;
}
return l;
@@ -765,19 +765,20 @@ static int encode_name(name_context *ctx, char *name, int len, int mode) {
}
/* Determine data type of this segment */
- if (isalpha(name[i])) {
+ if (isalpha((uint8_t)name[i])) {
int s = i+1;
// int S = i+1;
// // FIXME: try which of these is best. alnum is good sometimes.
-// while (s < len && isalpha(name[s]))
- while (s < len && (isalpha(name[s]) || ispunct(name[s])))
+// while (s < len && isalpha((uint8_t)name[s]))
+ while (s < len && (isalpha((uint8_t)name[s]) ||
+ ispunct((uint8_t)name[s])))
// while (s < len && name[s] != ':')
-// while (s < len && !isdigit(name[s]) && name[s] != ':')
+// while (s < len && !isdigit((uint8_t)name[s]) && name[s] != ':')
s++;
// if (!is_fixed) {
-// while (S < len && isalnum(name[S]))
+// while (S < len && isalnum((uint8_t)name[S]))
// S++;
// if (s < S)
// s = S;
@@ -821,7 +822,7 @@ static int encode_name(name_context *ctx, char *name, int len, int mode) {
uint32_t v = 0;
int d = 0;
- while (s < len && isdigit(name[s]) && s-i < 9) {
+ while (s < len && isdigit((uint8_t)name[s]) && s-i < 9) {
v = v*10 + name[s] - '0';
//putchar(name[s]);
s++;
@@ -866,13 +867,13 @@ static int encode_name(name_context *ctx, char *name, int len, int mode) {
ctx->lc[cnum].last[ntok].token_type = N_DIGITS0;
i = s-1;
- } else if (isdigit(name[i])) {
+ } else if (isdigit((uint8_t)name[i])) {
// digits starting 1-9; encode value
uint32_t s = i;
uint32_t v = 0;
int d = 0;
- while (s < len && isdigit(name[s]) && s-i < 9) {
+ while (s < len && isdigit((uint8_t)name[s]) && s-i < 9) {
v = v*10 + name[s] - '0';
//putchar(name[s]);
s++;
@@ -938,7 +939,7 @@ static int encode_name(name_context *ctx, char *name, int len, int mode) {
i = s-1;
} else {
n_char:
- //if (!isalpha(name[i])) putchar(name[i]);
+ //if (!isalpha((uint8_t)name[i])) putchar(name[i]);
if (pnum < cnum && ntok < ctx->lc[pnum].last_ntok && ctx->lc[pnum].last[ntok].token_type == N_CHAR) {
if (name[i] == ctx->lc[pnum].last[ntok].token_int) {
#ifdef ENC_DEBUG
View it on GitLab: https://salsa.debian.org/med-team/htscodecs/-/compare/b39d1917926519d6907669b57a5e87e6c8de81d5...a9425835199e2fe2b7eb86429bad5b086f36f7c8
--
View it on GitLab: https://salsa.debian.org/med-team/htscodecs/-/compare/b39d1917926519d6907669b57a5e87e6c8de81d5...a9425835199e2fe2b7eb86429bad5b086f36f7c8
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20240823/bb26daef/attachment-0001.htm>
More information about the debian-med-commit
mailing list