Я видел много минимальных требований, которые компилятор ANSI C должен поддерживать как 31 аргумент функции, и большинство чисел, похоже, имеют какой-то смысл.
Однако я не вижу аргументов в пользу поддержки не менее 509 символов в исходной строке. 511 или 512 имеет смысл, но 509 кажется произвольным.
В чем причина этого числа?