-let out_entry dname och dirs name =
- let fname = KF.concat dname name in
- let stats = KU.lstat fname in
+type status = {
+(* base directory *)
+ bd: string;
+(* input prefix *)
+ ip: string;
+(* output prefix *)
+ op: string;
+(* current path *)
+ cp: string list
+}
+
+let initial_status = {
+ bd = ""; ip = ""; op = "";
+ cp = [];
+}
+
+let imp_st = ref initial_status
+
+let i_ext = ".ld.ldw.xml"
+let o_ext = ".ld.html"
+
+let concats l =
+ List.fold_left KF.concat "" l
+
+let concat st dname = {st with
+ ip = KF.concat st.ip dname; op = KF.concat st.op dname;
+}
+
+let normalize dname =
+ if dname = KF.current_dir_name then "" else dname
+
+let mk_rlink s_to s_body =
+ KP.sprintf "<rlink to=\"%s\">%s</rlink>" s_to s_body
+
+let out_entry st dname och dirs name =
+ let iname = concats [st.bd; st.ip; dname; name] in
+ let stats = KU.lstat iname in