commit
e61ff47ac3
2 changed files with 13 additions and 1 deletions
|
@ -598,8 +598,13 @@ void FileGenerator::GenerateBuildDescriptors(io::Printer* printer) {
|
|||
// bytes in length". Declare a static array of characters rather than use a
|
||||
// string literal.
|
||||
if (breakdown_large_file && file_data.size() > 65535) {
|
||||
// This has to be explicitly marked as a signed char because the generated
|
||||
// code puts negative values in the array, and sometimes plain char is
|
||||
// unsigned. That implicit narrowing conversion is not allowed in C++11.
|
||||
// <http://stackoverflow.com/questions/4434140/narrowing-conversions-in-c0x-is-it-just-me-or-does-this-sound-like-a-breakin>
|
||||
// has details on why.
|
||||
printer->Print(
|
||||
"static const char descriptor[] = {\n");
|
||||
"static const signed char descriptor[] = {\n");
|
||||
printer->Indent();
|
||||
|
||||
// Only write 25 bytes per line.
|
||||
|
|
|
@ -94,6 +94,13 @@ string TestSourceDir() {
|
|||
namespace {
|
||||
|
||||
string GetTemporaryDirectoryName() {
|
||||
// Tests run under Bazel "should not" use /tmp. Bazel sets this environment
|
||||
// variable for tests to use instead.
|
||||
char *from_environment = getenv("TEST_TMPDIR");
|
||||
if (from_environment != NULL && from_environment[0] != '\0') {
|
||||
return string(from_environment) + "/protobuf_tmpdir";
|
||||
}
|
||||
|
||||
// tmpnam() is generally not considered safe but we're only using it for
|
||||
// testing. We cannot use tmpfile() or mkstemp() since we're creating a
|
||||
// directory.
|
||||
|
|
Loading…
Add table
Reference in a new issue