/// <summary> Wraps, parses and formats the variable arguments of the real delegate. </summary> private static void LogHandlerWrapper(libobs.log_error_level lvl, string format, IntPtr args, IntPtr p) { using (va_list arglist = new va_list(args)) { object[] objs = arglist.GetObjectsByFormat(format); string formattedMsg = Printf.sprintf(format, objs); realHandler((LogErrorLevel)lvl, formattedMsg, p); } }