' Waffle to Ufgate convertor
' New Versions (lost source to old version)
' Now it will work under MS-DOS 3.3 and 4.01
' (c) 1990 by William N. Bell 1:260/170

' Namely waftuf.exe   : Executable
'        waftuf.bas   : QB v4.5
'        convert.ctl  : Needed config file

' Defaults
' These are used if convert.ctl is not present
wafspool$ = "c:\uucp\"
wafhost$ = "acsu_buffalo_edu"
ufspool$ = "c:\uucp\sunybcs\"
ufhost$ = "sunybcs"

CLS
OPEN "convert.ctl" FOR INPUT AS #1
WHILE NOT EOF(1)
  LINE INPUT #1, temp$
  IF LEFT$(temp$, 1) <> ";" THEN
     IF LEFT$(temp$, 12) = "spool Waffle" THEN
       wafspool$ = RIGHT$(temp$, LEN(temp$) - 13)
     END IF
     IF LEFT$(temp$, 12) = "spool Ufgate" THEN
       ufspool$ = RIGHT$(temp$, LEN(temp$) - 13)
     END IF
     IF LEFT$(temp$, 15) = "Waffle UUCPHost" THEN
       wafhost$ = RIGHT$(temp$, LEN(temp$) - 16)
       FOR i = 1 TO LEN(wafhost$)
         IF MID$(wafhost$, i, 1) = "." THEN MID$(wafhost$, i, 1) = "_"
       NEXT i
     END IF
     IF LEFT$(temp$, 15) = "Ufgate UUCPHost" THEN
       ufhost$ = RIGHT$(temp$, LEN(temp$) - 16)
       IF LEN(ufhost$) > 8 THEN ufhost$ = LEFT$(ufhost$, 8)
       IF LEN(ufhost$) < 8 THEN ufhost$ = ufhost$ + STRING$(8 - LEN(ufhost$), "S")
     END IF
  END IF
WEND
CLOSE #1
PRINT "Waffle v1.61 to Ufgate v1.03 by William N. Bell"
PRINT "(c) 1990 @FidoNet 1:260/170 v1.1b"
PRINT
PRINT "w "; wafspool$; " for "; wafhost$
PRINT "u "; ufspool$; " for "; ufhost$
PRINT : PRINT

SHELL "dir " + wafspool$ + "x_*.* > x"
OPEN "x" FOR INPUT AS #1
WHILE NOT EOF(1)
  LINE INPUT #1, temp$
  IF LEFT$(temp$, 1) <> " " AND LEN(temp$) <> 0 THEN
     f2$ = ""
     fl$ = LEFT$(temp$, 12)
     FOR i = 1 TO 8
        IF MID$(fl$, i, 1) <> " " THEN
          f2$ = f2$ + MID$(fl$, i, 1)
        END IF
     NEXT i
     f2$ = f2$ + "." + RIGHT$(fl$, 3)
     PRINT "Get "; wafspool$ + f2$
     nf2$ = ufspool$ + RIGHT$(fl$, 3) + "00.X"
     OPEN nf2$ FOR OUTPUT AS #3
     PRINT "New "; nf2$
     OPEN wafspool$ + f2$ FOR INPUT AS #2
     WHILE NOT EOF(2)
       xfile$ = ""
       t$ = " "
       DO
         t$ = INPUT$(1, 2)
         xfile$ = xfile$ + t$
       LOOP UNTIL ASC(t$) = 10 OR EOF(2)
       PRINT xfile$;
       IF LEFT$(xfile$, 1) <> "F" AND LEFT$(xfile$, 1) <> "I" THEN
         PRINT #3, xfile$;
       ELSE
         PRINT #3, LEFT$(xfile$, 2) + "D." + LEFT$(ufhost$, 7) + RIGHT$(fl$, 3) + "00"; CHR$(10);
         junk$ = xfile$
       END IF
     WEND
     CLOSE #2
     CLOSE #3
     SHELL "copy " + wafspool$ + "d_" + LEFT$(wafhost$, 6) + "." + MID$(junk$, LEN(junk$) - 3, 3) + " " + ufspool$ + RIGHT$(fl$, 3) + "00.D"
     SHELL "del " + wafspool$ + "d_" + LEFT$(wafhost$, 6) + "." + MID$(junk$, LEN(junk$) - 3, 3)
     SHELL "del " + wafspool$ + f2$
     PRINT : PRINT
  END IF
WEND
CLOSE






