iso9660fs: initialize buffer cache
[minix.git] / external / public-domain / xz / dist / src / common / tuklib_mbstr_fw.c
blob978a3fe10d93180daeafaff192bf82b7b4fcd9b4
1 ///////////////////////////////////////////////////////////////////////////////
2 //
3 /// \file tuklib_mstr_fw.c
4 /// \brief Get the field width for printf() e.g. to align table columns
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.
11 ///////////////////////////////////////////////////////////////////////////////
13 #include "tuklib_mbstr.h"
16 extern int
17 tuklib_mbstr_fw(const char *str, int columns_min)
19 size_t len;
20 const size_t width = tuklib_mbstr_width(str, &len);
21 if (width == (size_t)-1)
22 return -1;
24 if (width > (size_t)columns_min)
25 return 0;
27 if (width < (size_t)columns_min)
28 len += (size_t)columns_min - width;
30 return len;