home *** CD-ROM | disk | FTP | other *** search
- INIMAINT CHANGE HISTORY
-
- ******************************* V1.0a *******************************
-
- The items fixed in Version 1.0a are:
-
- 1. There was a potential problem in 1.0 if a new file was selected
- before the data for a key was written to the file. This turned out to
- not be a problem.
-
- 2. If INIMAINT was closed in a minimized condition, the correct
- window size and location were not stored. This has been fixed.
-
- 3. The SIZE calculation for All Groups was incorrect if a single
- Application was included in more than one Group. This has been fixed.
-
- 4. If the Help Instance could not be created because the INIHELP.HLP
- file was not found, the user only got a 5101 logic error. The Dump
- Dialog has been changed to add a line that gives the reason for any
- outstanding logic error.
-
- 5. The PM Error Text was not displayed when there was a PM Error.
- OS/2 1.3 with CSD WR5050 has a bug in this area and will not display
- the correct text. The text will now be displayed.
-
- 6. When an error was encountered during Help Instance Initialization,
- the help error code was not stored in the Help Error area. This has
- now been fixed.
-
- 7. INIMAINT would not run at all if there was a problem initializing
- the Help. It will now run, but no Help will be available.
-
- ******************************* V1.0b *******************************
-
- The items fixed in Version 1.0b are:
-
- 1. More of the Help has been done, the missing Help is now that for
- the Dialog Boxes.
-
- 2. When run under OS/2 2.0 a Message Queue Full error was being
- encountered. This was fixed by increasing the Message Queue from the
- default 10 to 30.
-
- ******************************* V1.0c *******************************
-
- The items fixed in Version 1.0c are:
-
- 1. A Dump message logging facility was added so that problems with
- message sequences could be logged and identified.
-
- 2. Because of a problem in OS/2 2.0 the return from setting the top
- index in a listbox is incorrect. The check for a valid return from
- this API call has been removed so that INIMAINT will run under OS/2
- 2.0.
-
- ******************************* V1.0d *******************************
-
- The items fixed in Version 1.0d are:
-
- 1. When INIMAINT first comes up, the LOGO box does not have the Focus
- and the Enter Key will not close it, it can only be closed using the
- Mouse. The Focus is not forced to the LOGO Dialog during initial
- window processing.
-
- 2. The Dump Dialog will not fit on a 640x480 VGA Screen. To fix this
- the Dump dialog was made 20 pels shorter.
-
- 3. The filling of the Listboxes, the MLE and the Size calculation all
- have the capability to run for some time, especially under OS/2 2.0,
- and they block any processing of messages during this period. These
- functions have been moved to a separate thread.
-
- 4. Choosing Menu Items such as Size, Copy and Move cause a Dialog box
- to appear with the selections. The Selections are now a menu, not a
- dialog.
-
- 5. If there is a lot of data to be inserted into the MLE, the MLE
- blinks a lot. The window is now be disabled during the data insertion.
-
- 6. If Size is selected and then Cancelled, a Size of 20 bytes was
- displayed. This has been fixed.
-
- 7. The buttons in the New File Dialog were in uppercase, but now are
- lower case.
-
- 8. If a New File is selected on a diskette drive that has no
- diskette, a terminal error resulted. Now a Message Box will be
- presented and the old drive will remain the current drive.
-
- 9. Selecting an empty VDISK drive got a terminal error. This has been
- fixed.
-
- 10. You could not Cancel a Copy without selecting a target file. This
- has been fixed.
-
- 11. When the contents of the Dump Dialog were written to a file, the
- values of the various error indicators, which are displayed at the
- top of the Dialog, were not written. This has been fixed.
-
- 12. If a non-INI file is selected and it causes INIMAINT to
- terminate, then the program would not restart, because it attempted to
- use the same file and continued to get the same error. The user is
- now informed the file is invalid and given a chance to select a new
- file to edit.
-
- 13. When opening a new INI file to edit, the check for a valid INI
- file was not sufficient to identify the bad file during the file
- selection process. This has not been fixed and any file that gets
- through the file selection will be a valid INI file.
-
- 14. If a Drive was selected and the root directory was empty,
- INIMAINT would terminate attempting to fill the file Listbox. This
- has now been fixed.
-
- 15. When editing the any line of a multiline entry in the Key
- Value MLE while in overtype mode, as opposed to insert mode,
- the following line had the initial characters deleted. This has been
- fixed.
-
- 16. When the Focus was removed from the INIMAINT window, the
- Titlebars of both Listboxes stayed in a highlighted condition. This
- has been fixed and the colors of the Titlebars will now behave
- correctly.
-
- 17. Since no user input is accepted while the Listboxes are being
- filled, the MLE is being reset, a Size is being calculated or a Move
- or Copy are in progress, the Pointer should be changed to an
- hourglass pointer, this was not working, but has been fixed.
-
- 18. The Help has been finished.
-
- 19. There was a problem with seeing the pointer in the MLE under OS/2
- 2.0, so a call to WinSetOwner setting the Main Client window as the
- Owner of the MLE was added to fix the problem.
-
- ******************************* V1.0e *******************************
-
- The items fixed in Version 1.0e are:
-
- 1. Copy an Entire File got a return of 10 from the Copy program. This
- has been fixed.
-
- 2. The MOVE/COPY in Progress Dialog did not display the word
- Move/Copy. This has been fixed.
-
- 3. The MOVE/COPY did not verify that the target file was a valid INI
- file. This will now be done and an Error Message box will be
- displayed if the COPY/MOVE cannot be done.
-
- 4. The smallest item that could be MOVEed or COPYed was an
- Application. It is now possible to COPY/MOVE an individual key.
-
- 5. Considerably more Help has been added.
-
- 6. Accelerator Keys have been implemented and added to the Help.
-
- 7. If a New File was selected and either the OS2.INI or OS2SYS.INI
- files were specified without the initial path information, INIMAINT
- did not recognize them as the User and System INI files and attempted
- to open them in an incorrect manner. This has been fixed.
-
- 8. If a COPY/MOVE was attempted and either the OS2.INI or OS2SYS.INI
- files were specified as the target without the initial path
- information, INIMAINT did not recognize them as the User and System
- INI files and attempted to open them in an incorrect manner. This has
- been fixed.
-
- 9. If an INI file was selected that had no Applications in it, the
- INIMAINT window would not appear. This has been fixed.
-
- 10. It was not possible to cancel the Add Application or Add Key
- without getting the Message Box saying that something had to be
- entered. The Cancel will now work correctly.
-
- 11. The Listboxes and MLE would flash excessively. This will no
- longer occur.
-
- 12. When in the Dump Dialog, it was not possible to change the name
- of the Dump File by simply typing in the Filename Entry Field. This
- will now work and the new filename will become the Dump File for
- future Dumps.
-
- 13. When the Help was open, the Title Bars of the smaller INIMAINT
- windows appeared to still have the focus because they were
- highlighted. This will no longer occur.
-
- 14. When in the Replace Key Dialog and the key value was longer than
- what could be displayed in the Listbox, any change to the value would
- cause the contents of the ASCII and Hex Entry Fields would shift to
- the very end of the value data. This has been fixed.
-
- 15. INIMAINT was not using the Logo Display Time that is set by the
- user in the Control Panel, but was using an internal 10 second
- display time. This has been changed so that the Control Panel value
- will now be used. Even with a value specified in the Control Panel,
- it is still possible to turn off the Initial Logo Display with the
- Options Dialog.
-
- ******************************* V1.0f *******************************
-
- The items fixed in Version 1.0f are:
-
- 1. The Menus did not show the Accelerator Keys, this information has
- been added to the appropriate menu items.
-
- 2. Because of a bug in handling Timers, INIMAINT would get an error
- when run under OS/2 2.0 and the About Dialog was dismissed. This has
- been fixed by changing the Parent of the About box when it is invoked
- from the Menu.
-
- 3. The Help indicated that there was an Accelerator key that would
- directly pull down the COPY or MOVE menus. This was an error and has
- been removed from the Help file.
-
- 4. When a COPY/MOVE was attempted for the Selected Application or
- Selected Key and either of the Selected Names had an embedded blank,
- then the COPY?MOVE would terminate with an Error=5 from the INICOPY
- program. This has been fixed.
-
- 5. The Error Message Box displayed when an invalid INI file was
- selected did not include the error message, this has been fixed.
-
- 6. When an invalid INI file was selected, INIMAINT would not close
- the file, therefore, no other process could use the file. This has
- been fixed.
-
- ******************************* V1.0g *******************************
-
- The items fixed in Version 1.0g are:
-
- 1. The Dump to a file could get a Trap D and could dump some garbage
- messages because it was going past the end of the Message table. This
- has been fixed.
-
- 2. A message sequence number has been added to the dump of messages.
-
- 3. When doing a MOVE/COPY the Wait Pointer was not set correctly when
- the pointer was over the Listboxes or MLE. This has been fixed.
-
- 4. If a Group was deleted, a hole was left in the menu items that
- include the Groups. This has been fixed.
-
- 5. When things were MOVEd from an INI file to another file, the
- Listboxes were not updated to reflect the fact that the MOVEd items
- were no longer in the Source INI file. This has been fixed and the
- Listboxes will be automatically updated after the MOVE.
-
- 6. The supplemental error text was not always complete if an error
- occurred during a MOVE/COPY operation. This has been fixed.
-
- 7. V1.0f displayed a Version number of 1.0e. V1.0g will show the
- correct version.
-
- 8. When the last Key for an Application was moved to another INI
- file, the Application entry was not deleted and an Application with
- no Keys was left in the file. INIMAINT will now check to see if a
- MOVE Key is being done for the last Key and promote it to a MOVE
- Application, so that the Application entry will be removed from the
- Source INI file.
-
- 9. The Groups Dialog did not redisplay the Group that was being
- displayed when the last Group Update was done. This has been fixed.
-
- ******************************* V1.1 *******************************
-
- The items fixed in Version 1.1 are:
-
- 1. The System Default Accelerator keys did not work because the
- System Commands were not getting to the Main Window Frame. This has
- been fixed.
-
- 2. The Registration code was added.
-
- 3. When an input string was requested, the user was asked to 'Select'
- something. This has been changed to ask the user to 'Enter' the
- information.
-
- ******************************* V1.1a *******************************
-
- The items fixed in Version 1.1a are:
-
- 1. The supplemental error text was not correctly filled in when there
- was an error during a COPY/MOVE. This has been fixed.
-
- 2. It was possible to get a Trap D when selecting a New INI File
- because dynamic memory was released prematurely. This has been fixed.
-
- ******************************* V1.1b *******************************
-
- The items fixed in Version 1.1b are:
-
- 1. It was possible to get a Trap D while the MLE was formatting a
- long entry if an attempt was made to make a selection in one of the
- Listboxes or an attempt was made to change the MLE. Now any such
- attempt will cause an error tone and the action will be rejected
- until all updaing has been done.
-
- 2. There were some relatively rare situations where dynamic memory
- blocks were not being freed, theu that amount of memory used would
- slowly grow. This has been fixed.
-
- 3. In order to better track potential memory problems, a dump of the
- contents of the heap has been added to the Dump window and and more
- complete listing will be written to the Dump File.
-
- 4. Under certain circumstances, INIMAINT would put Keys in the
- OS2.INI file for the INI File Maintenance Application that had NULL
- Values. This will no longer occur, although it did not cause any
- problem other than put unneeded items in the INI file.
-
- 5. There are certain Applications and/or Keys that cannot be deleted
- from the OS2SYS.INI file. When an attempt was made to Delete or MOVE
- one of these entries, INIMAINT would terminate. Additional code has
- been inserted that will identify these conditions, inform the user
- and then continue.
-
- 6. Under OS/2 2.0 INIMAINT would terminate with an error 109 after
- the About INIMAINT Dialog box was displayed. This was caused by
- static variables that were not correctly initialized after the first
- use of the dialog. This has been fixed.
-
- 7. The Spooler, and perhaps other sections of OS/2 protect certain
- areas of the INI files, especially the System INI file, thus making
- it impossible to remove certain Keys from the files, even though the
- Keys are associated with things that are no longer on the Desktop. In
- order to facilitate these efforts, a new capability has been added to
- INIMAINT that allows the user to change the User and/or System INI
- files to a different file. The user can then edit the original file
- as he wishes and then switch back. This must be done with much care
- in order to avoid causing a system problem, but the capability can be
- extremely important when attempting to recover from conditions where
- the operating system has created conflicting or other conditions that
- can be corrected no other way.
-
- ******************************* V1.1c *******************************
-
- The items fixed in Version 1.1c are:
-
- 1. The Main Window Menu Items for changing the User and System INI
- files have been moved from the Actions Menu to a new Menu, Recover.
- It is intended that additional capabilities will be added to give the
- user the ability to recover from corrupted INI files and those
- capabilities will be added to this menu. In addition, the Actions
- Menu was getting crowded.
-
- 2. Two new items have been added to the Action Menu. Rename Key will
- change the name of an existing Key and Duplicate Key will make a
- duplicate copy of a Key Value using a different Key Name.
-
- ******************************* V1.1d *******************************
-
- The items fixed in Version 1.1d are:
-
- 1. The New File and Exit Menus have been combined into a single Menu
- called File. This was done for two reasons, first, the number of menu
- items was becoming too large and, second, a new file type function
- was added, see below.
-
- 2. Since there are a number of different conditions that could modify
- an INI file that is currently being viewed using INIMAINT, the
- ability to reload an INI file from disk has been added. It is the
- Refresh selection on the File Menu.
-
- 3. There was an error in Error Message 13 in the INICOPY program.
-
- 4. It was not possible to select a Application/Key pair when the Key
- Value was zero length ie., there was no Value, only the Application
- and Key Names. This has been fixed.
-
- 5. It was not possible to COPY/MOVE and INI file that had an
- Application/Key pair with a zero length Key Value. This has been
- fixed.
-
- 6. When Adding or Replacing a Key Value, the ability to specify that
- a zero termination character is to be added to the Key Value can now
- be indicated with a Checkbox.
-
- 7. The most common files that INIMAINT is asked to display are the
- User and System INI files. In order to make it easy to select these
- files, two new entries have been added to the File Menu that allow
- for direct selection of these two files without having to use the
- file selection dialog.
-
- 8. Some of the dialog procedures did not initialize static data
- causing a new use of the same dialog to behave in unexpected ways.
- This has been fixed.
-
- 9. A new item has been added to the Options that gives users the
- ability to have the Application and Key Listboxes loaded in the same
- sequence as the actual INI file as opposed to alpha sequence.
-
- ******************************* V1.1e *******************************
-
- The items fixed in Version 1.1e are:
-
- 1. When the menu item was used to switch to the User or System INI
- files, the new file information was not saved. The effect of this was
- that the next time INIMAINT was run, it would go back to the previous
- INI file. This has been fixed.
-
- 2. INIMAINT can now be started with a Command Line parameter
- specifying the initial INI file for this execution of INIMAINT. This
- not only allows INIMAINT to be run with a parameter, but also allows
- for it to be run by double clicking on an INI file, if the
- association has been set up, and allows for running INIMAINT by
- dropping an INI file on the ICON on the Desktop.
-
- 3. For versions of OS/2 prior to 2.0, there is no provision for
- setting up file associations. Therefore a new item has been added to
- the FILE Menu that will set up an association between INIMAINT and
- all files whose file extensions are INI. This option will not appear
- on the menu if the version is 2.0 or higher.
-
- 4. There are some key values which are very long, therefore, they
- take a long time to load into the MLE. It is often the case that the
- user does not even want to see the key value and would prefer to
- switch to another key name. However, it was necessary to wait until
- the MLE was filled and then wait again until all of the lines were
- removed from the MLE. It is now possible to terminate the loading of
- the key value lines into the MLE by hitting the ESC key while the MLE
- is loading. The current Application and Key names will still be
- highlighted, but the MLE will be empty.
-
- 5. In order to keep the menu line from becoming too crowded, the Dump
- menu item has been moved to the File submenu. This was an item that
- is not frequently used anyway. This makes room for the item below.
-
- 6. A new menu item has been added to the main menu, Find. This
- submenu will allow searching of either of the listboxes, the key
- value MLE, all the key names in the current file, all of the key
- values for the current application or all of the key values in the
- current file for either an Ascii or Hex value.
-
- 7. It was possible to select a new item in the Application or Key
- Listboxes while the boxes were being filled. This would cause a
- Protection Violation and has now been fixed.
-
- 8. When certain errors were encountered during the loading of the
- Listboxes or the MLE, they were not reported, this has been fixed.
-
- 9. If the Value of a Key is larger than 65,500 characters, selecting
- that Key in the Key Listbox would cause a memory allocation error and
- the INI file with the Key Value could not be MOVEd, COPYed or used as
- the target of a FIND search. All of these have been fixed. However,
- only the first 60,000 characters of the Key Value will be displayed
- in the Key Value MLE.
-
- 10. If INIMAINT was started with an INI file where the first Key
- Value of the first Application was very large, it was not possible to
- terminate the loading of the Key Value MLE because the main window
- was not visible. This has been fixed by making the main window
- visible before the intial loading of the Key Value MLE.
-
- 11. A new feature, Compare, has been added to the File menu. This
- item will allow the user to compare two INI files on any one of three
- different levels, write or print a listing of the differences and
- write an INI file that contains only those Applications and/or Keys
- where there are differences.
-
- ******************************* V1.1f *******************************
-
- The items fixed in Version 1.1f are:
-
- 1. When an attempt to set an association with the INI files was
- attempted under OS/2 1.3, the association was set up, but INIMAINT
- would then abend with a protection exception. This has been fixed.
-
- 2. When INIMAINT asked the user to enter any character string
- variable, there was no warning when the entered string was too long.
- This has been fixed and the user will hear a beep if they attempt to
- enter a string that exceeds the maximum length for the requested
- item.
-
- 3. It was possible to enter a Group Name that was longer than 30
- characters, which is the maximum. This would appear to work
- correctly, but subsequent attempts to use INIMAINT on the INI file
- involved would cause a protection exception.
-
- 4. The filling of the window that holds the Key values, an OS/2 MLE,
- was very slow if the key value length exceeded 1,000 or so
- characters. If the value approached 64k, then time needed was several
- minutes, even on a fast machine. The loading has been changed and 64K
- can be loaded into the window in less than 10 seconds on the test
- machine, which is a 25mhz 486. However, there does not seem to be any
- way to clear a long key value from the window in less than
- approximately 45 seconds on the test machine. Several different
- approaches have been tried, but none of them resulted in a lower
- time. Therefore, it takes longer to clear the key value window than
- it takes to fill it. If the 45 seconds becomes a problem, hitting F3
- will immediately terminate INIMAINT, which can then be restarted.
- However, it is hard to see how this could be done in less than 45
- seconds on a regular basis.
-
- 5. A Repair feature is being worked on and is in the Online Help.
- However, there are still some problems with the code that compares
- the INI file entries to the actual contents of the desktop. This
- feature will be implemented in the next release. If the item is
- selected from the menu, the dialog box will appear and will be fully
- functional, except that the Execute Button will not work. Choosing
- Execute will result in a Message Box saying that the Execute has not
- been implemented in this release.
-
- 6. At least one user has a need to move a Key from one Application to
- another. The Duplicate Key item on the Action Menu has been modified
- so that the user will now be prompted for a New Application Name as
- well as a New Key Name. One of these names must be modified and the
- Key Value will be copied using the modified names. If just the
- Application Name is changed, then this has the effect of copying the
- Key Name and Value to the new Application. The information will
- remain using the old Application and Key Names unless specifically
- deleted by the user.
- where there are differences.
-
- ******************************* V1.1g *******************************
-
- The items fixed in Version 1.1g are:
-
- 1. The clearing of the Key Value window could take a considerable
- amount of time when the key value was larger than a few thousand
- characters. This has been fixed by changing the code from sending a
- message to delete the contents of the window to simply destroying the
- window and recreating it.
-
- 2. Hitting F10 did not cause a refresh of the file, because the
- System uses F10 to hilight the first menu item. The Refresh was
- changed to F4.
-
- 3. The address and phone number for Carry Associates was changed in
- the documentation files, but was not changed in the About Dialog or
- in the online Help. This has been fixed.
-
- 4. A new item has been added to the Action Menu, Duplicate
- Application, which will make a duplicate copy of any Application in
- the same INI file using a different Application Name.
-
- 5. When a Key was Duplicated in an INI file and the copy was put in
- an Application that did not previously exist, the Application Listbox
- was not refreshed. This has been fixed.
-
- ******************************* V1.1h *******************************
-
- The items fixed in Version 1.1h are:
-
- 1. A Rename Application item has been added to the Action Menu.
- This is the same as the Duplicate Application except that the old
- Application is deleted.
-
- ******************************* V1.1i *******************************
-
- The items fixed in Version 1.1i are:
-
- 1. The Control Program Error indicator could be reset in an error
- situation before the Dump Dialog was displayed, thus losing this
- information. This has been fixed by saving the contents of this
- variable at the point that the initial error occurred.
-
- 2. The found flag was not always reset when multiple Find's were
- requested. The result of this was an indication that a target was
- found when it really was not. This has been fixed by resetting the
- found flag at the start of each find cycle.
-
- 3. A new item has been added to the Recover Menu, Repair INI file.
- Refer to the INIREP.TXT file for a detailed description of the
- currently available repair actions and the online help for how to use
- the facility. Initially, the only repair action that is available is
- to remove entries from any INI file that reference files which are
- not present on the desktop.
-
- 4. The Print function in the Compare and Repair Dialog boxes did not
- correctly print lines that were longer that the current page, the
- line would be truncated rather than carried over to the next line.
- This has been fixed.
-
- 5. When certain errors occurred, for example during a repair action
- or a file compare, the error was not reported via the Dump Dialog and
- INIMAINT would simply stop processing messages. This has been fixed
- by insuring that the various work threads correctly return any error
- indication to the controlling dialog and that the dialog procedure
- terminates the dialog when the error is seen.
-
- ******************************* V1.1j *******************************
-
- The items fixed in Version 1.1j are:
-
- 1. A new item, Condense, has been added to the Repair Menu. This item
- will condense the empty space out of the Current, System, User or
- both System and User INI files with a single selection. INIMAINT has
- had this capability for some time, but it required a number of
- different selections to accomplish.
-
- 2. The menu item to change both the System and User INI files only
- changed the User INI file. This has been fixed.
-
- 3. An item has been added to the online help to describe what is
- meant be the System and User INI files.
-
- 4. The Size submenu has been expanded to add the ability to calculate
- a Size for the System INI File or User INI File without having to
- make one of these files the current INI file.
-
- 5. The Copy submenu has been expanded to add the ability to make a
- Copy of the System INI File, the User INI File or both the System and
- User INI files without having to make these files the current INI
- file.
-
- ******************************* V1.1k *******************************
-
- The items fixed in Version 1.1k are:
-
- 1. A new submenu has been added to the Actions menu, Backup. This
- allows the user to make a backup copy of the System INI File, the
- User INI File or both the System and User INI Files. This item
- differs from the Copy item in two respects. First, in order for a
- Copy to be a true backup, the target file must not exist. With Copy,
- it was necessary for the user to insure that this was the case. The
- Backup menu item will automatically erase the file if it already
- exists. Second, each time a copy was done, it was necessary to
- specify the target INI file for the copy and, since INIMAINT only
- maintains a single target copy filename and does not save this
- filename from one execution of INIMAINT to the next, the names had to
- be reentered each time. INIMAINT will save the names of the System
- and User INI File backup target files and present them as the default
- target files each time a backup is requested. Finally, a new item has
- been added to the Options Dialog that allows the user to bypass being
- asked if they want to use the current backup target files. If this
- option is selected then INIMAINT will use the backup target files
- without asking the user for confirmation.
-
- 2. The Copying File Box would always be displayed during a copy, even
- if the Option was set to not display it. This has been fixed.
-
- 3. There were two potential heap corruption situations in the INICOPY
- program. In one case the wrong form of the free API was used. In the
- other case, it was possible to free the same memory block more than
- one time. Both of these have been fixed.
-
- 4. The Condense item on the Recover menu has been improved in two
- ways. First, INIMAINT will now automatically build a name for the
- temporary INI file and insure that it does not duplicate an existing
- file, this eliminates the need to ask the user for the temporary
- filename. Second, once the initial copy is done, INIMAINT will use
- the standard copy to make a second copy of the new file, erase the
- original file and then rename the second copy to the original name.
- This eliminates the need to do a second INI type of copy, which can
- take a relatively long time. The effect of this is to significantly
- reduce the amount of time that is required to do the Condense.
-
- 5. There was a serious bug in the Condense Both INI files code. The
- temporary file was not erase between the two copies, so the second
- file contained everything from both files. This has been fixed by
- erasing the temporary file immediately after the copy.
-
- ******************************* V1.1l *******************************
-
- The items fixed in Version 1.1l are:
-
- 1. When attempting to do a Copy or Move with the System or User file
- as either the source or target file and lower case characters were
- user in either file name, the Copy could fail because INICOPY did not
- recognize the names as the names of these files, which must be opened
- differently. This has been fixed by forcing the names to upper case
- before checking them against the names of the standard files.
-
- 2. If an error was encountered setting the normal or wait pointers,
- it was not reported because the subroutines did not return an error
- return. This has been fixed.
-
- 3. If Cancel was chosen when the initial Condense Dialog was
- displayed a SYS3175 error would occur because a NULL pointer was
- passed to free(). This has been fixed by moving the free() to a point
- after the pointer has been validated.
-
- 4. it was possible for certain entries in some INI files to cause the
- INIMAINT Repair Dialog to terminate with a 1109 logic error and a DOS
- error of 123. This was caused by passing a name to DosLoadModule that
- it considered invalid, INIMAINT did not check for this return and
- would, therefore, post it as an error. This has been fixed by
- including this check in the list of returns that are considered valid
- returns by INIMAINT.
-
- 5. A logic error 1111 witha DosError of 15 was possible during a
- Repair because INIMAINT did not check for an Invalid Drive return
- from the DosOpen of a drive. This has been fixed by including this
- error in the normal set of checks.
-
- 6. When INIMAINT starts, it saves the current pointer from the
- Desktop so that it will know which pointer to restore after putting
- up the Wait pointer. It was possible, if some unusual pointer was
- displayed at the time that INIMAINT saved the current pointer, that
- the wrong pointer type would be saved and an attempt to restore to
- this incorrect pointer would cause a logic error 616. This has been
- fixed by saving the standard pointer rather than attempting to save
- the current pointer.
-
- 7. When the Condense of both the System and User INI files was
- selected. The desktop was reset two times for each file. This caused
- two problems, first, it takes a long time to reset the desktop and,
- second, on certain occasions it left the desktop in a condition where
- it was necessary to reboot before any work could be done. This has
- been fixed by, in this situation, copying both the System and User
- INI files before the first Reset. This way the desktop is only reset
- two times, which is the minimum possible.
-
- 8. Because of a conflict between the LOCKUP facility and Dialog boxes
- that have had their Parent switched to the Desktop Object Window, in
- order to make the dialog not visible, the Option that sets the
- display of the Copy Dialog will not work. The Copy Dialog will always
- be displayed, no matter what the setting of the Option. Once this
- problem is researched and something is done to remove the conflict,
- the Option will be reenabled.
-
- ******************************* V1.1m *******************************
-
- The items fixed in Version 1.1m are:
-
- 1. When a Size was cancelled using the Esc key, the pointer did not
- return to the normal pointer and the thread was not terminated, thus
- INIMAINT would not do any work and had to be cancelled externally.
- This has been fixed.
-
- 2. The Options Dialog was becoming too high, so it has been broken
- into tow side by side lists.
-
- 3. A new Option, Fast Copy, has been added. If this Option is
- activated then INIMAINT will use special high speed methods to access
- the INI files when an entire file is being Copied, Moved, Backedup or
- Condensed. This greatly reduces the time necessary to process large
- INI files, such as the System and User INI files.
-
- ******************************* V2.0 *******************************
-
- The items fixed in Version 2.0 are:
-
- 1. This version is a full 32 bit version.
-
- 2. A number of improvements have been made to the INSTALL procedure,
- including the ability to install all the files into a single
- subdirectory.
-
- 3. The Repair and Compare Dialogs had the Options box and the results
- Listbox too close together the Dialog was also too high to
- comfortably fit on a default 640x480 screen. Both of these have been
- fixed.
-
- 4. When an error was encountered in the Repair Process, the line from
- the INI file that caused the problem was not placed into the
- supplemental error text field. This has been fixed.
-
- 5. Because the 16 bit Prf API's were limited to 64K of data for any
- key Value, INIMAINT was limited to reading and displaying this amount
- of data. The restriction has been removed with this version because
- of the conversion to full 32 bit.
-
- 6. The Repair Function had attempted to see if *.PSF files that were
- in the INI files with no path information actually existed on the
- Desktop. DosLoadModule was used for this check, since the files
- should be in the LIBPATH. It turns out that DosLoadModule will not
- find anything other than DLL files, so this check was removed.
-
- 7. The Repair Function ignored files that had a pathname that
- indicated they were on a floppy drive, a disk drive with removable
- media, a tape drive, an unknown type of drive, an invalid drive and a
- drive that could not be accessed via DosOpen. Since it is very
- unlikely that any INI file entry that has a pathname that starts with
- any of these type of drive is one that should remain in the INI file,
- all of these conditions have been added to the list of situations
- that INIMAINT will recommend for removal.
-
- 8. If Help was requested while doing a Repair after a new Save INI
- File or Write File was selected, the Help would not work because the
- Repair Dialog was not reset as the active help window. This has been
- fixed.
-
- 9. If the Repair function encountered a path and filename combination
- that looked like it was valid, but it was not, the Repair would
- terminate with a 1109 Logic Error Code. This has been fixed by adding
- checks for an invalid filename at the appropriate points.
-
- ******************************* V2.0a *******************************
-
- The items fixed in Version 2.0a are:
-
- 1. V2.0 forced and path and filenames to upper case in a number of
- places. The caused a number of problems with lower case characters in
- filenames and this code has been removed.
-
- 2. It was possible for the New File Dialog to go into a loop during
- the initialization phase. This has been fixed by checking if the code
- involved has already been executed, and causing an abend if it has.
-
- 3. Two of the SIZE Accelerator keys used Alt-F8 and Alt-F9, which are
- used by OS/2, so they are not available. The SIZE User INI File has
- been changed to Alt-R and the SIZE System INI File has been changed
- to Alt-M.
-
- 4. The New File Dialog was not wide enough, so it has been expanded.
-
- ******************************* V2.0b *******************************
-
- The items fixed in Version 2.0b are:
-
- 1. Because of problems with the custom New File Dialog, this version
- has been modified to use the standard OS/2 New File Dialog.
-
- ******************************* V2.0c *******************************
-
- The items fixed in Version 2.0c are:
-
- 1. When INICOPY was invoked by INIMAINT, the path and filename of the
- Input and Output files were not enclosed in quotes. This created a
- problem with parsing the parameter string. This has been fixed by
- enclosing these two parameters in quotes.
-
- 2. When the Condense was used the part of the initial message that
- said that the Desktop would be reset twice was confusing. The part of
- the message about resetting the Desktop twice has been removed so
- that the message now simply states that the Desktop will be reset.
-
- 3. During the Condense, some of the messages displayed in the right
- hand window were too long for the window. The window has been
- expanded so that it will now display the full message.
-
- 4. Because of the warning about reseting the Desktop, users have
- sometimes waited for some time after a Condense has completed, since
- they do not want to cause a problem with their environment. This is
- because there is no clear indication that the Condense is complete.
- This has been fixed by displaying an additional dialog that will tell
- the user that the Condense is finished and it is okay to resume
- normal operations.
-
- 5. When the Fast Copy Option was used, INICOPY did not validate the
- input file to insure that it was an INI file and one that the Fast
- Copy code understood. This has been fixed by adding two new checks to
- INICOPY and to the Copy Dialog in INIMAINT. One check will report an
- error if the input file is not a valid INI file. The other will
- change the Fast Copy to a normal copy if the INI file is not one that
- the Fast Copy Code understands, thus making the file not valid for
- Fast Copy.
-
- 6. The Condense routine has been updated to test the file to be
- Condensed to see if the Condense is really necessary. If the Condense
- will not reduce the size of the file, then the user will be informed
- of this via a Message Box.
-
- ******************************* V2.0d *******************************
-
- The items fixed in Version 2.0d are:
-
- 1. There were a number of places where the return from a PM API call
- was converted to a 32 bit integer by using the SHORT1FROMMR macro and
- then casting the result to a 32 bit integer. Because the macro goes
- through an unsigned short variable, this did not work for negative
- numbers, such as LIT_END. The result of this was that some things did
- not work correctly, including selection of a new member of a group.
- All of these situations have been fixed by having the macro fill a 16
- bit integer and then using the 16 bit integer to fill the 32 bit
- integer.
-
- 2. If INIMAINT could not open a file as a valid INI file and the
- current INI file could also not be opened, INIMAINT would just start
- and end with no error message. Users with this problem were very
- confused by this and did not know what was happening. This has been
- fixed by adding code that will insure that at least the error dialog
- will be displayed in any error situation.
-
- 3. If an error was encountered attempting to open the default INI
- file at the very start of the execution of INIMAINT, it was possible
- for the Error Dialog routine to get an access violation because some
- pointers were NULL and the NULL value was not tested. This has been
- fixed by adding code to test the pointer values for NULL and print
- None if they are not yet set.
-
- 4. When the initial file that INIMAINT attempted to open was a file
- with no applications or keys, an error was encountered because the
- determination of whether the file was in the new or old format would
- result in an invalid file setting. This has been fixed by
- specifically checking for an empty file.
-