10 REM > Win\Path.bbc 1.00 J.G.Harston
   20 REM Filename and pathname manipulation
   30 :
   40 DEFFNfn_root(A$)
   50 IFLEFT$(A$,1)="""":A$=MID$(A$,2,LENA$-2)
   60 =LEFT$(A$,INSTR(MID$(A$,3)+"\","\")+1)
   70 :
   80 DEFFNfn_leaf(A$)
   90 LOCAL A%:REPEAT:A%=INSTR(A$,"\"):IFA%:A$=MID$(A$,A%+1)
  100 UNTILA%=0:=A$
  110 :
  120 DEFFNfn_path(A$):IFINSTR(A$,"\")=0:=A$
  130 LOCAL A%:REPEATB%=A%:A%=INSTR(A$,"\",A%+1):UNTILA%=0:=LEFT$(A$,B%)
  140 :
  150 DEFFNfn_ext(A$):IFINSTR(A$,".")=0:=""
  160 LOCAL A%:A%=LENA$+1:REPEATA%=A%-1:UNTILINSTR(".:\",MID$(A$,A%,1))
  170 IFMID$(A$,A%,1)=".":=MID$(A$,A%) ELSE =""
  180 :
  190 DEFFNfn_noext(A$):IFINSTR(A$,".")=0:=A$
  200 LOCAL A%:A%=LENA$+1:REPEATA%=A%-1:UNTILINSTR(".:\",MID$(A$,A%,1))
  210 IFMID$(A$,A%,1)=".":=LEFT$(A$,A%-1) ELSE =A$
  220 :
  230 DEFFNfn_fullpath(path$,file$)
  240 IF INSTR(file$,":")<>0 OR INSTR(file$,"\\")<>0:=file$
  250 IF RIGHT$(path$,1)<>"\":path$=path$+"\"
  260 =path$+file$
  270 :