Rizin
unix-like reverse engineering framework and cli tools
tuklib_mbstr_fw.c
Go to the documentation of this file.
1 //
5 //
6 // Author: Lasse Collin
7 //
8 // This file has been put into the public domain.
9 // You can do whatever you want with this file.
10 //
12 
13 #include "tuklib_mbstr.h"
14 
15 
16 extern int
17 tuklib_mbstr_fw(const char *str, int columns_min)
18 {
19  size_t len;
20  const size_t width = tuklib_mbstr_width(str, &len);
21  if (width == (size_t)-1)
22  return -1;
23 
24  if (width > (size_t)columns_min)
25  return 0;
26 
27  if (width < (size_t)columns_min)
28  len += (size_t)columns_min - width;
29 
30  return len;
31 }
size_t len
Definition: 6502dis.c:15
int size_t
Definition: sftypes.h:40
int width
Definition: main.c:10
Utility functions for handling multibyte strings.
#define tuklib_mbstr_width
Definition: tuklib_mbstr.h:24
int tuklib_mbstr_fw(const char *str, int columns_min)
Get the field width for printf() e.g. to align table columns.