Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
Synchronet
Synchronet
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 138
    • Issues 138
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 1
    • Merge Requests 1
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Metrics
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Main
  • SynchronetSynchronet
  • Issues
  • #188

Closed
Open
Opened Nov 28, 2020 by Michael Long@phareous
  • Report abuse
  • New issue
Report abuse New issue

synchronet not implementing original quotes.txt format

It appears the original WWIV 4.21 wrote 2 metadata lines to the top of quotes.txt. Synchronet does not do this. When you use the original wwivedit (and most likely bredit) with quotes.txt support, it ignores the first two lines of quotes.txt.

Reproduce:

  1. Setup WWIVEdit (http://wiki.synchro.net/howto:editor:wwivedit).
  2. In SCFG, Set Automatically Quoted Text to None
  3. in config/default.def, set QUOTER: [2]
  4. Reply to a message. See that the first 2 lines are ignored.

Evidence

wwiv 5.0 whatsnew.txt

* QBBS Editors should now mostly work as expected, we strip the colors out of the messages, and the header lines that go into QUOTES.TXT since only wwiv editors care about that metadata.

wwiv 5.0 brware/bredit/quote.cpp

if (strchr(QuoteFile.GetLine(0)->Text, '#')!=NULL) { // Quote file contains author info QuoteFile.RemoveLine(0); QuoteFile.RemoveLine(0); }

wwiv 5.0 bbs/external_edit_qbbs.cpp

const auto qfn = FilePath(tmpdir, QUOTES_TXT); if (!File::Exists(qfn)) { return false; } // Copy quotes.txt to MSGTMP if it exists TextFile in(qfn, "rt"); if (!in) { return false; } File out(FilePath(tmpdir, MSGTMP)); if (!out.Open(File::modeBinary | File::modeReadWrite | File::modeCreateFile | File::modeTruncate)) { return false; } const auto lines = in.ReadFileIntoVector(); int num_to_skip = 2; for (const auto& l : lines) { if (!l.empty()) { if (l.front() == CD) { continue; } if (num_to_skip-- > 0) { continue; } } out.Writeln(stripcolors(l)); } return true;

wwiv 5.0 quotes.txt creation

I don't fully understand it, but its here: https://github.com/wwivbbs/wwiv/blob/main/common/quote.cpp

wwivedit wequote.pas (you can see the src here: https://github.com/MarkHofmann11/WWIVEdit or in deuce's file http://doors.bbsdev.net/wedit.tgz)

PROCEDURE SkipHeader(VAR t:text); BEGIN readln(t); readln(t); END; PROCEDURE QuoteLines(VAR Infile,Outfile:text; RangeLo,RangeHi:integer; prefix:string); VAR Line : Integer; s : string; BEGIN rewrite(OutFile); reset(infile); SkipHeader(infile); Line:=1; WHILE NOT EOF(infile) DO ...
Edited Nov 28, 2020 by Michael Long
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
0
Labels
None
Assign labels
  • View project labels
Reference: main/sbbs#188