18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Count the digits of @val including a possible sign. 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * (Typed on and submitted from hpa's mobile phone.) 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ciint num_digits(int val) 88c2ecf20Sopenharmony_ci{ 98c2ecf20Sopenharmony_ci long long m = 10; 108c2ecf20Sopenharmony_ci int d = 1; 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci if (val < 0) { 138c2ecf20Sopenharmony_ci d++; 148c2ecf20Sopenharmony_ci val = -val; 158c2ecf20Sopenharmony_ci } 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci while (val >= m) { 188c2ecf20Sopenharmony_ci m *= 10; 198c2ecf20Sopenharmony_ci d++; 208c2ecf20Sopenharmony_ci } 218c2ecf20Sopenharmony_ci return d; 228c2ecf20Sopenharmony_ci} 23