<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crashpad: crashpad::ToolSupport Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="crashpad_doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Crashpad
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacecrashpad.html">crashpad</a></li><li class="navelem"><a class="el" href="classcrashpad_1_1ToolSupport.html">ToolSupport</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classcrashpad_1_1ToolSupport-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::ToolSupport Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Common functions used by command line tools.  
 <a href="classcrashpad_1_1ToolSupport.html#details">More...</a></p>

<p><code>#include &quot;tools/tool_support.h&quot;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:acac2c96bbf2e77e8988f87af96f01315"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ToolSupport.html#acac2c96bbf2e77e8988f87af96f01315">Version</a> (const base::FilePath &amp;me)</td></tr>
<tr class="memdesc:acac2c96bbf2e77e8988f87af96f01315"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles <code>--version</code>.  <a href="classcrashpad_1_1ToolSupport.html#acac2c96bbf2e77e8988f87af96f01315">More...</a><br /></td></tr>
<tr class="separator:acac2c96bbf2e77e8988f87af96f01315"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b514d27d91130ac0375dd6770abf153"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ToolSupport.html#a5b514d27d91130ac0375dd6770abf153">UsageTail</a> (const base::FilePath &amp;me)</td></tr>
<tr class="memdesc:a5b514d27d91130ac0375dd6770abf153"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints the footer for <code>--help</code>.  <a href="classcrashpad_1_1ToolSupport.html#a5b514d27d91130ac0375dd6770abf153">More...</a><br /></td></tr>
<tr class="separator:a5b514d27d91130ac0375dd6770abf153"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a735069e9dbf35899fdcdec1e379e4ab9"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ToolSupport.html#a735069e9dbf35899fdcdec1e379e4ab9">UsageHint</a> (const base::FilePath &amp;me, const char *hint)</td></tr>
<tr class="memdesc:a735069e9dbf35899fdcdec1e379e4ab9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suggests using <code>--help</code> when a command line tool can’t make sense of its arguments.  <a href="classcrashpad_1_1ToolSupport.html#a735069e9dbf35899fdcdec1e379e4ab9">More...</a><br /></td></tr>
<tr class="separator:a735069e9dbf35899fdcdec1e379e4ab9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a701225eea7643d837300d813c45bc6cd"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ToolSupport.html#a701225eea7643d837300d813c45bc6cd">Version</a> (const std::string &amp;me)</td></tr>
<tr class="memdesc:a701225eea7643d837300d813c45bc6cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles <code>--version</code>.  <a href="classcrashpad_1_1ToolSupport.html#a701225eea7643d837300d813c45bc6cd">More...</a><br /></td></tr>
<tr class="separator:a701225eea7643d837300d813c45bc6cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0168712a4211f3382050f46ddb33692"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ToolSupport.html#aa0168712a4211f3382050f46ddb33692">UsageTail</a> (const std::string &amp;me)</td></tr>
<tr class="memdesc:aa0168712a4211f3382050f46ddb33692"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints the footer for <code>--help</code>.  <a href="classcrashpad_1_1ToolSupport.html#aa0168712a4211f3382050f46ddb33692">More...</a><br /></td></tr>
<tr class="separator:aa0168712a4211f3382050f46ddb33692"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabaa778c50e55289b9cebb50ce31d2e7"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ToolSupport.html#aabaa778c50e55289b9cebb50ce31d2e7">UsageHint</a> (const std::string &amp;me, const char *hint)</td></tr>
<tr class="memdesc:aabaa778c50e55289b9cebb50ce31d2e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suggests using <code>--help</code> when a command line tool can’t make sense of its arguments.  <a href="classcrashpad_1_1ToolSupport.html#aabaa778c50e55289b9cebb50ce31d2e7">More...</a><br /></td></tr>
<tr class="separator:aabaa778c50e55289b9cebb50ce31d2e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaad18d0b502511e21f6c3ed5da86ccf4"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ToolSupport.html#aaad18d0b502511e21f6c3ed5da86ccf4">Wmain</a> (int argc, wchar_t *argv[], int(*entry)(int, char *[]))</td></tr>
<tr class="memdesc:aaad18d0b502511e21f6c3ed5da86ccf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts <em>argv</em> <code>wchar_t</code> UTF-16 to UTF-8, and passes onwards to a UTF-8 entry point.  <a href="classcrashpad_1_1ToolSupport.html#aaad18d0b502511e21f6c3ed5da86ccf4">More...</a><br /></td></tr>
<tr class="separator:aaad18d0b502511e21f6c3ed5da86ccf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42a5b8864ff6302d3e00c2f4bedf1da0"><td class="memItemLeft" align="right" valign="top">static base::FilePath::StringType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ToolSupport.html#a42a5b8864ff6302d3e00c2f4bedf1da0">CommandLineArgumentToFilePathStringType</a> (const base::StringPiece &amp;arg)</td></tr>
<tr class="memdesc:a42a5b8864ff6302d3e00c2f4bedf1da0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a command line argument to the string type suitable for base::FilePath.  <a href="classcrashpad_1_1ToolSupport.html#a42a5b8864ff6302d3e00c2f4bedf1da0">More...</a><br /></td></tr>
<tr class="separator:a42a5b8864ff6302d3e00c2f4bedf1da0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7fe01187c086fb6422d42e61485c855"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ToolSupport.html#aa7fe01187c086fb6422d42e61485c855">FilePathToCommandLineArgument</a> (const base::FilePath &amp;file_path)</td></tr>
<tr class="memdesc:aa7fe01187c086fb6422d42e61485c855"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a base::FilePath to a command line argument.  <a href="classcrashpad_1_1ToolSupport.html#aa7fe01187c086fb6422d42e61485c855">More...</a><br /></td></tr>
<tr class="separator:aa7fe01187c086fb6422d42e61485c855"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Common functions used by command line tools. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a42a5b8864ff6302d3e00c2f4bedf1da0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42a5b8864ff6302d3e00c2f4bedf1da0">&#9670;&nbsp;</a></span>CommandLineArgumentToFilePathStringType()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">base::FilePath::StringType crashpad::ToolSupport::CommandLineArgumentToFilePathStringType </td>
          <td>(</td>
          <td class="paramtype">const base::StringPiece &amp;&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Converts a command line argument to the string type suitable for base::FilePath. </p>
<p>On POSIX, this is a no-op. On Windows, assumes that <a class="el" href="classcrashpad_1_1ToolSupport.html#aaad18d0b502511e21f6c3ed5da86ccf4" title="Converts argv wchar_t UTF-16 to UTF-8, and passes onwards to a UTF-8 entry point.">Wmain()</a> was used, and the input argument was converted from UTF-16 in a <code>wchar_t*</code> to UTF-8 in a <code>char*</code>. This undoes that transformation.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classcrashpad_1_1ToolSupport.html#aaad18d0b502511e21f6c3ed5da86ccf4" title="Converts argv wchar_t UTF-16 to UTF-8, and passes onwards to a UTF-8 entry point.">Wmain()</a> </dd>
<dd>
<a class="el" href="classcrashpad_1_1ToolSupport.html#aa7fe01187c086fb6422d42e61485c855" title="Converts a base::FilePath to a command line argument.">FilePathToCommandLineArgument()</a> </dd></dl>

</div>
</div>
<a id="aa7fe01187c086fb6422d42e61485c855"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7fe01187c086fb6422d42e61485c855">&#9670;&nbsp;</a></span>FilePathToCommandLineArgument()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string crashpad::ToolSupport::FilePathToCommandLineArgument </td>
          <td>(</td>
          <td class="paramtype">const base::FilePath &amp;&#160;</td>
          <td class="paramname"><em>file_path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Converts a base::FilePath to a command line argument. </p>
<p>On POSIX, this is a no-op. On Windows, this undoes the transformation done by <a class="el" href="classcrashpad_1_1ToolSupport.html#a42a5b8864ff6302d3e00c2f4bedf1da0" title="Converts a command line argument to the string type suitable for base::FilePath.">CommandLineArgumentToFilePathStringType()</a> in the same manner as <a class="el" href="classcrashpad_1_1ToolSupport.html#aaad18d0b502511e21f6c3ed5da86ccf4" title="Converts argv wchar_t UTF-16 to UTF-8, and passes onwards to a UTF-8 entry point.">Wmain()</a>. </p>

</div>
</div>
<a id="a735069e9dbf35899fdcdec1e379e4ab9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a735069e9dbf35899fdcdec1e379e4ab9">&#9670;&nbsp;</a></span>UsageHint() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void crashpad::ToolSupport::UsageHint </td>
          <td>(</td>
          <td class="paramtype">const base::FilePath &amp;&#160;</td>
          <td class="paramname"><em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>hint</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Suggests using <code>--help</code> when a command line tool can’t make sense of its arguments. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">me</td><td>The tool’s name, the basename of <code>argv[0]</code>. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">hint</td><td>A hint to display before the suggestion to try <code>--help</code>. Optional, may be <code>nullptr</code>, in which case no hint will be presented. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aabaa778c50e55289b9cebb50ce31d2e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabaa778c50e55289b9cebb50ce31d2e7">&#9670;&nbsp;</a></span>UsageHint() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void crashpad::ToolSupport::UsageHint </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>me</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>hint</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Suggests using <code>--help</code> when a command line tool can’t make sense of its arguments. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">me</td><td>The tool’s name, the basename of <code>argv[0]</code>. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">hint</td><td>A hint to display before the suggestion to try <code>--help</code>. Optional, may be <code>nullptr</code>, in which case no hint will be presented. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a5b514d27d91130ac0375dd6770abf153"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b514d27d91130ac0375dd6770abf153">&#9670;&nbsp;</a></span>UsageTail() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void crashpad::ToolSupport::UsageTail </td>
          <td>(</td>
          <td class="paramtype">const base::FilePath &amp;&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prints the footer for <code>--help</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">me</td><td>The tool’s name, the basename of <code>argv[0]</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aa0168712a4211f3382050f46ddb33692"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0168712a4211f3382050f46ddb33692">&#9670;&nbsp;</a></span>UsageTail() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void crashpad::ToolSupport::UsageTail </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prints the footer for <code>--help</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">me</td><td>The tool’s name, the basename of <code>argv[0]</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="acac2c96bbf2e77e8988f87af96f01315"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acac2c96bbf2e77e8988f87af96f01315">&#9670;&nbsp;</a></span>Version() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void crashpad::ToolSupport::Version </td>
          <td>(</td>
          <td class="paramtype">const base::FilePath &amp;&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Handles <code>--version</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">me</td><td>The tool’s name, the basename of <code>argv[0]</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a701225eea7643d837300d813c45bc6cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a701225eea7643d837300d813c45bc6cd">&#9670;&nbsp;</a></span>Version() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void crashpad::ToolSupport::Version </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>me</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Handles <code>--version</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">me</td><td>The tool’s name, the basename of <code>argv[0]</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aaad18d0b502511e21f6c3ed5da86ccf4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaad18d0b502511e21f6c3ed5da86ccf4">&#9670;&nbsp;</a></span>Wmain()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int crashpad::ToolSupport::Wmain </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">wchar_t *&#160;</td>
          <td class="paramname"><em>argv</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(int, char *[])&#160;</td>
          <td class="paramname"><em>entry</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Converts <em>argv</em> <code>wchar_t</code> UTF-16 to UTF-8, and passes onwards to a UTF-8 entry point. </p>
<dl class="section return"><dt>Returns</dt><dd>The return value of <em>entry</em>. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>tools/tool_support.h</li>
<li>tools/tool_support.cc</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.18
</small></address>
</body>
</html>
