>>513
別に宿題じゃないんだけどね。
こういう処理やるたびに同じようなコード書いて、そのたびにいつも同じようなこと思ってるわけです。
よくある処理なのにこんなにステップ数をかけるのはいかがなものかと。
だから、もうちょっと上級のコードを書く人はいないのか聞いてみた。
というか、たとえばパスを手入力させる機会があったとき、不正なパスを入れられないようなロジックを入れない?

>>508
そういう問題を簡易に解決するために、パスの先頭は / で始まるということと、../ によりートより
深く潜った場合の戻り値について >>502 に挙げてるんです、
ちなみに >>508 のケースでは、カレントの親には到達させるパスは不正ということで、ヌルストリングを返すようにしてます。