その本おれももってる。
np->next = c;
np->prev = c->prev;
c->prev->next = np;
c->prev = np;
return np;

いかにもCらしいコードというか、Cのポインターの本領発揮! という感じの
プログラムって、こうじゃなきゃ! っていうノリの典型っていうかんじー
よね。