Skip to content
Snippets Groups Projects
  1. Nov 19, 2022
    • Rob Swindell's avatar
      Introduce "Directory Defaults" for file libraries · bd97c9d8
      Rob Swindell authored
      This allows the sysop to configure the settings to be used for newly-created and auto-added directories without requiring any "template" directory to be configured. The "template" directory concept goes away (so in this way, File libs/dirs are now different from Message groups/subs in how bulk configuration is done).
      
      The Lib->Clone Options menu option was moved to Lib->Directory Defaults->Clone Settings and no longer uses the first sub or the template sub but rather the configured directory defaults to be cloned into all dirs in the lib.
      
      I decided to make the dir_defaults their own sections in file.ini rather than combining with all the other lib settings (and deconflicting key names such as "sort" and "settings"). This also allowed me to use the same cfg read/write functions for those directory settings and lib's directory default settings.
      bd97c9d8
    • Rob Swindell's avatar
      cf884d4c
  2. Nov 17, 2022
  3. Nov 13, 2022
  4. Nov 12, 2022
  5. Nov 11, 2022
    • Rob Swindell's avatar
    • Rob Swindell's avatar
      iniRemoveKey() will now remove all keys matching teh passed key name · a66f9c6e
      Rob Swindell authored
      There shouldn't be multiple keys with the same name in a section, but if there
      were, a call to iniRemoveKey() would would only remove the *first* key with
      that name. So loop until all the keys with the matching name are removed and
      return true only if they were all successfully removed from the specified
      section.
      
      This resolved an observed issue with sbbsctrl-windows displaying an error
      dialog "Failure writing initialization file: path/to/sbbs.ini" when there
      were multiple *Sound keys in a section and the first such key value matched
      that same key in the [Global] section: in this case, we try to remove the
      duplicate key/value from the non-global section, but that removal was
      considered a failure (iniKeyExists returned TRUE) because we only removed
      the *first* key with that name (assuming there would be only one). So we
      would abort the save entirely and display the error dialog.
      a66f9c6e
  6. Nov 10, 2022
  7. Nov 09, 2022
  8. Nov 05, 2022
  9. Oct 29, 2022
Loading