Makefile rules + fix some integer comparisons between different sizes.
This commit is contained in:
parent
a992bb8f3f
commit
aabe00b58b
3 changed files with 28 additions and 7 deletions
29
makefile
29
makefile
|
|
@ -1,6 +1,27 @@
|
|||
# DESTDIR envvar is a way to install the application in a different root (for building packages for example).
|
||||
PREFIX ?= /usr/local
|
||||
BINDIR ?= $(PREFIX)/bin
|
||||
SHAREDIR ?= $(PREFIX)/share
|
||||
DOCDIR ?= $(SHAREDIR)/doc/dnsmanagerd
|
||||
MANDIR ?= $(SHAREDIR)/man
|
||||
|
||||
CFLAGS ?= -Wall -Wextra
|
||||
|
||||
all: build
|
||||
|
||||
build:
|
||||
[ -d ./bin ] || mkdir bin
|
||||
cc -o bin/b64-lbl-encode src/b64-lbl-encode.c
|
||||
cc -o bin/b64-lbl-decode src/b64-lbl-decode.c
|
||||
install: build
|
||||
$(Q)install -D -m 555 bin/* --target-directory=$(DESTDIR)$(BINDIR)/
|
||||
|
||||
build: bin bin/b64-lbl-encode bin/b64-lbl-decode
|
||||
|
||||
bin:
|
||||
[ -d bin ] || mkdir bin
|
||||
|
||||
bin/b64-lbl-encode: src/b64-lbl-encode.c
|
||||
cc -o bin/b64-lbl-encode src/b64-lbl-encode.c $(CFLAGS)
|
||||
|
||||
bin/b64-lbl-decode: src/b64-lbl-decode.c
|
||||
cc -o bin/b64-lbl-decode src/b64-lbl-decode.c $(CFLAGS)
|
||||
|
||||
clean:
|
||||
rm bin/*
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ static const char *base64_chars =
|
|||
"0123456789+/";
|
||||
|
||||
int base64_decode(const char *input, unsigned char *output, size_t *output_length) {
|
||||
int input_length = strlen(input);
|
||||
size_t input_length = strlen(input);
|
||||
if (input_length % 4 != 0) return -1; // Base64 input must be a multiple of 4.
|
||||
|
||||
// Calculate output length
|
||||
|
|
@ -18,7 +18,7 @@ int base64_decode(const char *input, unsigned char *output, size_t *output_lengt
|
|||
if (input[input_length - 1] == '=') (*output_length)--;
|
||||
if (input[input_length - 2] == '=') (*output_length)--;
|
||||
|
||||
for (int i = 0, j = 0; i < input_length; ) {
|
||||
for (size_t i = 0, j = 0; i < input_length; ) {
|
||||
unsigned int a = input[i] == '=' ? 0 : strchr(base64_chars, input[i]) - base64_chars; i++;
|
||||
unsigned int b = input[i] == '=' ? 0 : strchr(base64_chars, input[i]) - base64_chars; i++;
|
||||
unsigned int c = input[i] == '=' ? 0 : strchr(base64_chars, input[i]) - base64_chars; i++;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ static const char *base64_chars =
|
|||
"0123456789+/";
|
||||
|
||||
void base64_encode(const unsigned char *input, size_t input_length, char *output, size_t *output_length) {
|
||||
int i, j;
|
||||
size_t i, j;
|
||||
*output_length = 4 * ((input_length + 2) / 3); // Calculate output size
|
||||
|
||||
for (i = 0, j = 0; i < input_length;) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue