単連結リストの整列 #17 この整列関数の問題点

整列関数lsortで扱うリストの要素では、
最初のメンバが次の要素へのポインタであるような構造体であることだけを制約として課している。
問題は、lsort.cと例えばtest_lsort.cであれば、
node_t型へのポインタとint_node_t型へのポインタをそれぞれ最初のメンバとして持つ構造体がある場合に、
この二つのメンバが同じものを指していないといけない。
これは、フラットなメモリモデルなら大丈夫だと思うが。
また、これに関連すると思うが、その最初のメンバをlsortで操作した場合、
int_node_t型の二番目のメンバに影響しないことが必要となる。
普通にはたぶん大丈夫だと思うが、言語規格上は保証されているのだろうか?
まあいいか。

2012-05-24 追記

lsortがリストに課している制約はもう一つあった。
最後の要素に関して、次の要素へのポインタを保持する構造体メンバがNULLになっていることである。