Fix overloaded operators in bigint.
Assignment and increment/decrement operators should return values.
PiperOrigin-RevId: 254821537
Change-Id: I85d2fe7669474cb27850b7e4196edb424dd87ad1
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/56891
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/third_party/bigint/NumberlikeArray.hh b/third_party/bigint/NumberlikeArray.hh
index f791780..df58dae 100644
--- a/third_party/bigint/NumberlikeArray.hh
+++ b/third_party/bigint/NumberlikeArray.hh
@@ -70,7 +70,7 @@
NumberlikeArray(const NumberlikeArray<Blk> &x);
// Assignment operator
- void operator=(const NumberlikeArray<Blk> &x);
+ NumberlikeArray<Blk>& operator=(const NumberlikeArray<Blk> &x);
// Constructor that copies from a given array of blocks
NumberlikeArray(const Blk *b, Index blen);
@@ -139,11 +139,11 @@
}
template <class Blk>
-void NumberlikeArray<Blk>::operator=(const NumberlikeArray<Blk> &x) {
+NumberlikeArray<Blk>& NumberlikeArray<Blk>::operator=(const NumberlikeArray<Blk> &x) {
/* Calls like a = a have no effect; catch them before the aliasing
* causes a problem */
if (this == &x)
- return;
+ return *this;
// Copy length
len = x.len;
// Expand array if necessary
@@ -152,6 +152,7 @@
Index i;
for (i = 0; i < len; i++)
blk[i] = x.blk[i];
+ return *this;
}
template <class Blk>