Skip to content
Snippets Groups Projects
  1. Jan 27, 2021
  2. Jan 26, 2021
  3. Jan 25, 2021
  4. Jan 24, 2021
    • Rob Swindell's avatar
      Fix Borland C++ compile failure. · 30d4aa79
      Rob Swindell authored
      30d4aa79
    • Rob Swindell's avatar
      Better charset handling of outbound mail · 9c8d7588
      Rob Swindell authored
      The default character set for outbound mail is now auto-determined (when not explicitly specified for a message) between UTF-8, ASCII, and CP437. The [mail] DefaultCharset setting (which fell-back to iso-8859-1 if blank) is no longer "a thing".
      
      Also: specify 8-bit content-transfer-encoding for the (potentially UTF-8 or CP-437) plain text portion of a MIME-encoded message with file attachment (7-bit was wrong) and pass down the text sub-type (e.g. could be "html") for inclusion in the mime-part header (don't assume text/plain, but still use that as default).
      
      Also: log an error when failing to delete an attached file (e.g. from data/file/*.out).
      9c8d7588
    • Rob Swindell's avatar
      !include modopts.d/*.ini by default · 1c1e8d2e
      Rob Swindell authored
      Updated comment block as well, fixing typos and providing a better description and example usage.
      1c1e8d2e
    • Rob Swindell's avatar
      More support for !include in .ini files · 8fdbb169
      Rob Swindell authored
      Some (important) File methods did not support .ini files that used the !include directive because they were using the xpdev iniRead* API (which performs no "pre-processing") instead of xpdev iniGet*.
      
      Impacted methods:
      - iniGetValue()
      - iniGetKeys()
      - iniGetObject()
      
      The other existing ini* methods already worked fine with nested (!include'd) .ini files. It's possible there's a slight performance penalty with the new implementation since the entire .ini file is always read for each operation and previously it was possible that only a few "lines" were read to find the key(s) of interest. However, since .ini files are not typically huge and the iniRead/file-stream method likely read large (e.g. 8-32K) blocks anyway (which is usually the entire .ini file) - I don't actually suspect any observable impact to performance.
      
      This change was needed for the new ctrl/modopts.d support.
      
      Added new method useful for debugging nested .ini files:
      - iniReadAll()
      8fdbb169
    • Rob Swindell's avatar
      Support !include wildcard-pattern · 4eeaaf72
      Rob Swindell authored
      This allows auto-inclusion of sub-directories of config files (e.g. !include modopts.d/*.ini). This, along with the next commit to js_file.c, allows module authors (or sysops) to keep their module-specific settings in a module-specific file (rather than always merging-with/managing the monolithic/shared modopts.ini). The [modname] section heading is still required in the included .ini file.
      
      Replaced use of non-thread-safe STRERROR() with safe_strerror().
      4eeaaf72
Loading