void log_size_handler(const lcm_recv_buf_t *rbuf, const char* channel, const lcmt_log_size *msg, void *user) { Hud *hud = (Hud*)user; // plane number is the last character of the channel name char last_char = channel[strlen(channel)-1]; int plane_number = last_char - '0'; // this converts a single character to an integer // and is standards conforming C hud->SetPlaneNumber(plane_number); hud->SetLogNumber(msg->log_number); }