Inifile Module

Inifile is a program module to read, parse, and return standard INI
file group/key/value information.

All group/key/value data will be handled as character strings. Keys
occurring before the first group, or in a file without a group
defined will be consided to b in group "". Keys without values
defined will be stored with value "".

Empty groups are supported (tolerated?), but will not be stored in
memory. Values without keys are not supported.

To be implemented in C, Fortran, and possibly other languages.

* Limits to be determined

  - Max. number of groups
  - Max. number of keys
  - Max. length of group names
  - Max. length of key names
  - Max. length of values
  
  (No need to limit number of INI files since processed file names
  will not be remembered and contents of all INI files cascaded
  together into single data set.)

* Functions

** Reset INI file data
** Read/parse INI file

   Read contents of specified file, parse and store in memory group,
   key, and value information.

   If multiple INI files are processed, new group/key combinations
   will be added to the data set. For group/key combinations that
   duplicate group/keys found in an earlier file, the new value will
   replace the value parsed from the earlier file. This replacement
   process is called "cascading".

   Close each file as processed.

** Get value

   Return value for specified group/key.

   ?How to distinguish "not found" and "key with no value"?

** Get first/next key in group

   Allow iteration through all keys defined in specified group.

   Return "" for "group not defined", "no key in group" (? Cannot
   occur if group not remembered until first key peocessed?), or "no
   more keys in group".

** Defined group

** Defined group/key