Let's stop and think if we need XDR in SU. At the beginning SU used native endian and floating point format. Users knew that when moving from one computer to another, byte swap and floating point format might be needed. SU was developed on a VAX at Stanford and when I took it to CSM on a compute Gould there there was a factor of 4 in the floating point numbers. Later people lived with moving data between big and small endians, it was sometimes a nuisance but not nearly as much of a problem as XDR is now. Because SU can be compiled with or without XDR, usually without the users being aware of it, there is often a situation that people on the same type of computer are incompatible. Aegrescit medendo.
What I suggest is
1. Back out SU off XDR. Go back to pre XDR gettr and puttr. I may still have an old version of SU but it's simple.
3. Provide either data conversion tools and/or functionality in gettr to convert the data to native format--we don't need XDR to do that.
4. The unsigned short ns header word limits the number of samples per trace to 65K. This was plenty in 1975 when SEGY was new but not now. If somebody simplifies SU taking it off XDR then they can easily designate a fall back 32 bit header word to be used if ns is set to zero.
--- Shuki