Accepting request 841945 from Base:System
- fix [bsc#1177579] -- wrong clamping of hexadecimal digits in dc - deleted patches - bc-1.06-dc_ibase.patch (upstreamed) OBS-URL: https://build.opensuse.org/request/show/841945 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/bc?expand=0&rev=26
This commit is contained in:
commit
7ac7ba4e70
@ -1,60 +0,0 @@
|
|||||||
Index: dc/numeric.c
|
|
||||||
===================================================================
|
|
||||||
--- dc/numeric.c.orig
|
|
||||||
+++ dc/numeric.c
|
|
||||||
@@ -307,6 +307,8 @@ dc_getnum DC_DECLARG((input, ibase, read
|
|
||||||
int digit;
|
|
||||||
int decimal;
|
|
||||||
int c;
|
|
||||||
+ int c_buff = 0;
|
|
||||||
+ int multi = 0;
|
|
||||||
|
|
||||||
bc_init_num(&tmp);
|
|
||||||
bc_init_num(&build);
|
|
||||||
@@ -324,6 +326,9 @@ dc_getnum DC_DECLARG((input, ibase, read
|
|
||||||
}
|
|
||||||
while (isspace(c))
|
|
||||||
c = (*input)();
|
|
||||||
+ c_buff = (*input)();
|
|
||||||
+ if (isdigit(c_buff) || ('A' <= c_buff && c_buff <= 'F') || c_buff == '.')
|
|
||||||
+ multi = 1;
|
|
||||||
for (;;){
|
|
||||||
if (isdigit(c))
|
|
||||||
digit = c - '0';
|
|
||||||
@@ -331,10 +336,15 @@ dc_getnum DC_DECLARG((input, ibase, read
|
|
||||||
digit = 10 + c - 'A';
|
|
||||||
else
|
|
||||||
break;
|
|
||||||
- c = (*input)();
|
|
||||||
+ digit = multi ? (digit >= ibase ? ibase -1 : digit) : digit;
|
|
||||||
bc_int2num(&tmp, digit);
|
|
||||||
bc_multiply(result, base, &result, 0);
|
|
||||||
bc_add(result, tmp, &result, 0);
|
|
||||||
+ if (c_buff) {
|
|
||||||
+ c = c_buff;
|
|
||||||
+ c_buff = 0;
|
|
||||||
+ } else
|
|
||||||
+ c = (*input)();
|
|
||||||
}
|
|
||||||
if (c == '.'){
|
|
||||||
bc_free_num(&build);
|
|
||||||
@@ -343,13 +353,18 @@ dc_getnum DC_DECLARG((input, ibase, read
|
|
||||||
build = bc_copy_num(_zero_);
|
|
||||||
decimal = 0;
|
|
||||||
for (;;){
|
|
||||||
- c = (*input)();
|
|
||||||
+ if (c_buff) {
|
|
||||||
+ c = c_buff;
|
|
||||||
+ c_buff = 0;
|
|
||||||
+ } else
|
|
||||||
+ c = (*input)();
|
|
||||||
if (isdigit(c))
|
|
||||||
digit = c - '0';
|
|
||||||
else if ('A' <= c && c <= 'F')
|
|
||||||
digit = 10 + c - 'A';
|
|
||||||
else
|
|
||||||
break;
|
|
||||||
+ digit = digit >= ibase ? ibase -1 : digit;
|
|
||||||
bc_int2num(&tmp, digit);
|
|
||||||
bc_multiply(build, base, &build, 0);
|
|
||||||
bc_add(build, tmp, &build, 0);
|
|
@ -1,3 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 15 14:20:20 UTC 2020 - pgajdos@suse.com
|
||||||
|
|
||||||
|
- fix [bsc#1177579] -- wrong clamping of hexadecimal digits in dc
|
||||||
|
- deleted patches
|
||||||
|
- bc-1.06-dc_ibase.patch (upstreamed)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Aug 28 11:33:46 CEST 2019 - kukuk@suse.de
|
Wed Aug 28 11:33:46 CEST 2019 - kukuk@suse.de
|
||||||
|
|
||||||
|
6
bc.spec
6
bc.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package bc
|
# spec file for package bc
|
||||||
#
|
#
|
||||||
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
|
# Copyright (c) 2020 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -22,11 +22,10 @@ Release: 0
|
|||||||
Summary: GNU Command Line Calculator
|
Summary: GNU Command Line Calculator
|
||||||
License: GPL-2.0-or-later
|
License: GPL-2.0-or-later
|
||||||
Group: Productivity/Scientific/Math
|
Group: Productivity/Scientific/Math
|
||||||
Url: https://www.gnu.org/software/bc/
|
URL: https://www.gnu.org/software/bc/
|
||||||
Source0: https://ftp.gnu.org/gnu/bc/bc-%{version}.tar.gz
|
Source0: https://ftp.gnu.org/gnu/bc/bc-%{version}.tar.gz
|
||||||
Source1: https://ftp.gnu.org/gnu/bc/bc-%{version}.tar.gz.sig
|
Source1: https://ftp.gnu.org/gnu/bc/bc-%{version}.tar.gz.sig
|
||||||
Source2: %{name}.keyring
|
Source2: %{name}.keyring
|
||||||
Patch1: bc-1.06-dc_ibase.patch
|
|
||||||
# Correct return value after 'q' [bsc#1129038]
|
# Correct return value after 'q' [bsc#1129038]
|
||||||
Patch2: bc-dc-correct-return-value.patch
|
Patch2: bc-dc-correct-return-value.patch
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
@ -58,7 +57,6 @@ and "pushes" its results back onto the stack.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch1
|
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
Loading…
Reference in New Issue
Block a user