the 25 in
> case 1: /* first part of description */
> strncpy(descr, c, 25);
comes from cetus documentation and i mean that is wrong.
Every sub-record in track is exactly 22 bytes long (the size of cetus track
points). So the three header records cannot have more bytes than this limit.