• src/sbbs3/prntfile.cpp

    From rswindell@VERT to CVS commit on Wednesday, May 18, 2016 03:20:17
    src/sbbs3 prntfile.cpp 1.20 1.21
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv24476

    Modified Files:
    prntfile.cpp
    Log Message:
    If a full path is passed to menu(), use it as the base menu filename (don't prepend the text directory).


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ telnet://vert.synchro.net
  • From rswindell@VERT to CVS commit on Monday, February 26, 2018 18:29:19
    src/sbbs3 prntfile.cpp 1.23 1.24
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/home/rswindell/sbbs/src/sbbs3

    Modified Files:
    prntfile.cpp
    Log Message:
    printfile() and printtail() now use fexistcase() to get the proper case
    of the passed filei, fixing a long-standing issue with a couple of menu commands (e.g. "MAININFO") in the WWIV (and possibly other) command shells. Thank Nelgin. Are we keeping count yet?



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Tuesday, February 27, 2018 00:03:26
    src/sbbs3 prntfile.cpp 1.25 1.26
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv25527

    Modified Files:
    prntfile.cpp
    Log Message:
    Revert commit during update breakage.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sunday, September 30, 2018 18:56:31
    src/sbbs3 prntfile.cpp 1.26 1.27
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv27555

    Modified Files:
    prntfile.cpp
    Log Message:
    When displaying menu files (using printfile()), enable CPM/EOF mode
    (stops parsing/displaying upon Ctrl-Z) - this solves the SAUCE record
    issue for sysops (e.g. using PabloDraw).



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Friday, February 01, 2019 16:44:08
    src/sbbs3 prntfile.cpp 1.31 1.32
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv25862

    Modified Files:
    prntfile.cpp
    Log Message:
    Restore the functionality in menu() lost in rev 1.29 where if you pass a
    full path (sans file suffix/extension), it would use that path for the menu file to be displayed.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Thursday, August 08, 2019 15:20:56
    src/sbbs3 prntfile.cpp 1.35 1.36
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv27724

    Modified Files:
    prntfile.cpp
    Log Message:
    Return to the sbbs v2 behavior of printfile() behavior (sort-of): When P_OPENCLOSE mode flag is *not* specified, do not malloc()/read() the entire file and then display. Instead, print one line at a time (so long as that
    line is <= 1MB in length), calling putmsg() for each line.

    This should allow the viewing of massive text files in SBBS again without alloc/swap issues.

    I left the calls to utf8_normalize_str() in here, but I'm not so sure about them now. putmsg() will convert UTF-8 to CP437 through print_utf8_as_cp437(), and that only lacks a couple of conversions that utf8_normalize_str() does (e.g. ellipsis to "..."), so that might be a good candidate to remove in
    the future.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Thursday, August 08, 2019 20:39:18
    src/sbbs3 prntfile.cpp 1.36 1.37
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv13401

    Modified Files:
    prntfile.cpp
    Log Message:
    Fix off-by-two issue with fgets() calls in printfile() line-at-a-time mode (new). Reported by Alterego (ALTERANT)



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Wednesday, August 14, 2019 19:15:20
    src/sbbs3 prntfile.cpp 1.37 1.38
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv20524

    Modified Files:
    prntfile.cpp
    Log Message:
    Fix line-at-a-time mode printfile() operation with regards to attributes maintained between lines, reported by Immortal@IDOMAIN:
    Use P_SAVEATR to retain the new attributes after each call to putmsg() in printfile() line-at-a-time mode. We are no setting the initial attribute to LIGHTGRAY or restoring the original attribute at the end (like a call to putmsg() withou the P_SAVEATR would) - so we may need to add that later
    for line-at-a-time mode, as well.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Thursday, August 15, 2019 23:47:09
    src/sbbs3 prntfile.cpp 1.38 1.39
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv2768

    Modified Files:
    prntfile.cpp
    Log Message:
    Save/restore the current attribute in printfile() line-at-a-time mode unless the P_SAVEATR mode flag was specified (behave like the P_OPENCLOSE mode).



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Friday, September 20, 2019 01:36:48
    src/sbbs3 prntfile.cpp 1.39 1.40
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv391

    Modified Files:
    prntfile.cpp
    Log Message:
    Work-around observed infinite loop trying to print a 0-byte file where
    feof() was returning 0 and fgets() never returned NULL. Weird.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Thursday, April 23, 2020 22:33:39
    src/sbbs3 prntfile.cpp 1.40 1.41
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv12380

    Modified Files:
    prntfile.cpp
    Log Message:
    Fix bug reported by Nelgin in printfile(), when called with-OUT the P_OPENCLOSE mode flag, an EOF @-code would not stop the output since it calls putmsg()
    for *each* line of the file and was not checking the return value of putmsg() for an abnormal/early-termination indicator.


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Friday, May 01, 2020 23:09:38
    src/sbbs3 prntfile.cpp 1.42 1.43
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv20164

    Modified Files:
    prntfile.cpp
    Log Message:
    Keep Deuce from killing Vert by viewing 16GB log files:
    Don't use P_OPENCLOSE printfile() mode for any files > 2MB in size.


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Saturday, May 02, 2020 00:55:21
    src/sbbs3 prntfile.cpp 1.43 1.44
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv10676

    Modified Files:
    prntfile.cpp
    Log Message:
    Make printtail() not load entire files into memory, but instead read the last part of the file, assuming lines are not >8K (on average).


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Sunday, November 22, 2020 00:14:40
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/a5b344c97eebf2879f563371
    Modified Files:
    src/sbbs3/prntfile.cpp
    Log Message:
    Convert menu paths (e.g. /sbbs/text/menu/../filename) to full paths

    If text/menu is a symlink (on *nix), then the path above would actually
    point to a filename in the parent of the symlink target, which is not
    what we want (we want the filename in the text dir). Fixed by using
    FULLPATH.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Saturday, December 05, 2020 19:26:39
    https://gitlab.synchro.net/main/sbbs/-/commit/bba2a9d5f6426be4cec140f8
    Modified Files:
    src/sbbs3/prntfile.cpp
    Log Message:
    Don't print a CRLF in printfile() (called by menu) if no file exists

    printfile() assumes you want the file displayed starting in column 0, so will send a CRLF to insure that it does (unless the P_NOCRLF mode flag is specified). But this CRLF printing was happening before the file was opened and when the P_NOERROR mode flag is specified, this should be a silent failure with no print output. So move the CRLF printing to *after* the file is opened.

    This expose an issue in the latest xtrn_sec.js where it makes several calls to bbs.menu() with the P_NOERROR mode flag set, expecting nothing to happen if/when the optional display files (e.g. xtrn*_tail.*) don't exist.

    Reported by JC via IRC.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Digital Man@VERT to Git commit to main/sbbs/master on Saturday, December 05, 2020 19:32:24
    Re: src/sbbs3/prntfile.cpp
    By: Rob Swindell to Git commit to main/sbbs/master on Sat Dec 05 2020 07:26 pm

    https://gitlab.synchro.net/main/sbbs/-/commit/bba2a9d5f6426be4cec140f8 Modified Files:
    src/sbbs3/prntfile.cpp
    Log Message:
    Don't print a CRLF in printfile() (called by menu) if no file exists

    printfile() assumes you want the file displayed starting in column 0, so will send a CRLF to insure that it does (unless the P_NOCRLF mode flag is specified). But this CRLF printing was happening before the file was opened and when the P_NOERROR mode flag is specified, this should be a silent failure with no print output. So move the CRLF printing to *after* the file is opened.

    This expose an issue in the latest xtrn_sec.js where it makes several calls to bbs.menu() with the P_NOERROR mode flag set, expecting nothing to happen if/when the optional display files (e.g. xtrn*_tail.*) don't exist.

    Reported by JC via IRC.

    Correction: reported by Dan_C.
    --
    digital man

    Synchronet/BBS Terminology Definition #49:
    MODEM = Modulator/Demodulator
    Norco, CA WX: 60.5øF, 22.0% humidity, 0 mph S wind, 0.00 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thursday, March 24, 2022 21:49:53
    https://gitlab.synchro.net/main/sbbs/-/commit/479bd24c574ad0dbe6461d09
    Modified Files:
    src/sbbs3/prntfile.cpp
    Log Message:
    De-dupe random menu filenames by truncating at first dot, rather than last.

    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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thursday, March 24, 2022 23:14:29
    https://gitlab.synchro.net/main/sbbs/-/commit/a8db694b2acee8cc66221bea
    Modified Files:
    src/sbbs3/prntfile.cpp
    Log Message:
    Use text/menu/*.###col.* display files for even-wider terminals

    e.g. display basename.132col.msg even if the terminal is 133+ columns wide.

    Fixes issue #380.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thursday, March 24, 2022 23:58:06
    https://gitlab.synchro.net/main/sbbs/-/commit/e3ba24274983408008b1bf32
    Modified Files:
    src/sbbs3/prntfile.cpp
    Log Message:
    Revert to *.XXcol.* being an exact column width, add *.cXX.* support

    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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Friday, March 25, 2022 00:37:53
    https://gitlab.synchro.net/main/sbbs/-/commit/9ac7335f36e51bfd13f953e4
    Modified Files:
    src/sbbs3/prntfile.cpp
    Log Message:
    Detect/display menu files, even if only a .ans version exists

    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>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From MRO@VERT/BBSESINF to Rob Swindell on Friday, March 25, 2022 05:31:47
    Re: src/sbbs3/prntfile.cpp
    By: Rob Swindell to Git commit to main/sbbs/master on Fri Mar 25 2022 12:37 am

    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.

    thanks for giving up.
    ---
    þ Synchronet þ ::: BBSES.info - free BBS services :::
  • From Digital Man@VERT to MRO on Friday, March 25, 2022 12:35:07
    Re: src/sbbs3/prntfile.cpp
    By: MRO to Rob Swindell on Fri Mar 25 2022 05:31 am

    thanks for giving up.

    I feel for the dozens of PETSCII terminal users that might be impacted.
    Oh well. :-)
    --
    digital man (rob)

    This Is Spinal Tap quote #20:
    Well, I'm sure I'd feel much worse if I weren't under such heavy sedation. Norco, CA WX: 81.9øF, 28.0% humidity, 5 mph ESE wind, 0.00 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From MRO@VERT/BBSESINF to Digital Man on Friday, March 25, 2022 15:26:51
    Re: src/sbbs3/prntfile.cpp
    By: Digital Man to MRO on Fri Mar 25 2022 12:35 pm

    Re: src/sbbs3/prntfile.cpp
    By: MRO to Rob Swindell on Fri Mar 25 2022 05:31 am

    thanks for giving up.

    I feel for the dozens of PETSCII terminal users that might be impacted.
    Oh well. :-)

    maybe have it do a special entry in the log file.
    ---
    þ Synchronet þ ::: BBSES.info - free BBS services :::
  • From Digital Man@VERT to MRO on Friday, March 25, 2022 14:18:00
    Re: src/sbbs3/prntfile.cpp
    By: MRO to Digital Man on Fri Mar 25 2022 03:26 pm

    Re: src/sbbs3/prntfile.cpp
    By: Digital Man to MRO on Fri Mar 25 2022 12:35 pm

    Re: src/sbbs3/prntfile.cpp
    By: MRO to Rob Swindell on Fri Mar 25 2022 05:31 am

    thanks for giving up.

    I feel for the dozens of PETSCII terminal users that might be impacted. Oh well. :-)

    maybe have it do a special entry in the log file.

    I'm thinking just have chksetup.js detect/report when a menu set is missing a .asc or .msg version.
    --
    digital man (rob)

    Synchronet/BBS Terminology Definition #24:
    DOVE = Domain/Vertrauen
    Norco, CA WX: 85.1øF, 32.0% humidity, 7 mph SSE wind, 0.00 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Saturday, March 26, 2022 20:03:49
    https://gitlab.synchro.net/main/sbbs/-/commit/519459c5e1197bd66262b3d5
    Modified Files:
    src/sbbs3/prntfile.cpp
    Log Message:
    De-duplicate at the first '.' following the filename, not the path

    Fix the fix to issue #380.

    Thanks for letting me know Keyop.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net