Mon Sep  5 20:14:27 1994  Scott D. Heavner  (sdh@fishmonger)

    Update for Linux 1.0 and better.  Hopefully it's still backward
    compatible.  There's some wierd stuff going on in the ext2fs code
    in porting it to other operating systems which resulted in a lot
    of strange compiler errors.  Also a few constant definitions were
    removed from the xiafs file which broke that as well.

    While I was cleaning for Linux v1.0, I also gave each C file it's
    own header, then decided to make most of the routines static,
    so there are some header files with just one or two exported
    functions.  This is no problem for me, but if anyone wants to use the
    code for some other application, you will have to go through and
    de-staticize them.

    Went through with -Wstrict-prototype and -Wmissing-prototypes and
    fixed any reported errors.

    Changed bitops.c to use the kernel bitops if available.  If not Ted's
    C bitops will be substituted (with some user intervention).

    Fixed the bug where the time fields would overwrite other fields
    (on the screen).

Sun Apr 24 16:43:43 1994  system admin  (root@fishmonger)

    lde-2.2alpha3 released.

    Some space optimization, deletion of unused vars, dynamic allocation
    of some larger vars.

Sat Apr 23 22:05:50 1994  Scott D. Heavner  (sdh@fishmonger)

    Now copy the block after we read it in block mode.  This way any edits
    will be on the copy, just in case the one cache block gets used for
    something else.

    Some key redefines (sorry), hjkl now move the cursor.  h = help, can
    be accessed as ?, ^H, M-h, or F1.  l = locate inode reference => ^R.
    Meta hjkl for cursor motion removed.

    Can now scroll error log (using do_scroll_help()).  Should probably do
    away with fixed length errors and malloc() them as they arise, within
    limits.  Then free and realloc to overwrite.  (DONE - 4/24).

    General bugfixing and code splitting.  Welcome nc_dir.c and *help.h.

Sat Apr 16 23:40:20 1994  Scott D. Heavner  (sdh@fishmonger)

    Added META() definition for meta key sequences.  One day maybe ncurses
    will do this for us.  Currently the used meta keys include HJKL (vi
    cursor motion) and V (emacs pg-dn).

    Pulled bitops.c out of the ext2v0.5 lib.  To increase portability once
    the 68* people get going.

Fri Apr  8 00:33:48 1994  Scott D. Heavner  (sdh@fishmonger)

    Added basic popup menu function, hopefully to help out when keyboard
    mnemonics get out of hand.  Results in some noticable screen flash as
    we whip through screens, maybe some of this can be cut back.  Access
    through ^O or F2.

    Help windows now scrollable.

Wed Apr  6 11:01:58 1994  Scott D. Heavner  (sdh@fishmonger)

    lde-2.2alpha2 released.  Includes binary, lde-2.2alpha2.patch includes
    missing header file from lde-2.2alpha (nc_lde.h).

Sun Apr  3 23:27:08 1994  Scott D. Heavner  (sdh@fishmonger)

    lde-2.2alpha1.patch released -- fixes display problem in
    directory_popup().  (No binary released).
    
    lde-2.2alpha released.

    Added error/warning save feature, can go back and view the last
    ERROR_SAVE (=24) errors.  Changed the warn() functions to support a
    variable number of arguments.  Use 'v' to view the error log, it is
    not scrollable (yet?) so it is limited to ERROR_SAVE or the size of
    the workspace window.

    Inode copy and paste added.

    Now checks to see if device is mounted by searching /etc/mtab.

Fri Apr  1 04:18:02 1994  Scott D. Heavner  (sdh@fishmonger)

    Tons and tons of changes.  Fixed makefile to include the curses header
    path as was intended (David Sibley - sibley@math.psu.edu), but the
    next release will begin with INCLUDE_DIR undef and NC_HEADER defined
    as this seems to be the new standard in ncurses 1.8.5.  I'll leave the
    actual lines in, but configure it for my setup, until I see the fsstd
    or whatever its called.

    Cleaned up inode mode and directory mode.  Trashed the dynamic inode
    and replaced it with a generic inode.  Inodes are now read/writable,
    but I have not tested this much at all, you must define ALPHA_CODE to
    test this.  Added more fields to the inode display/edit, only fields
    which are relevant for a specific fs show up on the screen -- i.e.
    there is only one time field for Minix.
    
    Pulled a ton of #ifdefs from the curses routines and added some more
    since there seem to be a few broken/missing ncurses functions, once
    they are fixed, define NCURSES_IS_COOL and some of the I/O routines
    will become 200% cooler.

    Fixed MINIX_dir_entry() to return proper inode pointer.  If we try to
    read an inode which is out of range, now return the NOFS_junk_inode
    rather than inode 1.

    Now recognizes leading 0 as octal numbers (unless it's followed by
    'x').

    Cleaned up a few typos in the docs.

Sat Mar 26 14:17:55 1994  Scott D. Heavner  (sdh@fishmonger)

    ext2, inode_in_use and zone_in_use flag were still screwed up 
    if READ_FULL_TABLES defined, removed %inodes_per_group if undef.

    Added 'w' write block option to block mode, writes the current block
    to the recovery file.

    recover_file now writes as blocks rather than chars.  Changed fopen
    calls to open.

    Split nc_lde.c into nc_lde.c, nc_lde.h, nc_block.c, and nc_inode.c.

** 22 March 1994

   lde-2.1 proper released.

   Threw in some docs for the ext2fs.  Just pulled some stuff out of
   <linux/ext2fs> and formatted as tables to make it easier to edit inodes
   and such from the block edit mode.

   Fixes from Alan Eldridge (alane@wozzle.linet.org) to clean up
   display of u/long varaibles.

   Some source code beautification.  Formatted ext2fs.c in my standard
   indent pattern.  Added CTRL() macro for control key checks.  Changed
   all hex output to be upper case (why I don't really know).  

   Added 'c' and 'p' options to block edit (copy a block to copy_buffer,
   paste from copy_buffer).

   Directory mode beginnings.  Still need to be able to move the cursor
   around and do something in this mode, but it will dump a block as a
   directory to the screen.  Seems to have pointed out a lack of inode
   bounds checking in the DInode structure.  Compile in with -DALPHA_CODE.

   Using "popups".  The old *_mode interface is fine for the major modes,
   but makes for a large function.  Popups will have less overhead and you
   won't leave the major mode you were in (major modes being inode edit,
   block edit, recovery, and super block).  Quit won't leave the program
   in a popup, but will drop you back to the previous mode.  Current
   popups include set flags and directory dump.

   Changed write of modified blocks to give user one last chance to change
   the write flag on the disk rather than just silently tossing out the data.

** 21 March 1994
   
   Can now edit blocks as ascii (Tab/^I) to switch between hex/ascii
   editing.  Cleaned up a lot of the prompting to write to disk,
   reset modify flag, ^A abort edit (re-read current block from disk).

   Added a force read flag to cache_read_block.

   Changed HIGHLIGHTS in nc_lde.c to be more descriptive, maybe?  Started
   pulling out some unused/duplicate variables.  Fixed some of the code to
   center windows on the screen.

** 21 March 1994

   lde-2.1beta4 released -- hopefully before anyone tries beta3.

   Fixed bug in write code -- if you didn't use ^W, but PG_UP or PG_DOWN
   to terminate an edit, the block number would be incremented, then the
   block written so it would be written to the wrong location.  Changed
   modify flag to pass as pointer to cwrite_block so that it can be reset.

   Added no_fs.c for hex editing files and other things without inode
   structures.

   Fixed to properly display block 0 when requested (usually not part of
   the filesystem, but the xiafs sb is on block 0) which was required to
   edit a file.  Also added last_block_size to the sb structure to keep
   track of the size of the last block so that we don't write past the
   EOF.

   modified flag set back to zero after write.
  
** 20 March 1994

   lde-2.1beta3 released.

   Tossed man page into distribution. Another oops.

   Added edit/write block feature.  Including PARANOID Makefile define and
   other flags in main.

   Allow user to toggle some runtime flags (write_ok and search_all).
   Added beeps and option to turn off beeps.
   
** 19 March 199

   lde-2.1beta2 released.

   Added Makefile and lde.h to distribution.  Oops!

   Renamed some source and object files.

   Fixed ext2fs excessive memory usage.  Added READ_FULL_TABLES
   compilation flag (a good reason to find the problem before you hunt
   down the solution).  I had thought that the zone bitmaps were taking up
   too much memory, so I added an option to read in the map one group at a
   time, but even for a 1G drive, the zonemap is only 125k.  So the code
   to read one group descriptor at a time is still there, but I fixed the
   allocation error.  Thanks to J. Alan Eldridge (alane@wozzle.linet.org)
   for pointing out the runaway malloc.



