#define print_to_buf(buf, buflen, str) \
do { \
if (strlen(str) <= buflen) { \
- lenin = snprintf(buf, buflen, "CDMA,"); \
+ lenin = snprintf(buf + len, buflen, "CDMA,"); \
+ if (lenin <= 0) { \
+ LOGE("can not pack <%s>\n", str); \
+ goto exit; \
+ } \
+ lenin -= 1; \
len += lenin; \
buflen -= lenin; \
} else { \
{
int len = 0, lenin = 0;
+ buf[0] = '\0';
if (is_cdma_available())
print_to_buf(buf, buflen, "CDMA,");
if (is_lte_available())
print_to_buf(buf, buflen, "LTE,");
- if (len != 0)
- buf[--len] = 0;
-
exit:
return len;
}