Enclosed is the diff to remove 'long long' from the code. I used diff -c, most people like it. If you prefer a different format, please let me know.
Thanks. I usually prefer `diff -u' but this is fine.
Now for the decisions. You use shorts, longs and ints throughout the code. On alphas, a long is 64 bits. I suspect the same will happen on 64 bit sparc and I know it has happened on the ia64. It is not always documented how many bits a specific value is expected to hold and I do not understand the code well enough yet to make the decisions.
In general, I use `long' when the value must be at least 32 bits, `short' when the value will not use more than 16 bits, and `int' when neither size nor space is a concern. I will also sometimes use `char' in an array for small numbers to save space.
This usage is compatible with ANSI C, and should not be affected when `long' is 64 bits, or whether `int' is 16 or 32 bits.
I'm not certain there would be a lot of advantage in rewriting the code to use the int*_t variants, but I'm open to counter-argument.
The one place I could see an advantage to changing types might be the fixed_t typedef, as in case sizeof(long) == 64 there would be a lot of wasted space.
-rob