"c:\nopqrs\tuv"→"c:\\nopqrs\\tuv"というように、エスケープシーケンスが入っている文字列から、エスケープシーケンスが無い(ただし「\\」=「\という文字そのもの」はある)文字列に変換する関数を作っているところです。
 (改行とかタブとかは使わない)ファイル・ディレクトリ名を扱うため、関数を使ってもらう人には「\」を2つ重ねろとか制約をかけずに使ってもらいたいので。

 単純に"\n"(改行)→"\\n"というように置き換えるだけではうまくいかないみたいなので("\o"とか"\x"とか)、良い方法をご存じないでしょうか?

/* 使用例 */
char *path;
escape(path,"c:\nopqrs\tuv");
/* ↑ pathに変換後の文字列"c:\\nopqrs\\tuv"が入る関数 */
printf("%s",path); /* "c:\nopqrs\tuv"と表示 */