Metropoli BBS
VIEWER: s3setup.mst MODE: TEXT (ASCII)
'*************************************************************************
'*          S3/Xing Native-MPEG(TM) Driver Installation Script
'*************************************************************************

'''''$DEFINE DEBUG  ''Define for script development/debugging

DECLARE FUNCTION ExitWindowsExec LIB "user" (s1$, s2$) AS INTEGER
DECLARE FUNCTION RestartWindows AS INTEGER

FUNCTION RestartWindows STATIC AS INTEGER
  RestartWindows = ExitWindowsExec( "", "" )
END FUNCTION

'$INCLUDE 'setupapi.inc'
'$INCLUDE 'msdetect.inc'
'$INCLUDE 'msregdb.inc'

''Dialog ID's
CONST WELCOME       = 100
CONST ASKQUIT       = 200
CONST DESTPATH      = 300
CONST EXITFAILURE   = 400
CONST EXITQUIT      = 600
CONST EXITSUCCESS   = 700
CONST APPHELP       = 900
CONST RESTART       = 1200
CONST DIREXISTS     = 1400
CONST CHECKREPLACE  = 1500
CONST BADPATH       = 6400

CONST LOGO          = 1

GLOBAL DEST$        ''Destination directory(default=c:\mpeg)
GLOBAL WINDIR$      ''Windows directory.
GLOBAL WINSYSDIR$   ''Windows System directory.
GLOBAL CUIDLL$     
GLOBAL SystemIni$   ''Windows SYSTEM.INI file
GLOBAL WinIni$      ''Windows WIN.INI file
GLOBAL CtrlIni$     ''Windows CONTROL.INI file

GLOBAL DRIVERNUM%   ''Driver number for multiple instances of MpegVideo
GLOBAL ADDDRIVER%   ''Replace driver (=0) or add new driver (=1)
GLOBAL DRVR$        ''Native-MPEG Driver name
GLOBAL WINSECTION$  ''WIN.INI Section Name
GLOBAL WINKEYNAME$  ''WIN.INI Keyname

DECLARE SUB Install
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
DECLARE FUNCTION GetDriveInPath( szPath$) AS STRING

DECLARE FUNCTION DriverExists() AS INTEGER

'**========================================================================
INIT:
    CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
    HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure

    SetTitle "S3(R)/Xing(TM) Native-MPEG(TM) Driver Version 1.1"

    DRVR$ = "MPEG110.DRV"
    WINSECTION$ = "mpeg110"
    WINKEYNAME$ = "mpeg110path"

    szInf$ = GetSymbolValue("STF_SRCINFPATH")
    IF szInf$ = "" THEN
      szInf$ = GetSymbolValue("STF_CWDDIR") + "S3SETUP.INF"
    END IF

    ReadInfFile szInf$

    DEST$       = "C:\MPEG"   '' set the default destination to C:\MPEG
    WINDIR$     = GetWindowsDir()
    WINSYSDIR$  = WINDIR$ + "SYSTEM"

    SystemIni$ = MakePath(WINDIR$, "SYSTEM.INI")
    WinIni$    = MakePath(WINDIR$, "WIN.INI")
    CtrlIni$   = MakePath(WINDIR$, "CONTROL.INI")

    ADDDRIVER% = 1              ''default set to ADD new driver

'**========================================================================
WELCOME:
    sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)

    IF sz$ = "CONTINUE" THEN
      UIPop 1
      IF DriverExists() = 1 THEN
	GOTO CHECKREPLACE
      ELSE
	GOTO GETDESTPATH
      ENDIF

    ELSE
      GOSUB ASKQUIT
      GOTO WELCOME

    END IF

'**========================================================================
CHECKREPLACE:
    SetSymbolValue "RadioDefault", "1"

CHECKREPLACE1:
    sz$ = UIStartDlg(CUIDLL$, CHECKREPLACE,"FRadioDlgProc",APPHELP,HELPPROC$)
    btn$ = GetSymbolValue("ButtonChecked")
    
    IF btn$ = "1" THEN
      ADDDRIVER% = 1    '' add new driver - default

    ELSE
      ADDDRIVER% = 0    '' replace driver(s)

    ENDIF

    IF sz$ = "CONTINUE" THEN
      UIPop 1

    ELSEIF sz$ = "REACTIVATE" THEN
      GOTO CHECKREPLACE1

    ELSE
      GOSUB ASKQUIT
      GOTO CHECKREPLACE

    END IF

'**========================================================================
GETDESTPATH:
    IF DRIVERNUM% = 0 THEN
      SetSymbolValue "EditTextIn", DEST$
    ELSE
      IF ADDDRIVER% = 1 THEN
	SetSymbolValue "EditTextIn", DEST$ + LTRIM$( STR$( DRIVERNUM% ) )
      ELSE
	SetSymbolValue "EditTextIn", DEST$
      ENDIF
    ENDIF

GETDESTPATH1:
    sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
    DEST$ = GetSymbolValue("EditTextOut")
    SrcDir$ = GetSymbolValue( "STF_SRCDIR" )

    IF sz$ = "CONTINUE" THEN

      IF isDirWritable( DEST$ ) = 0 THEN
        GOSUB BADPATH
        GOTO GETDESTPATH1

      END IF

      drive$ = GetDriveInPath( DEST$ )  '' check for invalid drive in path

      IF IsDriveValid( drive$ ) = 0 THEN
        GOSUB BADPATH
        GOTO GETDESTPATH1

      END IF

      DestExists% = DoesDirExist( DEST$ )

      IF DestExists% = 1 THEN
	GOTO DIREXISTS

      END IF
      
    ELSEIF sz$ = "REACTIVATE" THEN
      GOTO GETDESTPATH1

    ELSE
      GOSUB ASKQUIT
      GOTO GETDESTPATH

    END IF

STARTINSTALL:
    AddSectionFilesToCopyList "MPEG files", SrcDir$, DEST$
    AddSectionFilesToCopyList "Windows System files", SrcDir$,WINSYSDIR$

    UIPopAll

    Install

    RListEmpty% = RestartListEmpty()
    Exe$ = DEST$ + "\_msrstrt.exe"
    Batch$ = DEST$ + "\_mssetup.bat"
    empty$ = ""

RESTART:
    sz$ = UIStartDlg(CUIDLL$, RESTART, "FInfoDlgProc", 0, "")
	  
    IF sz$ = "EXIT" THEN            '' Restart Windows button pressed
      RemoveFile "C:\swmpeg.tmp\s3setup.inf",  cmoForce
      RemoveFile "C:\swmpeg.tmp\s3setup.mst",  cmoForce
      RemoveFile "C:\swmpeg.tmp\setupapi.inc", cmoForce
      RemoveFile "C:\swmpeg.tmp\msdetect.inc", cmoForce
      RemoveFile "C:\swmpeg.tmp\msregdb.inc",  cmoForce
      RemoveFile "C:\swmpeg.tmp\_mstest.exe",  cmoForce
      RemoveFile "C:\swmpeg.tmp\_mssetup.exe", cmoForce
      RemoveFile "C:\swmpeg.tmp\_mssetup._q_", cmoForce
      RemoveFile "C:\swmpeg.tmp\mscomstf.dll", cmoForce
      RemoveFile "C:\swmpeg.tmp\msdetstf.dll", cmoForce
      RemoveFile "C:\swmpeg.tmp\msinsstf.dll", cmoForce
      RemoveFile "C:\swmpeg.tmp\msshlstf.dll", cmoForce
      RemoveFile "C:\swmpeg.tmp\msuilstf.dll", cmoForce

'$IFDEF DEBUG
      CloseLogFile
'$ENDIF ''DEBUG

      i% = RestartWindows()

      IF i% = 0 THEN
	GOTO RESTART

      ELSE
	RemoveFile "C:\swmpeg.tmp\mscuistf.dll", cmoForce
	Run( "rmdir c:\swmpeg.tmp" )

      ENDIF

    ELSEIF sz$ = "REACTIVATE" THEN
      GOTO RESTART

    ELSE
      UIPop 1

    ENDIF

'**========================================================================
QUIT:
    ON ERROR GOTO ERRQUIT

    IF ERR = 0 THEN
      dlg% = EXITSUCCESS
    ELSEIF ERR = STFQUIT THEN
      dlg% = EXITQUIT
    ELSE
      dlg% = EXITFAILURE
    END IF

QUITL1:
    UIPopAll
    sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
    IF sz$ = "REACTIVATE" THEN
      GOTO QUITL1
    END IF

    END

'**========================================================================
ERRQUIT:
    i% = DoMsgBox("Setup sources corrupted!","Setup Message",MB_OK+MB_TASKMODAL+MB_ICONHAND)
    END

'**========================================================================
BADPATH:
    sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")

    IF sz$ = "REACTIVATE" THEN
      GOTO BADPATH

    END IF

    UIPop 1
    RETURN

'**========================================================================
ASKQUIT:
    sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")

    IF sz$ = "EXIT" THEN
      UIPopAll
      ERROR STFQUIT

    ELSEIF sz$ = "REACTIVATE" THEN
      GOTO ASKQUIT

    ELSE
      UIPop 1

    END IF

    RETURN

'**========================================================================
DIREXISTS:
    sz$ = UIStartDlg(CUIDLL$, DIREXISTS, "FInfoDlgProc", APPHELP, HELPPROC$)

    IF sz$ = "CONTINUE" THEN
      UIPop 1
      GOTO STARTINSTALL

    ELSEIF sz$ = "BACK" THEN
      UIPop 1
      GOTO GETDESTPATH1

    ELSE
      GOSUB ASKQUIT
      GOTO DIREXISTS

    END IF

'**==========================================================================
'** Purpose:
'**     Builds the copy list and performs all installation operations.
'** Arguments:
'**     none.
'** Returns:
'**     none.
'*************************************************************************
SUB Install STATIC

    SrcDir$    = GetSymbolValue("STF_SRCDIR")

    CreateDir DEST$, cmoNone          '' create destination directory

'$IFDEF DEBUG
    OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
    WriteToLogFile ""
    WriteToLogFile "  Destination directory set to: '" + DEST$ + "'"
    WriteToLogFile ""
'$ENDIF ''DEBUG

    RemoveFile MakePath(WINDIR$, "MPLAYER.INI"), cmoForce

''  i% = SetCopyMode( 0 )             '' debugging: don't copy files
    i% = SetCopyMode( 1 )             '' copy files

    CopyFilesInCopyList

'$IFDEF DEBUG
    WriteToLogFile ""
    WriteToLogFile " Files copied in copy list... "
    WriteToLogFile ""
'$ENDIF ''DEBUG

    '' ======================================================================
    ''         SYSTEM.INI, WIN.INI, and CONTROL.INI File Modifications
    '' ======================================================================
    '' ----------------------------------------------------------------------
    '' SYSTEM.INI, [mci] section: MpegVideo=MPEG1B7.DRV
    '' ----------------------------------------------------------------------

    IF ADDDRIVER = 1 THEN       ''Add new MpegVideo driver (default)
      IF DRIVERNUM% = 0 THEN
	driver$ = "MpegVideo"

      ELSE
	driver$ = "MpegVideo" + LTRIM$( STR$( DRIVERNUM% ) )

      ENDIF

'$IFDEF DEBUG
      WriteToLogFile " ADDING '" + driver$ + "' driver... "
      WriteToLogFile ""
'$ENDIF ''DEBUG

    ELSE
      driver$ = "MpegVideo"
'$IFDEF DEBUG
      WriteToLogFile " REPLACING MpegVideo driver... "
      WriteToLogFile ""
'$ENDIF ''DEBUG

    ENDIF

'$IFDEF DEBUG
    WriteToLogFile " Driver name set to: '" + driver$ + "' "
    WriteToLogFile ""
'$ENDIF ''DEBUG


    IF ADDDRIVER = 0 THEN       ''Replace all previous MpegVideo drivers
      
      FOR i% = 1 TO DRIVERNUM% STEP 1
	drv$ = "MpegVideo" + LTRIM$( STR$( i% ) )
	RemoveIniKey SystemIni$, "mci", drv$, cmoNone

      NEXT
      
    ENDIF    

    CreateIniKeyValue SystemIni$, "mci", driver$, DRVR$, cmoOverwrite

    '' ----------------------------------------------------------------------
    '' SYSTEM.INI, [mci] section: CDIVideo=[driver name]
    '' ----------------------------------------------------------------------
    keyExists% = DoesIniKeyExist( SystemIni$, "mci", "CDIVideo" )

    IF keyExists% THEN
      CreateIniKeyValue SystemIni$, "mci", "CDIVideo", DRVR$, cmoOverwrite

    ELSE
      CreateIniKeyValue SystemIni$, "mci", "CDIVideo", DRVR$, cmoNone

    ENDIF    

    '' ----------------------------------------------------------------------
    '' SYSTEM.INI, [Debug] section: OutputTo=NUL
    '' ----------------------------------------------------------------------
    keyExists% = DoesIniKeyExist( SystemIni$, "Debug", "OutputTo" )
    szVal$ = "NUL"

    IF keyExists% THEN
      CreateIniKeyValue SystemIni$, "Debug", "OutputTo", szVal$, cmoOverwrite

    ELSE
      CreateIniKeyValue SystemIni$, "Debug", "OutputTo", szVal$, cmoNone

    ENDIF    

    '' ----------------------------------------------------------------------
    '' Add Registration Database entry: mpg=mplayer
    '' ----------------------------------------------------------------------
    keyExists% = DoesRegKeyExist( ".mpg" )

    IF keyExists% THEN
      CreateRegKeyValue ".mpg", "mplayer"

    ELSE
      CreateRegKey      ".mpg"
      CreateRegKeyValue ".mpg", "mplayer"

    ENDIF    

    '' ----------------------------------------------------------------------
    '' Add Registration Database entry: dat=mplayer
    '' ----------------------------------------------------------------------
    keyExists% = DoesRegKeyExist( ".dat" )

    IF keyExists% THEN
      CreateRegKeyValue ".dat", "mplayer"

    ELSE
      CreateRegKey      ".dat"
      CreateRegKeyValue ".dat", "mplayer"

    ENDIF    

    '' ----------------------------------------------------------------------
    '' WIN.INI, [Extensions] section: mpg=mplayer.exe /play ^.mpg
    '' ----------------------------------------------------------------------
    keyExists% = DoesIniKeyExist( WinIni$, "Extensions", "mpg" )
    szVal$ = "mplayer.exe /play ^.mpg"

    IF keyExists% THEN
      CreateIniKeyValue WinIni$, "Extensions", "mpg", szVal$, cmoOverwrite

    ELSE
      CreateIniKeyValue WinIni$, "Extensions", "mpg", szVal$, cmoNone

    ENDIF    

    '' ----------------------------------------------------------------------
    '' WIN.INI, [Extensions] section: dat=mplayer.exe /play ^.dat
    '' ----------------------------------------------------------------------
    keyExists% = DoesIniKeyExist( WinIni$, "Extensions", "dat" )
    szVal$ = "mplayer.exe /play ^.dat"

    IF keyExists% THEN
      CreateIniKeyValue WinIni$, "Extensions", "dat", szVal$, cmoOverwrite

    ELSE
      CreateIniKeyValue WinIni$, "Extensions", "dat", szVal$, cmoNone

    ENDIF    

    '' ----------------------------------------------------------------------
    '' WIN.INI, [Extensions] section: mpv=mplayer.exe /play ^.mpv
    '' ----------------------------------------------------------------------
    keyExists% = DoesIniKeyExist( WinIni$, "Extensions", "mpv" )
    szVal$ = "mplayer.exe /play ^.mpv"

    IF keyExists% THEN
      CreateIniKeyValue WinIni$, "Extensions", "mpv", szVal$, cmoOverwrite

    ELSE
      CreateIniKeyValue WinIni$, "Extensions", "mpv", szVal$, cmoNone

    ENDIF    

    '' ----------------------------------------------------------------------
    '' WIN.INI, [Extensions] section: vbs=mplayer.exe /play ^.vbs
    '' ----------------------------------------------------------------------
    keyExists% = DoesIniKeyExist( WinIni$, "Extensions", "vbs" )
    szVal$ = "mplayer.exe /play ^.vbs"

    IF keyExists% THEN
      CreateIniKeyValue WinIni$, "Extensions", "vbs", szVal$, cmoOverwrite

    ELSE
      CreateIniKeyValue WinIni$, "Extensions", "vbs", szVal$, cmoNone

    ENDIF    

    '' ----------------------------------------------------------------------
    '' WIN.INI, [Extensions] section: vid=mplayer.exe /play ^.vid
    '' ----------------------------------------------------------------------
    keyExists% = DoesIniKeyExist( WinIni$, "Extensions", "vid" )
    szVal$ = "mplayer.exe /play ^.vid"

    IF keyExists% THEN
      CreateIniKeyValue WinIni$, "Extensions", "vid", szVal$, cmoOverwrite

    ELSE
      CreateIniKeyValue WinIni$, "Extensions", "vid", szVal$, cmoNone

    ENDIF    

    '' ----------------------------------------------------------------------
    '' WIN.INI, [mci extensions] section: mpg=MpegVideo
    '' ----------------------------------------------------------------------
    sect$ = "mci extensions"

    keyExists% = DoesIniKeyExist( WinIni$, "mci extensions", "mpg" )

    IF keyExists% THEN
      CreateIniKeyValue WinIni$, sect$, "mpg", driver$, cmoOverwrite

    ELSE
      CreateIniKeyValue WinIni$, sect$, "mpg", driver$, cmoNone

    ENDIF

    '' ----------------------------------------------------------------------
    '' WIN.INI, [mci extensions] section: dat=MpegVideo
    '' ----------------------------------------------------------------------
    keyExists% = DoesIniKeyExist( WinIni$, "mci extensions", "dat" )

    IF keyExists% THEN
      CreateIniKeyValue WinIni$, sect$, "dat", driver$, cmoOverwrite

    ELSE
      CreateIniKeyValue WinIni$, sect$, "dat", driver$, cmoNone

    ENDIF    

    '' ----------------------------------------------------------------------
    '' WIN.INI, [mci extensions] section: mpv=MpegVideo
    '' ----------------------------------------------------------------------
    keyExists% = DoesIniKeyExist( WinIni$, "mci extensions", "mpv" )

    IF keyExists% THEN
      CreateIniKeyValue WinIni$, sect$, "mpv", driver$, cmoOverwrite

    ELSE
      CreateIniKeyValue WinIni$, sect$, "mpv", driver$, cmoNone

    ENDIF    

    '' ----------------------------------------------------------------------
    '' WIN.INI, [mci extensions] section: vbs=MpegVideo
    '' ----------------------------------------------------------------------
    keyExists% = DoesIniKeyExist( WinIni$, "mci extensions", "vbs" )

    IF keyExists% THEN
      CreateIniKeyValue WinIni$, sect$, "vbs", driver$, cmoOverwrite

    ELSE
      CreateIniKeyValue WinIni$, sect$, "vbs", driver$, cmoNone

    ENDIF    

    '' ----------------------------------------------------------------------
    '' WIN.INI, [mci extensions] section: vid=MpegVideo
    '' ----------------------------------------------------------------------
    keyExists% = DoesIniKeyExist( WinIni$, "mci extensions", "vid" )

    IF keyExists% THEN
      CreateIniKeyValue WinIni$, sect$, "vid", driver$, cmoOverwrite

    ELSE
      CreateIniKeyValue WinIni$, sect$, "vid", driver$, cmoNone

    ENDIF    

    '' ----------------------------------------------------------------------
    '' WIN.INI, add [mpeg1bN] section: mpeg1bNpath=[destination path]
    '' ----------------------------------------------------------------------
    keyExists% = DoesIniKeyExist( WinIni$, WINSECTION$, WINKEYNAME$ )

    IF keyExists% THEN
      CreateIniKeyValue WinIni$, WINSECTION$, WINKEYNAME$, DEST$,cmoOverwrite

    ELSE
      CreateIniKeyValue WinIni$, WINSECTION$, WINKEYNAME$, DEST$,cmoNone

    ENDIF    

    '' ----------------------------------------------------------------------
    '' CONTROL.INI, add to the [drivers.desc] section: 
    ''                         MPEG1BN.DRV=[MCI]Native-MPEG(TM) Driver
    '' ----------------------------------------------------------------------
    IF ADDDRIVER = 1 THEN       ''Add new MpegVideo driver
      IF DRIVERNUM% = 0 THEN
	m$ = "[MCI]Native-MPEG(TM) Driver" 

      ELSE    
	m$ = "[MCI]Native-MPEG(TM) Driver " + LTRIM$( STR$( DRIVERNUM% ) )

      ENDIF

    ELSE                        ''Replace all previous versions
      m$ = "[MCI]Native-MPEG(TM) Driver"

    ENDIF

    keyExists% = DoesIniKeyExist( CtrlIni$, "drivers.desc", DRVR$ )

    IF keyExists% THEN
      CreateIniKeyValue CtrlIni$,"drivers.desc", DRVR$, m$, cmoOverwrite

    ELSE
      CreateIniKeyValue CtrlIni$,"drivers.desc", DRVR$, m$, cmoNone

    ENDIF

    '' ----------------------------------------------------------------------
    '' CONTROL.INI, add to the [Userinstallable.drivers] section: 
    ''                         MpegVideo=MPEG1BN.DRV
    '' ----------------------------------------------------------------------
    v$ = "Userinstallable.drivers"
    

    IF ADDDRIVER = 0 THEN       ''Replace all previous MpegVideo drivers
      
      FOR i% = 1 TO DRIVERNUM% STEP 1
	drv$ = "MpegVideo" + LTRIM$( STR$( i% ) )
	RemoveIniKey CtrlIni$, v$, drv$, cmoNone

      NEXT
      
    ENDIF    

    keyExists% = DoesIniKeyExist( CtrlIni$, v$, driver$ )

    IF keyExists% THEN
      CreateIniKeyValue CtrlIni$, v$, driver$, DRVR$, cmoOverwrite

    ELSE
      CreateIniKeyValue CtrlIni$, v$, driver$, DRVR$, cmoNone

    ENDIF    

'$IFDEF DEBUG
    CloseLogFile
'$ENDIF ''DEBUG

END SUB

'**==========================================================================
'** Purpose:
'**     Appends a file name to the end of a directory path,
'**     inserting a backslash character as needed.
'** Arguments:
'**     szDir$  - full directory path (with optional ending "\")
'**     szFile$ - filename to append to directory
'** Returns:
'**     Resulting fully qualified path name.
'*************************************************************************
FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING

    IF szDir$ = "" THEN
      MakePath = szFile$

    ELSEIF szFile$ = "" THEN
      MakePath = szDir$

    ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
      MakePath = szDir$ + szFile$

    ELSE
      MakePath = szDir$ + "\" + szFile$

    END IF

END FUNCTION

FUNCTION GetDriveInPath( szPath$ ) STATIC AS STRING

    IF INSTR( szPath$, ":" ) = 0 THEN   '' no drive in path
      GetDriveInPath = "C"

    ELSE
      GetDriveInPath = MID$( szPath$, 1, 1 )

    END IF

END FUNCTION

'**==========================================================================
'** Purpose:
'**     Checks to see if an MpegVideo driver has been previously installed
'** Arguments:
'**     none
'** Returns:
'**     1 if a previous MpegVideo driver has been installed; 0 if not.
'*************************************************************************
FUNCTION DriverExists () STATIC AS INTEGER

    keyExists% = DoesIniKeyExist( SystemIni$, "mci", "MpegVideo" )

    IF keyExists% = 1 THEN      '' check for additional MpegVideo drivers
      DRIVERNUM% = DRIVERNUM% + 1

      WHILE keyExists% = 1

	driver$ = "MpegVideo" + LTRIM$( STR$( DRIVERNUM% ) )
	keyExists% = DoesIniKeyExist( SystemIni$, "mci", driver$ )

	IF keyExists% = 1 THEN
	  DRIVERNUM% = DRIVERNUM% + 1
	END IF

      WEND
      DriverExists = 1

    ELSE
      DriverExists = 0

    END IF

END FUNCTION
[ RETURN TO DIRECTORY ]