Hi There,
I am submitting a patch to address the implicit int type errors in the
`lex.c` file, which occur when compiling with GCC 14. The errors were
due to missing type declarations for function parameters, which are no
longer implicitly assumed in GCC 14 [1]
The patch includes the following changes:
- Added explicit type declarations for the parameter `c` in the
functions `is_base64char`, `is_wordmidchar`, and `is_wordendchar`.
These changes ensure that the code is compatible with GCC 14 by adhering
to the updated type requirements.
Please note that this patch has not yet been submitted to upstream. I
resolved the issue by downloading the package from Debian unstable and
applying the necessary changes.
As I am a new contributor to Debian, I am not adopting the package as a
maintainer. However, I would greatly appreciate any assistance from a
Debian Developer (DD) who might be interested in helping with this process.
Please find the patch attached. I would appreciate it if you could
review and apply it at your earliest convenience.
[1] https://gcc.gnu.org/gcc-14/porting_to.html#implicit-int
Best regards,
--
Pablo Lucas Silva Santos
https://www.linkedin.com/in/pablolucas890
Description: This patch addresses the implicit int type errors in the `lex.c`
file, which occur when compiling with GCC 14. The errors were due to missing
type declarations for function parameters. According to the GCC 14 documentation
[1], the implicit int type is no longer assumed, and explicit type declarations
are required.
[1] https://gcc.gnu.org/gcc-14/porting_to.html#implicit-int
Author: Pablo Lucas Silva Santos
Bug-Debian: https://bugs.debian.org/1074850
Origin: (other)
Forwarded: (no)
Last-Update: 2025-02-25
--- bmf-0.9.4.orig/lex.c
+++ bmf-0.9.4/lex.c
@@ -186,17 +186,17 @@ static inline bool_t is_whitespace( int
return ( c == ' ' || c == '\t' || c == '\r' );
}
-static inline bool_t is_base64char(c)
+static inline bool_t is_base64char(int c)
{
return ( isalnum(c) || (c == '/' || c == '+') );
}
-static inline bool_t is_wordmidchar(c)
+static inline bool_t is_wordmidchar(int c)
{
return ( isalnum(c) || c == '$' || c == '\'' || c == '.' || c == '-' );
}
-static inline bool_t is_wordendchar(c)
+static inline bool_t is_wordendchar(int c)
{
return ( isalnum(c) || c == '$' );
}