what()
is used for two purposes: Decoding a list of integers stored as the differences between sucessive values, and building a string out of charater codes.
The program builds a list of character codes by successively applications of a difference decoder. This is done in two passes. c
contains the initial values for the first set of passes, and creates a list of initial values for the second set, that creates the list of character codes.
The string is built backwards, and then displayed the right way with a unicode right-to-left override.