base64: fix assignment to wrong type, use ssize_t
authorMartin Milata <martin@martinmilata.cz>
Thu, 11 May 2017 16:28:24 +0000 (18:28 +0200)
committerRusty Russell <rusty@rustcorp.com.au>
Wed, 8 Sep 2021 05:21:40 +0000 (14:51 +0930)
Functions that returned int have been modified to return ssize_t
instead.

Found by gcc:

base64.c:196:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if (more == -1) {
           ^

Signed-off-by: Martin Milata <martin@martinmilata.cz>
ccan/base64/base64.c
ccan/base64/base64.h

index a216f4781a504207097a01aacb937e6625d5f855..b2326293a992b45d011999a5211b4fc9fa54634e 100644 (file)
@@ -118,7 +118,7 @@ size_t base64_decoded_length(size_t srclen)
        return ((srclen+3)/4*3);
 }
 
-int base64_decode_quartet_using_maps(const base64_maps_t *maps, char dest[3],
+ssize_t base64_decode_quartet_using_maps(const base64_maps_t *maps, char dest[3],
                                     const char src[4])
 {
        signed char a;
@@ -143,7 +143,7 @@ int base64_decode_quartet_using_maps(const base64_maps_t *maps, char dest[3],
 }
 
 
-int base64_decode_tail_using_maps(const base64_maps_t *maps, char dest[3],
+ssize_t base64_decode_tail_using_maps(const base64_maps_t *maps, char dest[3],
                                  const char * src, const size_t srclen)
 {
        char longsrc[4];
@@ -178,7 +178,7 @@ ssize_t base64_decode_using_maps(const base64_maps_t *maps,
 {
        ssize_t dest_offset = 0;
        ssize_t i;
-       size_t more;
+       ssize_t more;
 
        if (destlen < base64_decoded_length(srclen)) {
                errno = EOVERFLOW;
index 405dc63fd44531d9bcfb55064ad3a0196f68f0dc..cef30d2576736ff3398fce192e3858f14b6ea71d 100644 (file)
@@ -103,8 +103,8 @@ ssize_t base64_decode_using_maps(const base64_maps_t *maps,
  * @return Number of decoded bytes set in dest. -1 on error (and errno set)
  * @note sets errno = EDOM if src contains invalid characters
  */
-int base64_decode_quartet_using_maps(const base64_maps_t *maps,
-                                    char dest[3], const char src[4]);
+ssize_t base64_decode_quartet_using_maps(const base64_maps_t *maps,
+                                        char dest[3], const char src[4]);
 
 /**
  * base64_decode_tail_using_maps - decode the final bytes of a base64 string using a specific alphabet
@@ -116,8 +116,8 @@ int base64_decode_quartet_using_maps(const base64_maps_t *maps,
  * @note sets errno = EDOM if src contains invalid characters
  * @note sets errno = EINVAL if src is an invalid base64 tail
  */
-int base64_decode_tail_using_maps(const base64_maps_t *maps, char *dest,
-                                 const char *src, size_t srclen);
+ssize_t base64_decode_tail_using_maps(const base64_maps_t *maps, char *dest,
+                                     const char *src, size_t srclen);
 
 
 /* the rfc4648 functions: */
@@ -212,7 +212,7 @@ ssize_t base64_decode(char *dest, size_t destlen,
  * @note sets errno = EDOM if src contains invalid characters
  */
 static inline
-int base64_decode_quartet(char dest[3], const char src[4])
+ssize_t base64_decode_quartet(char dest[3], const char src[4])
 {
        return base64_decode_quartet_using_maps(&base64_maps_rfc4648,
                                                dest, src);