Changeset 311


Ignore:
Timestamp:
Jun 28, 2006, 11:34:06 PM (19 years ago)
Author:
root
Message:

ARC_TYPE: support preserving comments

Location:
trunk/dll
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/dll/fm3dll.h

    r294 r311  
    2525  29 May 06 SHL Rework EditArchiverData
    2626  16 Jun 06 SHL ARC_TYPE: support non-string signatures
     27  26 Jun 06 SHL ARC_TYPE: support preserving comments
    2728
    2829***********************************************************************/
     
    119120 #define DGS_LAZYDRAGINPROGRESS     0x0002  /* Lazy Drag in Progress.     */
    120121
    121 #define NUMLINES                21
     122#define LINES_PER_ARCSIG        21      // Lines in each archiver.bb2 definition
    122123#define CON_COLS                6
    123124#define INSTDATA(h)             WinQueryWindowPtr(h,QWL_USER)
     
    401402
    402403typedef struct __arc_type__ {
    403     CHAR    *id;
    404     CHAR    *ext;
    405     LONG    file_offset;
    406     CHAR    *list;
    407     CHAR    *extract;
    408     CHAR    *exwdirs;
    409     CHAR    *test;
    410     CHAR    *create;
    411     CHAR    *move;
    412     CHAR    *createrecurse;
    413     CHAR    *createwdirs;
    414     CHAR    *movewdirs;
    415     CHAR    *delete;
    416     CHAR    *signature;                 // archiver signature
    417     CHAR    *startlist;                 // omitted means no start marker
    418     CHAR    *endlist;                   // omitted means next blank line or EOF
    419     INT     siglen;                     // signature length in bytes
    420     INT     osizepos;                   // original size position or -1
    421     INT     nsizepos;                   // compressed size position or -1
    422     INT     fdpos;                      // file date position or -1
    423     INT     fdflds;                     // file date element count (typically 3) or -1
    424     INT     fnpos;                      // file name position or -1 if last
    425     INT     datetype;                   // date field format
    426     BOOL    nameislast;                 // name is last item on line
    427     BOOL    nameisnext;                 // file name is on next line
    428     BOOL    nameisfirst;                // file name is first item on line
     404    CHAR    *id;                        // User id
     405    CHAR    *ext;                       // Extension (without leading dot)
     406    LONG    file_offset;                // Offset to signature (0..n)
     407    CHAR    *list;                      // List command
     408    CHAR    *extract;                   // Extract command
     409    CHAR    *exwdirs;                   // Extract with directories command
     410    CHAR    *test;                      // Test command
     411    CHAR    *create;                    // Create without directories
     412    CHAR    *move;                      // Move into archive without directories
     413    CHAR    *createrecurse;             // Create with recurse and directories
     414    CHAR    *createwdirs;               // Create with directories
     415    CHAR    *movewdirs;                 // Move into archive with directories
     416    CHAR    *delete;                    // Delete from archive
     417    CHAR    *signature;                 // Archiver signature
     418    CHAR    *startlist;                 // Listing start marker (blank means no start marker)
     419    CHAR    *endlist;                   // Listing end marker (blank means next blank line or EOF)
     420    INT     siglen;                     // Signature length in bytes
     421    INT     osizepos;                   // Original file size position (0..n) or -1
     422    INT     nsizepos;                   // Compressed file size position or -1
     423    INT     fdpos;                      // File date position or -1
     424    INT     fdflds;                     // File date element count (typically 3) or -1
     425    INT     fnpos;                      // File name position or -1 if last
     426    INT     datetype;                   // Date field format
     427    UINT    comment_line_num;           // Comment start in old sig file (1..n), 0 if none
     428    UINT    defn_line_num;              // Definition start in old sig file (1..n), 0 if none
     429    BOOL    nameislast;                 // Name is last item on line
     430    BOOL    nameisnext;                 // File name is on next line
     431    BOOL    nameisfirst;                // File name is first item on line
    429432    struct __arc_type__ *next;
    430433    struct __arc_type__ *prev;
     
    11931196DATADEF BOOL      arcsigsloaded;
    11941197DATADEF BOOL      arcsigsmodified;
     1198DATADEF UINT      arcsigs_header_lines;         // Header comments line count in archiver.bb2
     1199DATADEF UINT      arcsigs_trailer_line_num;     // Trailer comments start line number (1..n)
     1200
    11951201DATADEF USHORT    nodes,shiftstate;
    11961202DATADEF HEV       CompactSem;
  • TabularUnified trunk/dll/fm3dll.str

    r283 r311  
    949949Attach of "%s" to "%s" failed.
    950950There are attach and/or detach requests pending -- you can use the window list to examine them.
    951 ;format for this archiver.bb2 file (each entry has 21 lines):\n;\n; 1st line:  ID of archiver (like ARC, LHARC, PKZIP, etc.; human consumption)\n; 2nd line:  normal extension for archives (like ZIP, ARC, LZH; note no period)\n; 3rd line:  offset into file to signature\n; 4th line:  list command\n; 5th line:  extract command\n; 6th line:  extract w/ directories command\n; 7th line:  test archive command\n; 8th line:  add/create command\n; 9th line:  add/create w/ paths command\n;10th line:  add/create & recurse command\n;11th line:  move command\n;12th line:  move w/ paths command\n;13th line:  delete command\n;14th line:  signature (case sensitive, leading spaces count!)\n;15th line:  startlist string\n;16th line:  endlist string\n;17th line:  old size position  (all positions 0-based, -1 = not available)\n;18th line:  new size position\n;19th line:  file date position,date type (see below)\n;20th line:  number of positions in dates (for \"03 June 92\" would be 3)\n;21st line:  file name position (absolutely required, of course, -1 = last)[,name is last (1 = TRUE, n/a w/ -1 pos)[,name is next line (1 = TRUE)]]\n;\n;Refer to the ARCHIVER.BB2 that came with FM/2 for more details.\n;\n;date types supported:\n;--------------------\n;no date sorting avail.        0\n;02-08-96  23:55:32            1\n; 8 Feb 96 23:55:32            2\n; 8 Feb 96  11:55p             3\n;96-02-08 23:55:32             4\n;\n;a semicolon denotes a comment.  they may appear at any point *except*\n;within the 21 lines of an archiver entry.\n;everything on the line after the semicolon is ignored.\n;\n
     951;format for this archiver.bb2 file (each entry has 21 lines):\n;\n; 1st line:  ID of archiver (like ARC, LHARC, PKZIP, etc.; human consumption)\n; 2nd line:  normal extension for archives (like ZIP, ARC, LZH; note no period)\n; 3rd line:  offset into file to signature\n; 4th line:  list command\n; 5th line:  extract command\n; 6th line:  extract w/ directories command\n; 7th line:  test archive command\n; 8th line:  add/create command\n; 9th line:  add/create w/ paths command\n;10th line:  add/create & recurse command\n;11th line:  move command\n;12th line:  move w/ paths command\n;13th line:  delete command\n;14th line:  signature (case sensitive, leading spaces count!)\n;15th line:  startlist string\n;16th line:  endlist string\n;17th line:  old size position  (all positions 0-based, -1 = not available)\n;18th line:  new size position\n;19th line:  file date position,date type (see below)\n;20th line:  number of positions in dates (for \"03 June 92\" would be 3)\n;21st line:  file name position (absolutely required, of course, -1 = last)[,name is last (1 = TRUE, n/a w/ -1 pos)[,name is next line (1 = TRUE)]]\n;\n;Refer to the ARCHIVER.BB2 that came with FM/2 for more details.\n;\n;date types supported:\n;--------------------\n;no date sorting avail.        0\n;02-08-96  23:55:32            1\n; 8 Feb 96 23:55:32            2\n; 8 Feb 96  11:55p             3\n;96-02-08 23:55:32             4\n;\n;a semicolon denotes a comment.  they may appear at any point *except*\n;within the 21 lines of an archiver entry.\n;everything on the line after the semicolon is ignored.\n
    952952; Entry #%d
    953953; FM/2 user-defined directories file, one full path per line\n
Note: See TracChangeset for help on using the changeset viewer.