Ack.

On 10/17/2010 04:13 PM, Arnon Gilboa wrote:
Used by controller. One instance at a time, not thread-safe.
Add basename() for win32.
---
  client/cmd_line_parser.cpp |   23 ++++++++++++++++++++++-
  1 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/client/cmd_line_parser.cpp b/client/cmd_line_parser.cpp
index 3f45551..a9c1857 100644
--- a/client/cmd_line_parser.cpp
+++ b/client/cmd_line_parser.cpp
@@ -53,6 +53,11 @@ CmdLineParser::CmdLineParser(std::string description, bool 
allow_positional_args
      , _positional_args (allow_positional_args)
      , _done (false)
  {
+    //Enables multiple instantiations. One at a time, not thread-safe.
+    optind = 1;
+    opterr = 1;
+    optopt = 0;
+    optarg = 0;
  }

  CmdLineParser::~CmdLineParser()
@@ -428,13 +433,29 @@ char* CmdLineParser::next_argument()
      return _argv[optind++];
  }

+#ifdef WIN32
+char* basename(char *str)
+{
+    char *base;
+    if ((base = strrchr(str, '\\'))) {
+        return base;
+    }
+
+    if ((base = strrchr(str, ':'))) {
+        return base;
+    }
+    return str;
+}
+
+#endif
+
  void CmdLineParser::show_help()
  {
      static const int HELP_START_POS = 30;
      static const int HELP_WIDTH = 80 - HELP_START_POS;
      std::ostringstream os;

-    os<<  _argv[0]<<  " - "<<  _description.c_str()<<  "\n\noptions:\n\n";
+    os<<  basename(_argv[0])<<  " - "<<  _description.c_str()<<  
"\n\noptions:\n\n";

      Options::iterator iter = _options.begin();
      for (; iter != _options.end(); ++iter) {
_______________________________________________
Spice-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to