forked from pool/cpprest
Accepting request 617304 from devel:libraries:c_c++
- fix build with gcc8 (add cpprestsdk-2.10.2-fix-gcc8.patch) OBS-URL: https://build.opensuse.org/request/show/617304 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cpprest?expand=0&rev=13
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Jun 17 11:09:02 UTC 2018 - astieger@suse.com
|
||||||
|
|
||||||
|
- fix build with gcc8 (add cpprestsdk-2.10.2-fix-gcc8.patch)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Mar 22 13:48:16 UTC 2018 - astieger@suse.com
|
Thu Mar 22 13:48:16 UTC 2018 - astieger@suse.com
|
||||||
|
|
||||||
|
|||||||
11
cpprest.spec
11
cpprest.spec
@@ -30,8 +30,9 @@ Summary: C++ REST library
|
|||||||
# utf8_validation.hpp: MIT (ThirdPartyNotices.txt)
|
# utf8_validation.hpp: MIT (ThirdPartyNotices.txt)
|
||||||
License: MIT AND BSD-3-Clause AND Zlib
|
License: MIT AND BSD-3-Clause AND Zlib
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
Url: https://github.com/Microsoft/cpprestsdk
|
URL: https://github.com/Microsoft/cpprestsdk
|
||||||
Source: https://github.com/Microsoft/cpprestsdk/archive/v%{version}.tar.gz#/cpprestsdk-%{version}.tar.gz
|
Source: https://github.com/Microsoft/cpprestsdk/archive/v%{version}.tar.gz#/cpprestsdk-%{version}.tar.gz
|
||||||
|
Patch0: cpprestsdk-2.10.2-fix-gcc8.patch
|
||||||
BuildRequires: cmake >= 3.0
|
BuildRequires: cmake >= 3.0
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: openssl-devel >= 1.0
|
BuildRequires: openssl-devel >= 1.0
|
||||||
@@ -76,6 +77,7 @@ Development files.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n cpprestsdk-%{version}
|
%setup -q -n cpprestsdk-%{version}
|
||||||
|
%patch0 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%cmake \
|
%cmake \
|
||||||
@@ -114,11 +116,14 @@ EOF
|
|||||||
%postun -n libcpprest%{major}_%{minor} -p /sbin/ldconfig
|
%postun -n libcpprest%{major}_%{minor} -p /sbin/ldconfig
|
||||||
|
|
||||||
%files -n libcpprest%{major}_%{minor}
|
%files -n libcpprest%{major}_%{minor}
|
||||||
%doc CONTRIBUTORS.txt license.txt ThirdPartyNotices.txt
|
%license license.txt ThirdPartyNotices.txt
|
||||||
|
%license license.txt
|
||||||
|
%doc CONTRIBUTORS.txt ThirdPartyNotices.txt
|
||||||
%{_libdir}/libcpprest.so.%{major}.%{minor}
|
%{_libdir}/libcpprest.so.%{major}.%{minor}
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%doc CONTRIBUTORS.txt license.txt
|
%license license.txt ThirdPartyNotices.txt
|
||||||
|
%doc CONTRIBUTORS.txt
|
||||||
%{_includedir}/%{name}
|
%{_includedir}/%{name}
|
||||||
%{_includedir}/pplx
|
%{_includedir}/pplx
|
||||||
%{_libdir}/libcpprest.so
|
%{_libdir}/libcpprest.so
|
||||||
|
|||||||
35
cpprestsdk-2.10.2-fix-gcc8.patch
Normal file
35
cpprestsdk-2.10.2-fix-gcc8.patch
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
From 212536f9d66400bef4400c55efd05dd01303c035 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Stieger <astieger@suse.com>
|
||||||
|
Date: Sun, 17 Jun 2018 13:00:05 +0200
|
||||||
|
Subject: [PATCH] Fix gcc8 error/warning -Werror=format-truncation=
|
||||||
|
|
||||||
|
utilities::datetime::to_string(): datetime_str and buf were oversized
|
||||||
|
for fitting into output without possible trunctation
|
||||||
|
---
|
||||||
|
Release/src/utilities/asyncrt_utils.cpp | 7 ++++---
|
||||||
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Release/src/utilities/asyncrt_utils.cpp b/Release/src/utilities/asyncrt_utils.cpp
|
||||||
|
index 0e62bdee..be38907c 100644
|
||||||
|
--- a/Release/src/utilities/asyncrt_utils.cpp
|
||||||
|
+++ b/Release/src/utilities/asyncrt_utils.cpp
|
||||||
|
@@ -691,12 +691,13 @@ utility::string_t datetime::to_string(date_format format) const
|
||||||
|
{
|
||||||
|
// Append fractional second, which is a 7-digit value with no trailing zeros
|
||||||
|
// This way, '1200' becomes '00012'
|
||||||
|
- char buf[9] = { 0 };
|
||||||
|
+ const int max_frac_length = 8;
|
||||||
|
+ char buf[max_frac_length+1] = { 0 };
|
||||||
|
snprintf(buf, sizeof(buf), ".%07ld", (long int)frac_sec);
|
||||||
|
// trim trailing zeros
|
||||||
|
- for (int i = 7; buf[i] == '0'; i--) buf[i] = '\0';
|
||||||
|
+ for (int i = max_frac_length-1; buf[i] == '0'; i--) buf[i] = '\0';
|
||||||
|
// format the datetime into a separate buffer
|
||||||
|
- char datetime_str[max_dt_length+1] = {0};
|
||||||
|
+ char datetime_str[max_dt_length-max_frac_length-1+1] = {0};
|
||||||
|
strftime(datetime_str, sizeof(datetime_str), "%Y-%m-%dT%H:%M:%S", &datetime);
|
||||||
|
// now print this buffer into the output buffer
|
||||||
|
snprintf(output, sizeof(output), "%s%sZ", datetime_str, buf);
|
||||||
|
--
|
||||||
|
2.16.4
|
||||||
|
|
||||||
Reference in New Issue
Block a user