Parse Method
Class: _LIST_PARSER_0
Description:
Expand/Collapse source code of procedure Parse Source Code
      LPARAMETERS CHNGREF laFiles,INP loEngine
      EXTERNAL ARRAY laFiles
      LOCAL liEnd,lcData,lii,liy,liz,lcPom,lnFileSize,liAT,liATE
      DIMENSION m.laFiles(100,7)
      liEnd=AT("\015\012",m.loEngine.cData,1)
      lii=0

      DO WHILE m.liEnd>0
         lcData=SUBSTR(m.loEngine.cData,2,m.liEnd-2)
         loEngine.cData=SUBSTR(m.loEngine.cData,m.liEnd+2)
         liEnd=AT("\015\012",m.loEngine.cData,1)
        
         lii=m.lii+1
         IF m.lii>ALEN(m.laFiles,1)
            DIMENSION m.laFiles(m.lii+100,7)
         ENDIF            

         liy=OCCURS(",",m.lcData)+1
         * Row processing

         FOR liz=1 TO m.liy
             liAT=IIF(m.liz=1,1,AT(",",m.lcData,m.liz-1)+1)
             liATE=IIF(m.liz<m.liy-1,AT(",",m.lcData,m.liz)-1,LEN(m.lcData))
             lcPom=SUBSTR(m.lcData,m.liAT,m.liATE-m.liAT)

             DO CASE
                CASE LEFT(m.lcPom,1)='i'

                CASE LEFT(m.lcPom,1)='m'
                    * Date last modify
                    laFiles(m.lii,6)={^1970-01-01 00:00:00}+VAL(SUBSTR(m.lcPom,2))

                CASE LEFT(m.lcPom,1)='r' OR LEFT(m.lcPom,1)='/'
                     laFiles(m.lii,1)=m.lcPom

                CASE LEFT(m.lcPom,1)='s'
                     laFiles(m.lii,5)=VAL(ALLT(SUBSTR(m.lcPom,2))) && Size
*!*                         IF This.oFTP.GetFileSize(m.laFiles(m.lii,7),@m.lnFileSize)
*!*                            laFiles(m.lii,5)=m.lnFileSize
*!*                         ENDIF

                OTHERWISE
                    * Name of file
                    laFiles(m.lii,7)=STRTRAN(m.lcPom,"\t","")

             ENDCASE
         NEXT

         laFiles(m.lii,2)=0
      ENDDO
      IF m.lii>0 AND m.lii<>ALEN(m.laFiles,1)
         DIMENSION m.laFiles(m.lii,7)
      ENDIF
      RETURN .T.