summaryrefslogtreecommitdiffstats
path: root/src/util.h
blob: a325b18962e2894dfce367c12b6325d6339f25fd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma once

#include <stdio.h>
#include <stdlib.h>

#define MIN(a, b) ((a) < (b) ? (a) : (b))
#define MAX(a, b) ((a) < (b) ? (b) : (a))
#define CEILDIV(a, b) (((a) / (b)) + !!((a) % (b)))

size_t u8strlen(const char *str);
size_t u8strnlen(const char *str, size_t max);
size_t u8rawlen(const char *str, size_t max);

size_t print_pad(FILE *file, size_t len);
size_t print_hex(FILE *file, const void *in, size_t len);

size_t print_trunc(FILE *file, const char *str, size_t width);
size_t print_left(FILE *file, const char *str,
	size_t width, size_t padwidth);
size_t print_center(FILE *file, const char *str,
	size_t width, size_t padwidth);
size_t print_right(FILE *file, const char *str,
	size_t width, size_t padwidth);