Nikos Mavrogiannopoulos <[email protected]> writes:

> On Sun, 2016-07-17 at 12:14 +0200, Niels Möller wrote:
>> I'd like to eliminate pointer-signedness warnings. I'm afraid some
>> ugly
>> casts will have to be involved, since most functions work with
>> uint8_t,
>> and at least test code needs to pass literal strings, of type char *.

I've now gotten rid of most of those warnings, pushing the changes soon.

>> I have one question, on the ascii-armor funtions: Would ie make sense
>> to change the type of ascii inputs and outputs to char? I.e.,
>> 
>>  size_t
>>  base64_encode_update(struct base64_encode_ctx *ctx,
>> -                 uint8_t *dst,
>> +                 char *dst,
>>                   size_t length,
>>                   const uint8_t *src);
>
> I think it would be good API-wise. I had to casted these parameters in
> almost every use I had for them.

I've given this a try (on a local branch). It makes sense most of the
time. But where are a couple of places where encoding and decoding is
done in-place. Typical example, from the nettle-pbkdf2 command line tool:

  salt = (uint8_t *) strdup (argv[0]);
  salt_length = strlen(argv[0]);
  
  if (hex_salt)
    {
      struct base16_decode_ctx base16;

      base16_decode_init (&base16);
      if (!base16_decode_update (&base16,
                                 &salt_length, salt, 
                                 salt_length, salt)
          || !base16_decode_final (&base16))
        die ("Invalid salt (expecting hex encoding).\n");
    }

This gets a bit awkward with different types for src and dst. Should we
care about this somewhat obscure usecase? Can it be handled in a clean
way?

Regards,
/Niels

-- 
Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.
_______________________________________________
nettle-bugs mailing list
[email protected]
http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs

Reply via email to