| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
PiperOrigin-RevId: 502901875
Change-Id: I1c8c097e5c81a9e413692109ebfe0d0b24f50f2e
|
|
|
|
|
| |
PiperOrigin-RevId: 501644407
Change-Id: Ie98d22e4983cfbd9cad2176925774d624d4702cf
|
|
|
|
|
| |
PiperOrigin-RevId: 501074382
Change-Id: I26a59ee6452855685ffe89469c352e6384060f59
|
|
|
|
|
|
|
|
|
| |
Remove duplicate documentation for two variants of Base64EscapeInternal().
Clarify role of base64 char array input (controls web-safe or not).
PiperOrigin-RevId: 500867221
Change-Id: Ie316a7ddd60794e041c5b9b39e9ab5b66ed565a6
|
|
|
|
|
|
|
| |
particular RFC specifications.
PiperOrigin-RevId: 500809781
Change-Id: I34d089343321f7658db8252ad29ff1824e6dbef2
|
|
|
|
|
| |
PiperOrigin-RevId: 500765473
Change-Id: Iaa3f9fdee6c9f4322bc8995b0d381cf1c8cb1349
|
|
|
|
|
|
|
|
| |
This is consistent with the rest of the GTEST_HAS_DEATH usages in
the code and the example in gtest-port.h.
PiperOrigin-RevId: 500740093
Change-Id: I2acc158116b0e8bccc8ab45d75c8059828a4c251
|
|
|
|
|
|
|
|
|
| |
CalculateBase64EscapedLenInternal helper method.
Note that output padding is conditional on do_padding.
PiperOrigin-RevId: 499901986
Change-Id: I8c1d28fe372b3e0e2216654db83f949caa297892
|
|
|
|
|
| |
PiperOrigin-RevId: 497197704
Change-Id: I3865a874e04f6f55a1ab374b03451535a86bc5a3
|
|
|
|
|
|
|
| |
that the proper non-obsolete RFC 4648 is already listed in escaping.h's Base64Escape() documentation)
PiperOrigin-RevId: 494821805
Change-Id: Id3bffcb968a7c865c9a6bcbf241870c3674601ba
|
|
|
|
|
| |
PiperOrigin-RevId: 494587777
Change-Id: I41504edca6fcf750d52602fa84a33bc7fe5fbb48
|
|
|
|
|
| |
PiperOrigin-RevId: 493682437
Change-Id: I30f2ac36b998b86c24fe7513cd952b860560a66e
|
|
|
|
|
|
|
| |
This change removes the 'create by single memcpy' CopyRaw() logic to avoid potential UB from the atomic refcount data being included in the memcpy. While we know this works on all supported platforms, it is officially UB, and we should change it to something else. This change changes the CopyRaw() method to explicitly create a (default initialized) instance, initialize `length` and `refcount`, and then memcpy the remaining contents which are trivial uint8_t and CordRep* values.
PiperOrigin-RevId: 493596072
Change-Id: I46618883eb1c7c9ed9eb083f4d3e7fc501f23df5
|
|
|
|
|
| |
PiperOrigin-RevId: 492481345
Change-Id: Ie77656ed334b54930ee852d31e2794a1fc58ce2f
|
|
|
|
|
| |
PiperOrigin-RevId: 492463896
Change-Id: I063759ca5ceb3597a7c8ab25af23aa688dee26c2
|
|
|
|
|
| |
PiperOrigin-RevId: 491992941
Change-Id: Id66154cc4561770047b55625ef00014602975c5d
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
this parser for the static checker.
This fixes some outstanding bugs where the static checker differed from the
dynamic one.
Also, fix `%v` to be accepted with POSIX syntax.
Tested:
Presubmit
TGP OCL:487237262:BASE:490275393:1669141454896:92dd62e3
PiperOrigin-RevId: 491650577
Change-Id: Id138c108187428b3aea46f8887495f1da12c91b2
|
|
|
|
|
| |
PiperOrigin-RevId: 490329293
Change-Id: Ied36e737e85afc683cc7cc116ac6bc07092472df
|
|
|
|
|
|
|
|
|
|
|
| |
from Base64Encode.
Also:
* Clarify that padding refers to ‘output’ padding
* Make CalculateBase64EscapedLen() a bit more discoverable
* Reference all relevant non-obsolete RFCs (2045 as well as 4648)
PiperOrigin-RevId: 489981278
Change-Id: I27365ea5d52bfdb0c9d02ed96d05b4a60f2dc36f
|
|
|
|
|
|
|
| |
Also updated documentation around FormatSink and PutPaddedString
PiperOrigin-RevId: 488651398
Change-Id: Ic6c586dbb8bea61df841a142f12d22c7e5b03f43
|
|
|
|
|
| |
PiperOrigin-RevId: 487394692
Change-Id: I55e9b57055483dc921e9773c3643ea9be4f9bdf6
|
|
|
|
|
|
|
|
|
| |
If a user-defined type has `AbslStringify()` defined, it will always be used for logging over `operator<<`.
`HasAbslStringify` now uses the empty class `UnimplementedSink` for its checks instead of `StringifySink` in order to make it work in cases involving other sinks.
PiperOrigin-RevId: 485710377
Change-Id: Ibdd916151c7abc3269c35fbe79b772867f3d25e1
|
|
|
|
|
| |
PiperOrigin-RevId: 485575914
Change-Id: If1752252e3cc2f91dc3c171382c9fb3a4def0377
|
|
|
|
|
|
|
| |
empty cord twice in a row.
PiperOrigin-RevId: 485367641
Change-Id: I6605ff25acbcef7c40b68e15a8888076a2da63be
|
|
|
|
|
| |
PiperOrigin-RevId: 484578104
Change-Id: Ie4be3e4de27dc28d88395e16fd075fb10ab7a302
|
|
|
|
|
|
|
| |
file.
PiperOrigin-RevId: 484419458
Change-Id: Ic2c1afa1a3434ac071c01ae2e6c75dee41b1f069
|
|
|
|
|
|
|
| |
This function is unnecessary as it was originally used to support modifiers with `absl::StrFormat()`. This functionality is irrelevant to `absl::StrCat()`.
PiperOrigin-RevId: 484339246
Change-Id: I8c4a0ee01b30aee7a83f6ab54e5465465cc9cc56
|
|
|
|
|
| |
PiperOrigin-RevId: 484181180
Change-Id: I00206c1506a25dca5555261d6500c1e54368a368
|
|
|
|
|
| |
PiperOrigin-RevId: 482905442
Change-Id: Ic3a1e62f8a17efee5508d94835635aa489940f2d
|
|
|
|
|
|
| |
Bug: chromium:1292951
PiperOrigin-RevId: 482287305
Change-Id: I896033c7c8b2645eacab974c4364c6ba66d38cb6
|
|
|
|
|
|
|
| |
strings.
PiperOrigin-RevId: 481568970
Change-Id: Icb132348f62fed4c0168aac4963b3313a060890b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
absl::Substitute.
We are also moving some internals into an internal header.
`HasAbslStringify` was not previously in an internal namespace but was intended
to be and has now been moved to an internal namespace. This is in adherence to
our compatibility guidelines which wave requirements for APIs within their
first 30 days of public release (See https://abseil.io/about/compatibility for
details).
PiperOrigin-RevId: 481190705
Change-Id: I4c0c348f269ea8d76ea3d4bd5a2c41cce475dc04
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Addresses failures with the following, in some files:
-Wshorten-64-to-32
-Wimplicit-int-conversion
-Wsign-compare
-Wsign-conversion
-Wtautological-unsigned-zero-compare
(This specific CL enables these warnings and fixes the remaining known issues.)
Bug: chromium:1292951
PiperOrigin-RevId: 480981210
Change-Id: I92d5023c6833e24d6aa29b10d433116329972f41
|
|
|
|
|
| |
PiperOrigin-RevId: 480945608
Change-Id: I3e90a105c793deee02fbef322946bf7d5340dc78
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves inlined code around a bit without changing anything bar the names of things. The purpose for all this is that it greatly simplifies the process of adding memory poisining to Cord / InlineData. InlineData can have scoped poison / unpoison regions around the interface, calling into rep for the 'real code'. I.e.:
Rep::as_chars() { return &inline_data[1]; }
InlineData::as_chars() {
Unpoisoned self(this);
return rep_.as_chars();
}
Likewise, it greatly simplifies intercepting the code for constructors, copy constructors and operator= logic.
PiperOrigin-RevId: 480893031
Change-Id: I050c88caff2315939d95a0361ae20528be36a96b
|
|
|
|
|
| |
PiperOrigin-RevId: 480511524
Change-Id: I73945b1150a2e2e75774684fb8e7364f9c1290a7
|
|
|
|
|
|
|
|
|
| |
checking but can happen for incorrect formats parsed via ParsedFormat::New.
Specifically, if a user were to add length modifiers with 'v', for example the
incorrect format string "%hv", the ParsedFormat would incorrectly be allowed.
PiperOrigin-RevId: 480183817
Change-Id: I8510c13189fdf807cdaa7f2e1b7ed9fba2aaefb9
|
|
|
|
|
| |
PiperOrigin-RevId: 480166410
Change-Id: Ie915e98747ffda0d1f0e5a72383f5dd9fc940970
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Such sinks must define ADL-callable `AbslFormatFlush()`. It can just forward to
`Append()`.
PiperOrigin-RevId: 479043790
Change-Id: I5d7d80ca1e17adf03b77726df8a52e2b4e9196ce
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 478668020
Change-Id: Iee79011bf7154e83ad862e7bf6e7a76dd337ec06
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
sizeof(kPower10ExponentTable) = 651 * sizeof(int16_t) = 1302 bytes.
Their equivalence can be confirmed by this test program:
```
const int minIncl = -342;
const int maxExcl = 309;
const int kPower10ExponentTable[] = { etc };
int Power10Exponent(int n) {
return kPower10ExponentTable[n - minIncl];
}
int main(int argc, char** argv) {
for (int n = minIncl; n < maxExcl; n++) {
int formula = (217706 * n >> 16) - 63;
int table = Power10Exponent(n);
if (formula != table) {
return 1;
}
}
return 0;
}
```
Tested by atod_manual_test over the parse-number-fxx-test-data test
cases, with and without manually disabling the EiselLemire code path,
noting that changing the magic 217706 value causes test failures.
PiperOrigin-RevId: 478646550
Change-Id: Icaaf106f9aa36e2de057f3bc9aeddc3ae0efade6
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 478611460
Change-Id: I327dbd1c16a22649e3a25b9ebbc94b48a2fda26f
|
|/ |
|
|
|
|
|
| |
PiperOrigin-RevId: 478050535
Change-Id: I8e4a4b01aceb8d712476101633eac0ce8647823a
|
|
|
|
|
|
|
|
|
| |
The current implementation correctly copies up to 15 bytes of data, but the nullify code clears up to 16 bytes, which was likely motivated by the assumption that the length indicator is always the last byte.
This changes limits the nullify to 15 bytes as well removing this layout specific assumption from cord.h, making future platform specific internal layout changes easier to land.
PiperOrigin-RevId: 477997741
Change-Id: Idcdfeca2a005139f97eafcc77111542d90b817af
|
|
|
|
|
|
|
| |
This removes layout specific details from InlineData from cord.cc, making future platform specific internal layout changes easier to land.
PiperOrigin-RevId: 477870559
Change-Id: I26e428ef280d593ad321cf7875e05adcb1cb6438
|