Rationale for 509 minimum character limit

The C11 dr 5.2.4.1 limits are different than given by the OP. I suspect they come from C89.

4095 characters in a logical source line

4095 characters in a string literal (after concatenation)


[Edit] @jwodder suggested a more complete answer was needed.

Best I can provide: 512 bytes was the most common sector size for floppy, diskette and hard drive media circa mid 80 to mid 90s and likely contributed, along with @bizzehdee & @DigitalTrauma thoughts as to the curious 509 limit.

It was a very popular buffer size.


This perhaps is to take account of possible CR + LF + '\0' characters and have a string representation of each line still fit into 512 bytes of memory.

Tags:

C

C89