And of course, "file_append("abc.txt", &x);" provides no hints, either. It prints nothing to the file. My working theory there is that the first byte is 0x00.

Lots of guess and check happening here