mirror of https://git.tukaani.org/xz.git
31 lines
681 B
C
31 lines
681 B
C
// SPDX-License-Identifier: 0BSD
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
/// \file tuklib_mbstr_fw.c
|
|
/// \brief Get the field width for printf() e.g. to align table columns
|
|
//
|
|
// Author: Lasse Collin
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#include "tuklib_mbstr.h"
|
|
|
|
|
|
extern int
|
|
tuklib_mbstr_fw(const char *str, int columns_min)
|
|
{
|
|
size_t len;
|
|
const size_t width = tuklib_mbstr_width(str, &len);
|
|
if (width == (size_t)-1)
|
|
return -1;
|
|
|
|
if (width > (size_t)columns_min)
|
|
return 0;
|
|
|
|
if (width < (size_t)columns_min)
|
|
len += (size_t)columns_min - width;
|
|
|
|
return (int)len;
|
|
}
|