diff --git a/aalib-c99.patch b/aalib-c99.patch
new file mode 100644
index 0000000000000000000000000000000000000000..2a65cc2382955e697eed915664d72220995ea45c
--- /dev/null
+++ b/aalib-c99.patch
@@ -0,0 +1,108 @@
+Add additional system header #include directives for more
+function prototypes. This avoids implicit function declarations
+and build failures with future compilers.
+
+Submitted upstream:
+
+diff --git a/src/aafire.c b/src/aafire.c
+index 4f36149aa84fba57..a59b5c5fa58e085b 100644
+--- a/src/aafire.c
++++ b/src/aafire.c
+@@ -1,4 +1,5 @@
+ #include
++#include
+ #include "aalib.h"
+
+ #define XSIZ aa_imgwidth(context)
+diff --git a/src/aainfo.c b/src/aainfo.c
+index d3f6d50f34590638..f4250ee37ae46134 100644
+--- a/src/aainfo.c
++++ b/src/aainfo.c
+@@ -1,3 +1,4 @@
++#include
+
+ #include "aalib.h"
+ #include "aaint.h"
+diff --git a/src/aakbdreg.c b/src/aakbdreg.c
+index def65fe25646d75a..682616313c1b6ebd 100644
+--- a/src/aakbdreg.c
++++ b/src/aakbdreg.c
+@@ -1,4 +1,5 @@
+ #include
++#include
+ #include "config.h"
+ #include "aalib.h"
+ #include "aaint.h"
+diff --git a/src/aalib.c b/src/aalib.c
+index 11fecc8fe8ef6b59..1ef12c0dfa9026a4 100644
+--- a/src/aalib.c
++++ b/src/aalib.c
+@@ -1,4 +1,5 @@
+ #include
++#include
+ #include
+ #include
+ #include "aalib.h"
+diff --git a/src/aalinuxkbd.c b/src/aalinuxkbd.c
+index c7f388abfe9e8c7f..ea988154518dfc8e 100644
+--- a/src/aalinuxkbd.c
++++ b/src/aalinuxkbd.c
+@@ -8,6 +8,7 @@
+ */
+
+ #include "config.h"
++#include
+ #ifdef LINUX_DRIVER
+ #include
+ #include
+diff --git a/src/aamoureg.c b/src/aamoureg.c
+index 03808289eb59b928..6d807416ae0d3dc2 100644
+--- a/src/aamoureg.c
++++ b/src/aamoureg.c
+@@ -1,4 +1,5 @@
+ #include
++#include
+ #include "config.h"
+ #include "aalib.h"
+ #include "aaint.h"
+diff --git a/src/aaregist.c b/src/aaregist.c
+index 54abec0b9797533a..768b8ce29e286b00 100644
+--- a/src/aaregist.c
++++ b/src/aaregist.c
+@@ -1,4 +1,5 @@
+ #include
++#include
+ #include "config.h"
+ #include "aalib.h"
+ #include "aaint.h"
+diff --git a/src/aasavefont.c b/src/aasavefont.c
+index b00e1e6d7f181952..864ba225d5ef626c 100644
+--- a/src/aasavefont.c
++++ b/src/aasavefont.c
+@@ -1,3 +1,4 @@
++#include
+ #include "aalib.h"
+ int main(int argc, char **argv)
+ {
+diff --git a/src/aatest.c b/src/aatest.c
+index 9816f5d855134894..89933cfba6344270 100644
+--- a/src/aatest.c
++++ b/src/aatest.c
+@@ -1,3 +1,5 @@
++#include
++#include
+ #include "aalib.h"
+ int main(int argc, char **argv)
+ {
+diff --git a/src/aaxkbd.c b/src/aaxkbd.c
+index f16afc63bb565512..44b91458b4bef3bc 100644
+--- a/src/aaxkbd.c
++++ b/src/aaxkbd.c
+@@ -7,6 +7,7 @@
+ #include
+ #include
+ #include
++#include
+ #include "aalib.h"
+ #include "aaint.h"
+ #include "aaxint.h"
diff --git a/aalib.spec b/aalib.spec
index dbe9973b35e1bcbb244baa02e779314ab0ad25bd..1a11f084dc8d24286ce35035c3bd04774fa086a3 100644
--- a/aalib.spec
+++ b/aalib.spec
@@ -1,12 +1,13 @@
Name: aalib
Version: 1.4.0
-Release: 2
+Release: 3
Summary: An ASCII Art Library
License: GPL-2.0+
URL: http://aa-project.sourceforge.net/aalib/
Source0: http://download.sourceforge.net/aa-project/aalib-1.4rc5.tar.gz
# Fix missing return value
Patch0001: aalib-1.4rc5-bug149361.patch
+Patch0002: aalib-c99.patch
BuildRequires: slang-devel libXt-devel gpm-devel ncurses-devel autoconf libtool
Provides: %{name}-libs = %{version}-%{release}
Obsoletes: %{name}-libs < %{version}-%{release}
@@ -78,6 +79,9 @@ fi
%{_mandir}/man3/*
%changelog
+* Mon Jul 28 2025 Liu Qingtao -1.4.0-3
+- backport from fedoraproject to port to C99
+
* Thu Dec 03 2020 Ge Wang - 1.4.0-2
- Modify license