unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
blob 2d7ffd7e68c045d166c6888f85410bfb7c0d3edf 1728 bytes (raw)
name: gnu/packages/patches/igraph-fix-varargs-integer-size.patch 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
If the size of int is different from IGRAPH_INTEGER_SIZE, the integer size
passed to these vararg arguments is different from the assumed one,
leading to undefined behavior.
Submitted upstream: https://github.com/igraph/igraph/pull/2423


diff -ur a/examples/simple/igraph_union.c b/examples/simple/igraph_union.c
--- a/examples/simple/igraph_union.c
+++ b/examples/simple/igraph_union.c
@@ -103,7 +103,7 @@
     igraph_vector_ptr_init(&glist, 10);
     for (i = 0; i < igraph_vector_ptr_size(&glist); i++) {
         VECTOR(glist)[i] = calloc(1, sizeof(igraph_t));
-        igraph_vector_int_init_int_end(&v, -1, i, i + 1, 1, 0, -1);
+        igraph_vector_int_init_int_end(&v, -1, (int) i, (int) i + 1, 1, 0, -1);
         igraph_create(VECTOR(glist)[i], &v, 0, IGRAPH_DIRECTED);
         igraph_vector_int_destroy(&v);
     }
@@ -123,7 +123,7 @@
     igraph_vector_ptr_init(&glist, 10);
     for (i = 0; i < igraph_vector_ptr_size(&glist); i++) {
         VECTOR(glist)[i] = calloc(1, sizeof(igraph_t));
-        igraph_vector_int_init_int_end(&v, -1, i, i + 1, 1, 0, -1);
+        igraph_vector_int_init_int_end(&v, -1, (int) i, (int) i + 1, 1, 0, -1);
         igraph_create(VECTOR(glist)[i], &v, 0, IGRAPH_UNDIRECTED);
         igraph_vector_int_destroy(&v);
     }
diff -ur a/src/core/matrix.pmt b/src/core/matrix.pmt
--- a/src/core/matrix.pmt
+++ b/src/core/matrix.pmt
@@ -1863,7 +1863,7 @@
 #ifdef FPRINTFUNC_ALIGNED
             FPRINTFUNC_ALIGNED(file, VECTOR(column_width)[j], MATRIX(*m, i, j));
 #else
-            fprintf(file, format, VECTOR(column_width)[j], MATRIX(*m, i, j));
+            fprintf(file, format, (int) VECTOR(column_width)[j], MATRIX(*m, i, j));
 #endif
         }
         fprintf(file, "\n");

debug log:

solving 2d7ffd7e68 ...
found 2d7ffd7e68 in https://git.savannah.gnu.org/cgit/guix.git

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).