return dest;
} /* char *sstrncpy */
-/* ssnprintf returns zero on success, one if truncation occurred
- and a negative integer onerror. */
+/* ssnprintf returns result from vsnprintf conistent with snprintf */
int ssnprintf(char *str, size_t sz, const char *format, ...) {
va_list ap;
va_start(ap, format);
va_end(ap);
+ return ret;
+} /* int ssnprintf */
+
+/* ssnprintf2 returns zero on success, one if truncation occurred
+ and a negative integer on error. */
+int ssnprintf2(char *str, size_t sz, const char *format, ...) {
+ va_list ap;
+ va_start(ap, format);
+
+ int ret = vsnprintf(str, sz, format, ap);
+
+ va_end(ap);
+
if (ret < 0) {
return ret;
}
return (size_t)ret >= sz;
-} /* int ssnprintf */
+} /* int ssnprintf2 */
char *ssnprintf_alloc(char const *format, ...) /* {{{ */
{
service_number = (int)ntohs(sa->sin6_port);
}
- if ((service_number > 0) && (service_number <= 65535))
+ if (service_number > 0)
break;
}
freeaddrinfo(ai_list);
- if ((service_number > 0) && (service_number <= 65535))
+ if (service_number > 0)
return service_number;
return -1;
} /* int service_name_to_port_number */