[frameworks/kcodecs] src/probers: [KEncodingProber] SBCS: Replace model pointer with reference

Stefan Brüns <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit 221be21d5438babc80372a0003e1bce7c21cc903 by Stefan Brüns.
Committed on 08/08/2026 at 13:37.
Pushed by bruns into branch 'master'.

[KEncodingProber] SBCS: Replace model pointer with reference

M  +2    -2    src/probers/nsHebrewProber.cpp
M  +10   -10   src/probers/nsSBCSGroupProber.cpp
M  +4    -4    src/probers/nsSBCharSetProber.cpp
M  +2    -2    src/probers/nsSBCharSetProber.h

https://invent.kde.org/frameworks/kcodecs/-/commit/221be21d5438babc80372a0003e1bce7c21cc903

diff --git a/src/probers/nsHebrewProber.cpp b/src/probers/nsHebrewProber.cpp
index 1a01200..0ba99b1 100644
--- a/src/probers/nsHebrewProber.cpp
+++ b/src/probers/nsHebrewProber.cpp
@@ -58,8 +58,8 @@ bool isNonFinal(char c)
 namespace kencodingprober
 {
 nsHebrewProber::nsHebrewProber()
-    : mLogicalProb(new nsSingleByteCharSetProber<false>(&Win1255Model))
-    , mVisualProb(new nsSingleByteCharSetProber<true>(&Win1255Model))
+    : mLogicalProb(new nsSingleByteCharSetProber<false>(Win1255Model))
+    , mVisualProb(new nsSingleByteCharSetProber<true>(Win1255Model))
 {
 }
 /** HandleData
diff --git a/src/probers/nsSBCSGroupProber.cpp b/src/probers/nsSBCSGroupProber.cpp
index 2dac39d..b03599e 100644
--- a/src/probers/nsSBCSGroupProber.cpp
+++ b/src/probers/nsSBCSGroupProber.cpp
@@ -16,16 +16,16 @@ namespace kencodingprober
 {
 nsSBCSGroupProber::nsSBCSGroupProber()
     : mProbers{
-          std::make_unique<nsSingleByteCharSetProber<false>>(&Win1251Model),
-          std::make_unique<nsSingleByteCharSetProber<false>>(&Koi8rModel),
-          std::make_unique<nsSingleByteCharSetProber<false>>(&Latin5Model),
-          std::make_unique<nsSingleByteCharSetProber<false>>(&MacCyrillicModel),
-          std::make_unique<nsSingleByteCharSetProber<false>>(&Ibm866Model),
-          std::make_unique<nsSingleByteCharSetProber<false>>(&Ibm855Model),
-          std::make_unique<nsSingleByteCharSetProber<false>>(&Latin7Model),
-          std::make_unique<nsSingleByteCharSetProber<false>>(&Win1253Model),
-          std::make_unique<nsSingleByteCharSetProber<false>>(&Latin5BulgarianModel),
-          std::make_unique<nsSingleByteCharSetProber<false>>(&Win1251BulgarianModel),
+          std::make_unique<nsSingleByteCharSetProber<false>>(Win1251Model),
+          std::make_unique<nsSingleByteCharSetProber<false>>(Koi8rModel),
+          std::make_unique<nsSingleByteCharSetProber<false>>(Latin5Model),
+          std::make_unique<nsSingleByteCharSetProber<false>>(MacCyrillicModel),
+          std::make_unique<nsSingleByteCharSetProber<false>>(Ibm866Model),
+          std::make_unique<nsSingleByteCharSetProber<false>>(Ibm855Model),
+          std::make_unique<nsSingleByteCharSetProber<false>>(Latin7Model),
+          std::make_unique<nsSingleByteCharSetProber<false>>(Win1253Model),
+          std::make_unique<nsSingleByteCharSetProber<false>>(Latin5BulgarianModel),
+          std::make_unique<nsSingleByteCharSetProber<false>>(Win1251BulgarianModel),
           std::make_unique<nsHebrewProber>(),
           std::make_unique<nsUtf8Prober>(),
           std::make_unique<nsUtf16BEProber>(),
diff --git a/src/probers/nsSBCharSetProber.cpp b/src/probers/nsSBCharSetProber.cpp
index 2a7ecc7..9d4c9d8 100644
--- a/src/probers/nsSBCharSetProber.cpp
+++ b/src/probers/nsSBCharSetProber.cpp
@@ -18,7 +18,7 @@ template<bool Reversed>
 nsProbingState nsSingleByteCharSetProber<Reversed>::HandleData(const char *aBuf, unsigned int aLen)
 {
     for (unsigned int i = 0; i < aLen; i++) {
-        const unsigned char order = mModel->charToOrderMap[(unsigned char)aBuf[i]];
+        const unsigned char order = mModel.charToOrderMap[(unsigned char)aBuf[i]];
 
         if (order < SYMBOL_CAT_ORDER) {
             mTotalChar++;
@@ -28,7 +28,7 @@ nsProbingState nsSingleByteCharSetProber<Reversed>::HandleData(const char *aBuf,
 
             if (mLastOrder < SAMPLE_SIZE) {
                 unsigned int index = Reversed ? mLastOrder + (SAMPLE_SIZE * order) : (mLastOrder * SAMPLE_SIZE) + order;
-                ++(mSeqCounters[mModel->precedenceMatrix[index]]);
+                ++(mSeqCounters[mModel.precedenceMatrix[index]]);
             }
         }
         mLastOrder = order;
@@ -63,7 +63,7 @@ float nsSingleByteCharSetProber<Reversed>::GetConfidence(void)
 #else // POSITIVE_APPROACH
 
     if (mTotalSeqs > 0) {
-        float r = 1.0f * mSeqCounters.back() / mTotalSeqs / mModel->mTypicalPositiveRatio;
+        float r = 1.0f * mSeqCounters.back() / mTotalSeqs / mModel.mTypicalPositiveRatio;
         r = r * mFreqChar / mTotalChar;
         if (r >= 0.99f) {
             r = 0.99f;
@@ -77,7 +77,7 @@ float nsSingleByteCharSetProber<Reversed>::GetConfidence(void)
 template<bool Reversed>
 const char *nsSingleByteCharSetProber<Reversed>::GetCharSetName()
 {
-    return mModel->charsetName;
+    return mModel.charsetName;
 }
 
 template<bool Reversed>
diff --git a/src/probers/nsSBCharSetProber.h b/src/probers/nsSBCharSetProber.h
index 3a33e5e..ec7a7ea 100644
--- a/src/probers/nsSBCharSetProber.h
+++ b/src/probers/nsSBCharSetProber.h
@@ -29,7 +29,7 @@ template<bool Reversed = false>
 class KCODECS_NO_EXPORT nsSingleByteCharSetProber : public nsCharSetProber
 {
 public:
-    explicit nsSingleByteCharSetProber(const SequenceModel *model)
+    explicit nsSingleByteCharSetProber(const SequenceModel &model)
         : mModel(model)
     {
     }
@@ -46,7 +46,7 @@ public:
 
 protected:
     nsProbingState mState = eDetecting;
-    const SequenceModel *mModel = nullptr;
+    const SequenceModel &mModel;
 
     // char order of last character
     unsigned char mLastOrder = 255;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.