Unverified Commit d7aecd3c authored by Mitchell Skaggs's avatar Mitchell Skaggs
Browse files

{influxdb, influxdb2}: fix build on aarch64-linux

An inadvertent reliance on `char` being signed crept into `libflux`;
this patch specifies a signed 8-bit type for the literal and then
explicitly casts to the appropriate platform `c_char` type.
parent 746c1846
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ let
        excludes = [ ];
        hash = "sha256-6LOTgbOCfETNTmshyXgtDZf9y4t/2iqRuVPkz9dYPHc=";
      })
      ../influxdb2/fix-unsigned-char.patch
    ];
    sourceRoot = "${src.name}/libflux";
    cargoHash = "sha256-O+t4f4P5291BuyARH6Xf3LejMFEQEBv+qKtyjHRhclA=";
+1 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ let
        excludes = [ ];
        hash = "sha256-6LOTgbOCfETNTmshyXgtDZf9y4t/2iqRuVPkz9dYPHc=";
      })
      ./fix-unsigned-char.patch
    ];
    sourceRoot = "${src.name}/libflux";
    cargoHash = "sha256-O+t4f4P5291BuyARH6Xf3LejMFEQEBv+qKtyjHRhclA=";
+13 −0
Original line number Diff line number Diff line
diff --git a/flux/src/cffi.rs b/flux/src/cffi.rs
index ba18e3d5..0c1badf8 100644
--- a/flux/src/cffi.rs
+++ b/flux/src/cffi.rs
@@ -1149,7 +1149,7 @@ from(bucket: v.bucket)
     fn parse_with_invalid_utf8() {
         let cfname = CString::new("foo.flux").unwrap();
         let cfname_ptr: *const c_char = cfname.as_ptr();
-        let v: Vec<c_char> = vec![-61, 0];
+        let v: Vec<c_char> = vec![-61i8 as c_char, 0];
         let csrc: *const c_char = &v[0];
         // Safety: both pointers are valid
         let pkg = unsafe { flux_parse(cfname_ptr, csrc) };