• src/sbbs3/prntfile.cpp

    From rswindell@1:103/705 to CVS commit on Thu Aug 8 15:20:56 2019
    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.


    --- SBBSecho 3.08-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Thu Aug 8 20:39:18 2019
    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)


    --- SBBSecho 3.08-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Wed Aug 14 19:15:20 2019
    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.


    --- SBBSecho 3.08-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Thu Aug 15 23:47:09 2019
    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).


    --- SBBSecho 3.08-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Fri Sep 20 01:36:48 2019
    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.


    --- SBBSecho 3.10-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Thu Apr 23 22:33:39 2020
    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.

    --- SBBSecho 3.10-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Fri May 1 23:09:38 2020
    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.

    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sat May 2 00:55:21 2020
    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).

    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to sbbs/master on Sun Nov 22 00:14:40 2020
    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 pathsIf text/menu is a symlink (on *nix), then the path above would actuallypoint to a filename in the parent of the symlink target, which is notwhat we want (we want the filename in the text dir). Fixed by usingFULLPATH.
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Sat Dec 5 19:26:39 2020
    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 existsprintfile() 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.
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to Git commit to main/sbbs/master on Sat Dec 5 19:32:24 2020
    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
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Thu Mar 24 21:49:53 2022
    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 currentuser terminal width.This is fixed by truncating the filenames matching the requested pattern attheir first-dot rather than the last.The downside is, you can't have a set of random.#.* files, where # is theunique part of the filename and * is the file-type extension. Just usethe naming pattern "random-#.*" instead (or something similar) instead.
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Thu Mar 24 23:14:29 2022
    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 terminalse.g. display basename.132col.msg even if the terminal is 133+ columns wide.Fixes issue #380.
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Thu Mar 24 23:58:06 2022
    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.* supportThat 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.
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Fri Mar 25 00:37:53 2022
    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 existsI'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>
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From MRO@1:103/705 to Rob Swindell on Fri Mar 25 05:31:47 2022
    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 :::
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to MRO on Fri Mar 25 12:35:07 2022
    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 --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From MRO@1:103/705 to Digital Man on Fri Mar 25 15:26:51 2022
    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 :::
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to MRO on Fri Mar 25 14:18:00 2022
    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 --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Sat Mar 26 20:03:49 2022
    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 pathFix the fix to issue #380.Thanks for letting me know Keyop.
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)