mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-06 02:17:34 -08:00
net-misc/zsync: fix Modern C issues
Closes: https://bugs.gentoo.org/921150 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
parent
4e6b960f0c
commit
223c1bbb32
82
net-misc/zsync/files/zsync-0.6.2-c99.patch
Normal file
82
net-misc/zsync/files/zsync-0.6.2-c99.patch
Normal file
@ -0,0 +1,82 @@
|
||||
https://bugs.gentoo.org/921150
|
||||
https://sources.debian.org/data/main/z/zsync/0.6.2-7/debian/patches/fix-build-with-gcc-14.patch
|
||||
|
||||
Description: Fix build with GCC-14
|
||||
Author: Marcos Talau <talau@debian.org>
|
||||
Bug-Debian: https://bugs.debian.org/1075710
|
||||
Forwarded: https://github.com/cph6/zsync/issues/20
|
||||
Last-Update: 2024-08-16
|
||||
|
||||
--- a/client.c
|
||||
+++ b/client.c
|
||||
@@ -392,7 +392,7 @@ int fetch_remaining_blocks_http(struct z
|
||||
*/
|
||||
int fetch_remaining_blocks(struct zsync_state *zs) {
|
||||
int n, utype;
|
||||
- const char *const *url = zsync_get_urls(zs, &n, &utype);
|
||||
+ char **url = zsync_get_urls(zs, &n, &utype);
|
||||
int *status; /* keep status for each URL - 0 means no error */
|
||||
int ok_urls = n;
|
||||
|
||||
@@ -452,7 +452,7 @@ extern long global_offset;
|
||||
int main(int argc, char **argv) {
|
||||
struct zsync_state *zs;
|
||||
char *temp_file = NULL;
|
||||
- char **seedfiles = NULL;
|
||||
+ void **seedfiles = NULL;
|
||||
int nseedfiles = 0;
|
||||
char *filename = NULL;
|
||||
long long local_used;
|
||||
--- a/libzsync/zmap.c
|
||||
+++ b/libzsync/zmap.c
|
||||
@@ -333,7 +333,7 @@ int zmap_search(const struct zmap* zm, l
|
||||
* and in the order that it returned them, this condition is satisfied.
|
||||
*/
|
||||
void configure_zstream_for_zdata(const struct zmap *zm, z_stream * zs,
|
||||
- long zoffset, long long *poutoffset) {
|
||||
+ long zoffset, off_t *poutoffset) {
|
||||
/* Find the zmap entry corresponding to this offset */
|
||||
int i = zmap_search(zm, zoffset);
|
||||
|
||||
--- a/libzsync/zmap.h
|
||||
+++ b/libzsync/zmap.h
|
||||
@@ -29,7 +29,7 @@ struct zmap* zmap_make(const struct gzbl
|
||||
void zmap_free(struct zmap*);
|
||||
|
||||
off_t* zmap_to_compressed_ranges(const struct zmap* zm, off_t* byterange, int nrange, int* num);
|
||||
-void configure_zstream_for_zdata(const struct zmap* zm, struct z_stream_s* zs, long zoffset, long long* poutoffset);
|
||||
+void configure_zstream_for_zdata(const struct zmap* zm, struct z_stream_s* zs, long zoffset, off_t* poutoffset);
|
||||
|
||||
/* gzip flag byte */
|
||||
#define GZ_ASCII_FLAG 0x01 /* bit 0 set: file probably ascii text */
|
||||
--- a/libzsync/zsync.c
|
||||
+++ b/libzsync/zsync.c
|
||||
@@ -436,7 +436,7 @@ void zsync_progress(const struct zsync_s
|
||||
* Note that these URLs could be for encoded versions of the target; a 'type'
|
||||
* is returned in *type which tells libzsync in later calls what version of the
|
||||
* target is being retrieved. */
|
||||
-const char *const *zsync_get_urls(struct zsync_state *zs, int *n, int *t) {
|
||||
+char **zsync_get_urls(struct zsync_state *zs, int *n, int *t) {
|
||||
if (zs->zmap && zs->nzurl) {
|
||||
*n = zs->nzurl;
|
||||
*t = 1;
|
||||
@@ -768,7 +768,7 @@ char *zsync_end(struct zsync_state *zs)
|
||||
*/
|
||||
void zsync_configure_zstream_for_zdata(const struct zsync_state *zs,
|
||||
struct z_stream_s *zstrm,
|
||||
- long zoffset, long long *poutoffset) {
|
||||
+ long zoffset, off_t *poutoffset) {
|
||||
configure_zstream_for_zdata(zs->zmap, zstrm, zoffset, poutoffset);
|
||||
{ /* Load in prev 32k sliding window for backreferences */
|
||||
long long pos = *poutoffset;
|
||||
--- a/libzsync/zsync.h
|
||||
+++ b/libzsync/zsync.h
|
||||
@@ -58,7 +58,7 @@ int zsync_submit_source_file(struct zsyn
|
||||
* (the URL pointers are still referenced by the library, and are valid only until zsync_end).
|
||||
*/
|
||||
|
||||
-const char * const * zsync_get_urls(struct zsync_state* zs, int* n, int* t);
|
||||
+char ** zsync_get_urls(struct zsync_state* zs, int* n, int* t);
|
||||
|
||||
/* zsync_needed_byte_ranges - get the byte ranges needed from a URL.
|
||||
* Returns the number of ranges in *num, and a malloc'd array (to be freed
|
||||
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
@ -22,6 +22,7 @@ KEYWORDS="amd64 ~arm ppc ppc64 x86"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-0.6.2-musl-off_t-fix.patch
|
||||
"${FILESDIR}"/${PN}-0.6.2-c99.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
Loading…
x
Reference in New Issue
Block a user