When using -Wextra, there were some signedness related warnings, as well
as size warnings, like using %li for pointer diff on 32-bit systems.
This was build-tested on both a 32-bit ARM and 64-bit x86_64.
parse("hash", 10);
if (p - buffer != RNET_HEADER_HEAD_2014) {
parse("hash", 10);
if (p - buffer != RNET_HEADER_HEAD_2014) {
- fprintf(stderr, "RNET_HEADER_HEAD_2014 in decfile.h needs to be adjusted to %li\n", p - buffer);
+ fprintf(stderr, "RNET_HEADER_HEAD_2014 in decfile.h needs to be adjusted to %ti\n", p - buffer);
if (*p++ != '\r') {
fprintf(stderr,
if (*p++ != '\r') {
fprintf(stderr,
- "missing CR at the %lith header character\n",
+ "missing CR at the %tith header character\n",
p - buffer);
goto out_val;
} else if (*p++ != '\n') {
fprintf(stderr,
p - buffer);
goto out_val;
} else if (*p++ != '\n') {
fprintf(stderr,
- "missing LF at the %lith header character\n",
+ "missing LF at the %tith header character\n",
p - buffer);
goto out_val;
} else if (*p != 0) {
fprintf(stderr,
p - buffer);
goto out_val;
} else if (*p != 0) {
fprintf(stderr,
- "missing NUL at the %lith header character\n",
+ "missing NUL at the %tith header character\n",
p - buffer);
goto out_val;
} else if (p - buffer != RNET_HEADER_SIZE_2014) {
p - buffer);
goto out_val;
} else if (p - buffer != RNET_HEADER_SIZE_2014) {
- fprintf(stderr, "RNET_HEADER_SIZE_2014 in decfile.h needs to be adjusted to %li,\nor parse_header in decfile.c needs updating\n", p - buffer);
+ fprintf(stderr, "RNET_HEADER_SIZE_2014 in decfile.h needs to be adjusted to %ti,\nor parse_header in decfile.c needs updating\n", p - buffer);
goto out_val;
} else if (p - tail != RNET_HEADER_TAIL_2014) {
goto out_val;
} else if (p - tail != RNET_HEADER_TAIL_2014) {
- fprintf(stderr, "RNET_HEADER_TAIL_2014 in decfile.h needs to be adjusted to %li\n", p - tail);
+ fprintf(stderr, "RNET_HEADER_TAIL_2014 in decfile.h needs to be adjusted to %ti\n", p - tail);
parse("hash", 10);
if (p - buffer != RNET_HEADER_HEAD_2013) {
parse("hash", 10);
if (p - buffer != RNET_HEADER_HEAD_2013) {
- fprintf(stderr, "RNET_HEADER_HEAD_2013 in decfile.h needs to be adjusted to %li\n", p - buffer);
+ fprintf(stderr, "RNET_HEADER_HEAD_2013 in decfile.h needs to be adjusted to %ti\n", p - buffer);
if (*p++ != '\r') {
fprintf(stderr,
if (*p++ != '\r') {
fprintf(stderr,
- "missing CR at the %lith header character\n",
+ "missing CR at the %tith header character\n",
p - buffer);
goto out_val;
} else if (*p++ != '\n') {
fprintf(stderr,
p - buffer);
goto out_val;
} else if (*p++ != '\n') {
fprintf(stderr,
- "missing LF at the %lith header character\n",
+ "missing LF at the %tith header character\n",
p - buffer);
goto out_val;
} else if (*p != 0) {
fprintf(stderr,
p - buffer);
goto out_val;
} else if (*p != 0) {
fprintf(stderr,
- "missing NUL at the %lith header character\n",
+ "missing NUL at the %tith header character\n",
p - buffer);
goto out_val;
} else if (p - buffer != RNET_HEADER_SIZE_2013) {
p - buffer);
goto out_val;
} else if (p - buffer != RNET_HEADER_SIZE_2013) {
- fprintf(stderr, "RNET_HEADER_SIZE_2013 in decfile.h needs to be adjusted to %li,\nor parse_header in decfile.c needs updating\n", p - buffer);
+ fprintf(stderr, "RNET_HEADER_SIZE_2013 in decfile.h needs to be adjusted to %ti,\nor parse_header in decfile.c needs updating\n", p - buffer);
goto out_val;
} else if (p - tail != RNET_HEADER_TAIL_2013) {
goto out_val;
} else if (p - tail != RNET_HEADER_TAIL_2013) {
- fprintf(stderr, "RNET_HEADER_TAIL_2013 in decfile.h needs to be adjusted to %li\n", p - tail);
+ fprintf(stderr, "RNET_HEADER_TAIL_2013 in decfile.h needs to be adjusted to %ti\n", p - tail);
int pmhash_add(struct pmhash **pmhash, char *key, void *val)
{
int pmhash_add(struct pmhash **pmhash, char *key, void *val)
{
struct pmhash *hash = *pmhash;
i = 0;
repeat:
struct pmhash *hash = *pmhash;
i = 0;
repeat:
void * pmhash_get(struct pmhash *pmhash, char *key)
{
void * pmhash_get(struct pmhash *pmhash, char *key)
{
for (i = 0; i < pmhash->len; i++) {
if (pmhash->items[i].key == NULL)
return NULL;
for (i = 0; i < pmhash->len; i++) {
if (pmhash->items[i].key == NULL)
return NULL;
void pmhash_del(struct pmhash *pmhash)
{
void pmhash_del(struct pmhash *pmhash)
{
for (i = 0; i < pmhash->len; i++) {
if (pmhash->items[i].key == NULL)
break;
for (i = 0; i < pmhash->len; i++) {
if (pmhash->items[i].key == NULL)
break;
int n = 0;
char *buffer;
struct rnet_message *msg = *message;
int n = 0;
char *buffer;
struct rnet_message *msg = *message;
- if ((msg->alen - msg->len) < (klen + vlen + 3)) {
- if (rnet_message_expand(message, MAX(msg->len, klen + vlen + 3)))
+ if ((msg->alen - msg->len) < (size_t) (klen + vlen + 3)) {
+ if (rnet_message_expand(message, MAX(msg->len, (size_t) (klen + vlen + 3))))
return -ENOMEM;
msg = *message;
}
return -ENOMEM;
msg = *message;
}
{
char * buffer = msg->buffer;
size_t len = msg->len;
{
char * buffer = msg->buffer;
size_t len = msg->len;
unsigned int j;
int b;
char *key;
unsigned int j;
int b;
char *key;
/* skip first byte */
i++;
while (i < len) {
j = (unsigned char)buffer[i];
b = j & 0x80;
/* skip first byte */
i++;
while (i < len) {
j = (unsigned char)buffer[i];
b = j & 0x80;
j = j & 0x7f;
i++;
key = buffer + i;
j = j & 0x7f;
i++;
key = buffer + i;
#include <stdint.h>
struct rnet_message {
#include <stdint.h>
struct rnet_message {
+ size_t len;
+ size_t alen;
This chunk size worked at the first try, uploading a
~100KiB file, so let's stick with it. */
This chunk size worked at the first try, uploading a
~100KiB file, so let's stick with it. */
- const int maxc = 64472;
+ const unsigned int maxc = 64472;
if (header && len > maxc)
return -1;
if (header && len > maxc)
return -1;
int fd;
char cwd[PATH_MAX];
char *path, *fname, *tmp;
int fd;
char cwd[PATH_MAX];
char *path, *fname, *tmp;
+ size_t fname_len;
+ ssize_t r;
/* If the user provided the output directory where she wishes
to save the receipt, then we use it. Otherwise, we save
the file in the current working directory (CWD). */
/* If the user provided the output directory where she wishes
to save the receipt, then we use it. Otherwise, we save
the file in the current working directory (CWD). */
}
do {
r = write(fd, buffer, len);
}
do {
r = write(fd, buffer, len);
- } while (r != len && errno == EAGAIN);
+ } while (r < 0 && errno == EAGAIN);
if (r != len)
fprintf(stderr, "Could not write to receipt file: %s", strerror(errno));
else
if (r != len)
fprintf(stderr, "Could not write to receipt file: %s", strerror(errno));
else