1 /////////////////////////////////////////////////////////////////////////////// 2 // 3 /// \file tuklib_mbstr_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. 10 // 11 /////////////////////////////////////////////////////////////////////////////// 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 (int)len; 31 } 32