&ô > BLib.Filename 1.00 25-Jan-2011 =ô Convert between BBC, DOS/Windows and UNIX/ZIP filenames Kô!Keep FNfn_frombbc(), FNfn_tobbc(), FNfn_unixtodos(), FNfn_dostounix() : õ è"Filename: "in$ -ñ"BBCtoDOS filename: "¤fn_bbctodos(in$) .ñ"BBCtoUNIX filename: "¤fn_bbctounix(in$) -ñ"DOStoBBC filename: "¤fn_dostobbc(in$) .ñ"DOStoUNIX filename: "¤fn_dostounix(in$) .ñ"UNIXtoBBC filename: "¤fn_unixtobbc(in$) .ñ"UNIXtoDOS filename: "¤fn_unixtodos(in$) ñ :os%=3 :ñ"BBCtoLocal filename (BBC): "¤fn_frombbc(in$) :os%=8 :ñ"BBCtoLocal filename (UNIX): "¤fn_frombbc(in$) :os%=32:ñ"BBCtoLocal filename (DOS): "¤fn_frombbc(in$) ñ :os%=3 :ñ"DOStoLocal filename (BBC): "¤fn_fromdos(in$) :os%=8 :ñ"DOStoLocal filename (UNIX): "¤fn_fromdos(in$) :os%=32:ñ"DOStoLocal filename (DOS): "¤fn_fromdos(in$) ñ ©A$)) :çB%=—"$":ç(H%€32):A$=ÀA$,A%-1)+"\"+ÁA$,A%+1-(A%<>©A$)) 'çB%=—"@":A$=ÀA$,A%-1)+"."+ÁA$,A%+1) 0çB%=—"^":A$=ÀA$,A%-1)+".."+ÁA$,A%+1):A%=A%+1 'çB%=—"/":A$=ÀA$,A%-1)+"."+ÁA$,A%+1) 2çB%=—".":ç(H%€40)=8:A$=ÀA$,A%-1)+"/"+ÁA$,A%+1) 0çB%=—".":ç(H%€32):A$=ÀA$,A%-1)+"\"+ÁA$,A%+1) 0çB%=—"\":ç(H%€32):A$=ÀA$,A%-1)+"/"+ÁA$,A%+1) ,çB%=—"&":A$=ÀA$,A%-1)+"%HOME%"+ÁA$,A%+1) ýA%>©A$:=A$ : Fݤfn_fromunix(A$):ç(os%€40)=8:=A$ ‹ ç(os%€40)=0:=¤fn_unixtobbc(A$) Bݤfn_fromdos(A$):ç(os%€32):=A$ ‹ ç(os%€40)=0:=¤fn_dostobbc(A$) Dݤfn_tounix(A$):ç(os%€40)=8:=A$ ‹ ç(os%€40)=0:=¤fn_bbctounix(A$) @ݤfn_todos(A$):ç(os%€32):=A$ ‹ ç(os%€40)=0:=¤fn_bbctodos(A$) ݤfn_unixtodos(A$) ݤfn_dostounix(A$) ç§A$,"/")+§A$,"\")=0:=A$ Zê A%,B%:A%=0:õ:A%=A%+1:B%=—ÁA$,A%,1):çB%=—"/"„B%=—"\":A$=ÀA$,A%-1)+½(B%‚115)+ÁA$,A%+1) ýA%>=©A$:=A$ : %ݤfn_dostobbc(A$):êA%,B%,H%:H%=32 %ݤfn_unixtobbc(A$):êA%,B%,H%:H%=8 #ݤfn_tobbc(A$):êA%,B%,H%:H%=os% çA$=""„(H%€40)=0:=A$ çA$="/":ç(H%€40)=8:="$" çA$="\":ç(H%€32):="$" A%=0:õ:A%=A%+1:B%=—ÁA$,A%,1) 2ç(B%=35„B%=63):A$=ÀA$,A%-1)+½(B%‚28)+ÁA$,A%+1) ;çÁA$,A%,2)="..":A$=ÀA$,A%-1)+"^"+ÁA$,A%+2):A%=A%-1:B%=0 &çÁA$,A%)=".":A$=ÀA$,A%-1)+"@":B%=0 >çÁA$,A%,2)="./":ç(H%€40)=8:A$=ÀA$,A%-1)+"@"+ÁA$,A%+1):B%=0 <çÁA$,A%,2)=".\":ç(H%€32):A$=ÀA$,A%-1)+"@"+ÁA$,A%+1):B%=0 7çÁA$,A%,6)="%HOME%":A$=ÀA$,A%-1)+"&"+ÁA$,A%+6):B%=0 'çB%=—".":A$=ÀA$,A%-1)+"/"+ÁA$,A%+1) 0çB%=—"\":ç(H%€32):A$=ÀA$,A%-1)+"."+ÁA$,A%+1) 0çB%=—"/":ç(H%€32):A$=ÀA$,A%-1)+"\"+ÁA$,A%+1) 2çB%=—"/":ç(H%€40)=8:A$=ÀA$,A%-1)+"."+ÁA$,A%+1) 4çB%=—":":A$=":"+ÀA$,A%-1)+".$"+ÁA$,A%+1):A%=A%+2 ýA%>©A$:=A$ : ÿ