Формально и то первое с va_list неправильно, так как оно не к стеку лезет. Но по-своему удобно и, зараза, работало от ДВК через «турбо-С» на «неврозе» и до BC 3.1. На ДВК вообще был спецификатор формата %r, который принимал указатель на нечто в духе struct var из моего первого сообщения.