Commit f2ab7751 authored by Samanta Navarro's avatar Samanta Navarro Committed by Kevin Daudt
Browse files

abuild: avoid calculations with void pointers

Arithmetic operations with void pointers are an extension by some
compilers and not part of the C standard, which does not specify the
size of void.

CFLAGS with -pedantic reveals this during compile time. I have adjusted
the usage of ?: so CFLAGS can contain -pedantic now.
parent 0db2d339
Pipeline #96310 passed with stage
in 42 seconds
......@@ -34,7 +34,7 @@ TAR := tar
SCDOC := scdoc
LINK = $(CC) $(OBJS-$@) -o $@ $(LDFLAGS) $(LDFLAGS-$@) $(LIBS-$@)
CFLAGS ?= -Wall -Werror -g
CFLAGS ?= -Wall -Werror -g -pedantic
SED_REPLACE := -e 's:@VERSION@:$(FULL_VERSION):g' \
-e 's:@prefix@:$(prefix):g' \
......
......@@ -75,7 +75,7 @@ int main(void)
}
if (zs.avail_in == 0 || r == Z_STREAM_END) {
len = (void *)zs.next_in - (void *)ibuf;
len = (char *)zs.next_in - (char *)ibuf;
if (write(fd, ibuf, len) != len) {
warn("Failed to write to %s", fn);
goto err;
......
......@@ -104,7 +104,7 @@ int main(int argc, const char *argv[])
if (name == NULL)
warnx("Could not find username for uid %d\n", uid);
setenv("USER", name ?: "", 1);
setenv("USER", name ? name : "", 1);
cmd = strrchr(argv[0], '/');
if (cmd)
......
......@@ -122,15 +122,16 @@ static int usage(void)
static ssize_t full_read(int fd, void *buf, size_t count)
{
ssize_t total, n;
char *p = buf;
total = 0;
do {
n = read(fd, buf, count);
n = read(fd, p, count);
if (n < 0 && errno == EINTR)
continue;
if (n <= 0)
break;
buf += n;
p += n;
total += n;
count -= n;
} while (1);
......@@ -144,15 +145,16 @@ static ssize_t full_read(int fd, void *buf, size_t count)
static ssize_t full_write(int fd, const void *buf, size_t count)
{
ssize_t total, n;
const char *p = buf;
total = 0;
do {
n = write(fd, buf, count);
n = write(fd, p, count);
if (n < 0 && errno == EINTR)
continue;
if (n <= 0)
break;
buf += n;
p += n;
total += n;
count -= n;
} while (1);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment