bool smart_device::set_err(int no, const char * msg, ...) { if (!msg) return set_err(no); m_err.no = no; va_list ap; va_start(ap, msg); m_err.msg = vstrprintf(msg, ap); va_end(ap); return false; }
void smart_interface::set_err(int no, const char * msg, ...) { if (!msg) { set_err(no); return; } m_err.no = no; va_list ap; va_start(ap, msg); m_err.msg = vstrprintf(msg, ap); va_end(ap); }
std::string strprintf(const char *format, ...) { std::string str; va_list args; va_start(args, format); str = vstrprintf(format, args); va_end(args); return str; }