diff options
| author | android-build-prod (mdb) <android-build-team-robot@google.com> | 2020-07-08 23:32:45 +0000 |
|---|---|---|
| committer | android-build-prod (mdb) <android-build-team-robot@google.com> | 2020-07-08 23:32:45 +0000 |
| commit | 5fab8cf71b02d5c5c620730b245a4a0a753af46c (patch) | |
| tree | db93815340f8e87080791cf7bc93e135234e9387 /src/stringprintf.cc | |
| parent | b9334d42d579ce8f1733ae2980208abbddabdc53 (diff) | |
| parent | 5125da301ca0a1680c26b5d9f574dc174fdfa98c (diff) | |
| download | platform_build_kati-build-tools-release.tar.gz platform_build_kati-build-tools-release.tar.bz2 platform_build_kati-build-tools-release.zip | |
Snap for 6664261 from 5125da301ca0a1680c26b5d9f574dc174fdfa98c to build-tools-releasebuild-tools-release
Change-Id: I1daf7def0d1e1db837365395914e3b9526bf8194
Diffstat (limited to 'src/stringprintf.cc')
| -rw-r--r-- | src/stringprintf.cc | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/stringprintf.cc b/src/stringprintf.cc new file mode 100644 index 0000000..b0d4b4a --- /dev/null +++ b/src/stringprintf.cc @@ -0,0 +1,39 @@ +// Copyright 2015 Google Inc. All rights reserved +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// +build ignore + +#include "stringprintf.h" + +#include <assert.h> +#include <stdarg.h> + +string StringPrintf(const char* format, ...) { + string str; + str.resize(128); + for (int i = 0; i < 2; i++) { + va_list args; + va_start(args, format); + int ret = vsnprintf(&str[0], str.size(), format, args); + va_end(args); + assert(ret >= 0); + if (static_cast<size_t>(ret) < str.size()) { + str.resize(ret); + return str; + } + str.resize(ret + 1); + } + assert(false); + __builtin_unreachable(); +} |
