Skip to content
Snippets Groups Projects
  1. May 25, 2024
  2. May 23, 2024
    • Rob Swindell's avatar
      Clear mouse hotspots when executing *any* external program/script · 40f429e0
      Rob Swindell authored
      Previously, we only cleared hotspots when executing any external from the
      external program section (doors menu). This means that invoking a script or
      external program (e.g. via JS bbs.exec()) from anywhere else, any current
      mouse hotspots would remain active. Disable those.
      
      This fixes issue #758
      40f429e0
  3. May 22, 2024
  4. May 18, 2024
  5. May 16, 2024
  6. May 14, 2024
    • Rob Swindell's avatar
      Allow SCFG ciolib and uifc parameters to be read from ctrl/scfg.ini · 834c21eb
      Rob Swindell authored
      If a sysop wants to override the default user interface/console I/O library
      behavior of SCFG without using command-line arguments, they can create a
      ctrl/scfg.ini file with the following optional [section] keys:
      
      [uifc]
      mode (advanced uses, e.g. disabling mouse support)
      height (in lines)
      insert (keyboard insert mode, not overwrite)
      esc_delay (ESC-key delay)
      
      [ciolib]
      mode (advanced uses)
      scaling (fractional values, e.g. 1.5, supported)
      height (in pixels)
      width (in pixels)
      
      Command-line arguments take precedence over scfg.ini settings (if set).
      
      The scfg.ini file is read *before* parsing command-line args, so if a ctrl
      directory is specified on the command-line (e.g. rather than via environment
      variable), the scfg.ini file won't be read from that specified location but
      rather the default (/sbbs/ctrl) or the SBBSCTRL env var value.
      
      Another attempt to make Nelgin happy and close out issue #749, though no, this
      doesn't auto-save the current parameters (you'll have to create/edit the
      scfg.ini file by hand).
      834c21eb
    • Rob Swindell's avatar
      22f52e3f
  7. May 13, 2024
  8. May 12, 2024
  9. May 06, 2024
  10. May 05, 2024
  11. May 04, 2024
    • Rob Swindell's avatar
      Fix CID 493283: Incorrect expression (NO_EFFECT) · f8f85f1e
      Rob Swindell authored
          Comparing an array to null is not useful: "client->protocol == NULL",
          since the test will always evaluate as true.
      
      or will always evaluate as *false* (the array won't ever be NULL). <shrug>
      f8f85f1e
    • Rob Swindell's avatar
      Support dir/subdir syntax in DIRS.TXT (CD-ROM) import · d787ad1a
      Rob Swindell authored
      getfname() just returns the last path element, so can't use that here.
      d787ad1a
    • Rob Swindell's avatar
      Re-assign the dirnum and subnum fields after sorting dirs or subs · c1847394
      Rob Swindell authored
      The dirnum and subnum are used for the next/previous (left and right) arrow
      nav through sub-boards and directories. For message groups or file libs that
      are configured to auto-sort the sub-boards or directory list, when importing
      an unsorted list, the dirnum and subnum values would then be wrong after the
      qsort() at the end of the import thus making the left/right nav thing broken
      (jump to other groups/libs and such).
      
      This fixes that.
      
      Could I have fixed this by passing an index value to the next/prev_dirnum()
      and _subnum() functions and returning the next/previous index value instead of
      relying on the subnum/dirnum elemment to be correct? Maybe. <shrug>
      Do I like second guessing myself? Not really.
      c1847394
    • Rob Swindell's avatar
      Fixup extract_diz() - fallback to external archivers · e2d3cd89
      Rob Swindell authored
      The fallback to external extractors/archivers didn't really work unless a
      libarchive function (called from extract_files_from_archive) actually failed
      and the return value was < 0. A return value of 0 would mean the external
      file extractor would never be used.
      
      This was discovered when trying to import DIZ from old ZIP files (from 1992)
      that used "Implode" compression method for the FILE_ID.DIZ, which is a
      compression method *not* supported by libarchive. This is a reason why sysops
      might want to leave Info-zip's 'unzip' as a configured Extractable File Type
      handler (in SCFG) for 'zip' files.
      
      Don't call the external archiver 3 times for the 3 DIZ filenames supported.
      Just call the external archiver once, and pass all 3 filesnames. This also
      means that the call to system() can return non-zero (e.g. Info-zip 'unzip'
      will return 2 if any of the files aren't present in the archive, even if
      one is) - so ignore this return value from system(). This speeds up bulk
      import (e.g. using addfiles.js).
      
      Unfortunately, I couldn't really find a nice cross-platform way to suppress
      the unzip "caution: filename not matched" message sent to stderr. That's
      a bummer and a little annoying.
      
      Ignore 0-length DIZ files.
      e2d3cd89
    • Rob Swindell's avatar
      Change client_t.protocol from pointer to buffer · dd2afc92
      Rob Swindell authored
      Fix observed crash when shutting down services server where the client_t
      protocol was pointing to a freed service's protocol description string.
      
      This was the last pointer in client_t and should resolve the last race
      conditions (memory ownership issues) with its data members.
      
      This also resolves a small memory leak in getnodeclient() where the last
      client "gotten" would have its heap-duplicated protocol string leaked.
      dd2afc92
  12. May 03, 2024
  13. May 01, 2024
    • Rob Swindell's avatar
      Better support for CD-ROM filenaming (no dashes in ISO 9660 filenames!) · 6614794d
      Rob Swindell authored
      Though the FILES.BBS might have filenames with dashes, the filenames actually
      have underscores. Consider converting any other valid DOS filename characters
      that are not allowed in ISO 9660 filenames as well (but to what?).
      
      More logging of missing and renamed files (e.g. fixed case, dashes replaced
      with underscores).
      6614794d
  14. Apr 30, 2024
  15. Apr 28, 2024
Loading