!19 [sync] PR-18: 修复编译失败问题

From: @openeuler-sync-bot 
Reviewed-by: @reganhe_xx 
Signed-off-by: @reganhe_xx
This commit is contained in:
openeuler-ci-bot 2022-03-11 05:33:09 +00:00 committed by Gitee
commit 58d731d912
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 47 additions and 2 deletions

View File

@ -0,0 +1,40 @@
From e9e8dd148b9454abb5a7704d6f6249f7aa7aeded Mon Sep 17 00:00:00 2001
From: herengui <herengui@uniontech.com>
Date: Thu, 10 Mar 2022 18:14:43 +0800
Subject: [PATCH] Replace Curses mvprintw() with va_list-based equivalent
Instead of allocating a buffer for the formatted string and printing
it with mvprintw() -- which should have a "%s" format argument to guard
against '%' characters in the formatted string, hat tip Andreas Tille --,
use vw_printw() which takes a va_list so can do the formatting itself.
Signed-off-by: herengui <herengui@uniontech.com>
---
bam_tview_curses.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/bam_tview_curses.c b/bam_tview_curses.c
index 11db0da..37fb033 100644
--- a/bam_tview_curses.c
+++ b/bam_tview_curses.c
@@ -78,15 +78,11 @@ static void curses_destroy(tview_t* base) {
*/
static void curses_mvprintw(struct AbstractTview* tv,int y ,int x,const char* fmt,...) {
- unsigned int size=tv->mcol+2;
- char* str=malloc(size);
- if(str==0) exit(EXIT_FAILURE);
va_list argptr;
va_start(argptr, fmt);
- vsnprintf(str,size, fmt, argptr);
+ if (wmove(stdscr, y, x) != ERR)
+ vw_printw(stdscr, fmt, argptr);
va_end(argptr);
- mvprintw(y,x,str);
- free(str);
}
static void curses_mvaddch(struct AbstractTview* tv,int y,int x,int ch) {
--
2.20.1

View File

@ -1,11 +1,13 @@
Name: samtools
Version: 1.12
Release: 4
Release: 5
Summary: Tools (written in C using htslib) for manipulating next-generation sequencing data
License: MIT and BSD
URL: http://www.htslib.org
Source0: https://github.com/samtools/samtools/archive/%{name}-%{version}.tar.bz2
Patch0: Replace-Curses-mvprintw-with-va_list-based-equivalen.patch
BuildRequires: gcc autoconf automake make zlib-devel htslib-devel ncurses-devel bzip2-devel xz-devel
%description
@ -24,7 +26,7 @@ Requires: %{name} = %{version}-%{release}
Header files and libraries for compiling against %{name}
%prep
%setup -q -n %{name}-%{version}
%autosetup -p1
%build
autoheader
@ -57,6 +59,9 @@ install -D -p -m 0755 libbam.a %{buildroot}%{_libdir}/libbam.a
%{_libdir}/libbam.a
%changelog
* Thu Mar 10 2022 herengui <herengui@uniontech.com> - 1.12-5
- fix build error
* Tue Feb 08 2022 herengui <herengui@uniontech.com> - 1.12-4
- rebuild for htslib version updated.