aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/google/protobuf/compiler/command_line_interface.cc
diff options
context:
space:
mode:
authorGravatar Ben Boeckel <ben.boeckel@kitware.com>2016-04-20 18:22:41 -0400
committerGravatar Ben Boeckel <ben.boeckel@kitware.com>2016-04-20 18:22:41 -0400
commit462e7fab9831c026acbb38778f4506fcfdb2d945 (patch)
treefbdba99b300cf4968536527a00689466ed4aac38 /src/google/protobuf/compiler/command_line_interface.cc
parent3af705452787a06c9c14a0df440750e45b7d81f1 (diff)
protoc: support '=' in --proto_path arguments
Diffstat (limited to 'src/google/protobuf/compiler/command_line_interface.cc')
-rw-r--r--src/google/protobuf/compiler/command_line_interface.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/google/protobuf/compiler/command_line_interface.cc b/src/google/protobuf/compiler/command_line_interface.cc
index 26a4f0b0..37f4e63b 100644
--- a/src/google/protobuf/compiler/command_line_interface.cc
+++ b/src/google/protobuf/compiler/command_line_interface.cc
@@ -1106,8 +1106,13 @@ CommandLineInterface::InterpretArgument(const string& name,
// Make sure disk path exists, warn otherwise.
if (access(disk_path.c_str(), F_OK) < 0) {
- std::cerr << disk_path << ": warning: directory does not exist."
- << std::endl;
+ // Try the original path; it may have just happed to have a '=' in it.
+ if (access(parts[i].c_str(), F_OK) < 0) {
+ cerr << disk_path << ": warning: directory does not exist." << endl;
+ } else {
+ virtual_path = "";
+ disk_path = parts[i];
+ }
}
// Don't use make_pair as the old/default standard library on Solaris