Skip to content
Snippets Groups Projects
  1. Mar 29, 2022
    • Eric Oulashin's avatar
      DDLightbarMenu OnItemNav on initial display · f70fc096
      Eric Oulashin authored
      DDLightbarMenu can now optionally call its OnItemNav function when
      it's first displayed.  By default this behavior is disabled, but it
      can be enabled by setting the (new) callOnItemNavOnStartup property
      to true.
      f70fc096
  2. Mar 28, 2022
  3. Mar 27, 2022
  4. Mar 25, 2022
    • Rob Swindell's avatar
      Uh, increment the pointer in globi() · 30cf70e9
      Rob Swindell authored
      Fixes crash reported in #381.
      30cf70e9
    • Rob Swindell's avatar
      Remove the hard-coded ".msg" extension from data/subs/*.msg display file · 1f0d53ca
      Rob Swindell authored
      And data/dirs/*.msg display file. Now you can have any supported menu file in this location if you wish.
      1f0d53ca
    • Rob Swindell's avatar
      Detect/display menu files, even if only a .ans version exists · 9ac7335f
      Rob Swindell authored
      I'm so tired of this 30 year old frequently asked question.
      
      If a sysop really wants their Synchronet BBS to only work correctly for ANSI users, I suppose that should be their prerogative.
      
      I always felt that by not detecting/displaying menu files when the minimum set of files was not present, I was helping sysops to identify an issue with their system (which would not work correctly for non-ANSI users). *And* I always felt that having a single menu/display file that correctly supported both ANSI and non-ANSI users was a nice convenience (who really wants to maintain multiple versions of their menu files?). But I'm so tired of answering this question, I just give up.
      
      Hopefully this doesn't break anything for anyone. <shrug>
      9ac7335f
    • Rob Swindell's avatar
      Revert to *.XXcol.* being an exact column width, add *.cXX.* support · e3ba2427
      Rob Swindell authored
      That previous commit made all *.40col.msg files display for 80 column users. Not my intention.
      
      So revert to the previous behavior of *.XXcol.* display files. I didn't want to go renaming a bunch of menu files as a result of the previous commit and I didn't want a bunch of sysops with *.XXcol.* files to be suddenly surprised at their new BBS behavior.
      
      And introduce a new file naming convention, *.cXX.* (where XX is a MINIMUM column width). This is the same naming convention used by Mystic, which also treats it is as a minimum terminal width, not a required exact width.
      e3ba2427
    • Rob Swindell's avatar
      Merge branch 'dd_msg_reader_bbs_edit_msg' into 'master' · d897d430
      Rob Swindell authored
      DDMsgReader: Now calls bbs.edit_msg() to edit an existing message.
      
      See merge request !167
      d897d430
    • Rob Swindell's avatar
      Use text/menu/*.###col.* display files for even-wider terminals · a8db694b
      Rob Swindell authored
      e.g. display basename.132col.msg even if the terminal is 133+ columns wide.
      
      Fixes issue #380.
      a8db694b
    • Rob Swindell's avatar
      Introduce case-insensitive version of glob(): globi() · ce74d0e0
      Rob Swindell authored
      glob() is case-insensitive on Windows already, so create a work-alike for *nix.
      ce74d0e0
    • Rob Swindell's avatar
      De-dupe random menu filenames by truncating at first dot, rather than last. · 479bd24c
      Rob Swindell authored
      Fix for one of the problems described in issue #380.
      
      bbs.menu("random*"); would display column-width-specific files (e.g.
      random.132col.msg) even when they weren't appropriate for the current
      user terminal width.
      
      This is fixed by truncating the filenames matching the requested pattern at
      their first-dot rather than the last.
      
      The downside is, you can't have a set of random.#.* files, where # is the
      unique part of the filename and * is the file-type extension. Just use
      the naming pattern "random-#.*" instead (or something similar) instead.
      479bd24c
  5. Mar 24, 2022
    • Rob Swindell's avatar
      DLL-export is_valid_XXXnum() functions, for web server use · 3fa6bebb
      Rob Swindell authored
      Fixes recently broken Win32 build
      3fa6bebb
    • Rob Swindell's avatar
      Fix potential seg fault when an invalid file vpath is requested · f5a4c16b
      Rob Swindell authored
      I knew I created these is_valid_*num() functions for a reason!
      f5a4c16b
    • Rob Swindell's avatar
      Credits don't need 13 characters to display now · 52c2d22c
      Rob Swindell authored
      Since we're not displaying the exact value to the byte, with commas
      52c2d22c
    • Rob Swindell's avatar
      Fix newly-introduced GCC warnings · 9405250f
      Rob Swindell authored
      9405250f
    • Rob Swindell's avatar
      Support user credits and transfer stats > 4GB in total · 1cac2c8a
      Rob Swindell authored
      Credits and daily free credits are accurate to the byte up to (a maximum) of 18446744073709551615 (that's 18 Exbibytes - 1).
      
      User's upload and download byte stats are now similarly extended in maximum range, but the accuracy is only "to the byte" for values less than 10,000,000,000. Beyond that value, the accuracy declines, but is generally pretty damn accurate (to 4 decimal places beyond the nearest multiple of a power of 1024), so I don't expect that to be an issue. This method of storing upload/download byte stats allowed me to use the same 10-character user record fields in the user.dat file.
      
      As a side-effect of this enhancements:
      * User and file credit values are now expressed in multiples of powers of 1024 (e.g. 4.0G rather than 4,294,967,296).
      * Free credits per day per security level has now been extended from 32 to 64-bits (to accommodate values >= 4GB).
      * adjustuserrec() now longer takes the record length since we can easily determine that automatically and don't need more "sources of truth" that can be out-of-sync (e.g. the U_CDT field length going from 10 to 20 chars with this change).
      * setting the stage for locale-dependent thousands-separators (e.g. space instead of comma) - currently still hard-coded to comma
      * more/better support for files > 4GB in size (e.g. in the batch download queue)
      * user_t ulong fields changed to either uint32_t or uint64_t - I didn't realize how many long/ulong's remained in the code (which are sometmies 32-bit, sometimes 64-bit) - ugh
      * Steve's ultoac() function renamed to u32toac() and created a C++ wrapper that still uses the old name, for homage
      1cac2c8a
    • Eric Oulashin's avatar
      DDMsgReader: Now calls bbs.edit_msg() to edit an existing message. · 307a7cd5
      Eric Oulashin authored
      Now calls bbs.edit_msg() to edit an existing message (if that function exists - It
      was added in Synchronet 3.18).
      307a7cd5
    • Rob Swindell's avatar
    • Rob Swindell's avatar
      byte-count to string routines type unsigned 64-bit int now · fcb6846b
      Rob Swindell authored
      We don't have a use case negative byte values in strings anywhere that I can think of.
      
      Created wrapper for MSFT _ui64toa_() - unsigned 64-bit integer to ASCII string.
      
      Add Petabyte (actually, Pebibyte) support to byte_count_to_str()  and byte_estimate_to_str().
      
      Removed 'B' suffix from byte_estimate_to_str() output for values < 1024. Callers may display this returned string followed by "bytes" (or similar) and thus the 'B' suffix is redundant in that case. If the caller needs a 'B' suffix, they can detect no suffix and add it.
      fcb6846b
  6. Mar 21, 2022
Loading