svf-tools 1.0.766 → 1.0.768
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/ExtAPI_8cpp.html +120 -0
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +196 -114
- package/SVF-doxygen/html/html/ExtAPI_8h.html +27 -1
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +66 -60
- package/SVF-doxygen/html/html/Options_8cpp.html +1 -0
- package/SVF-doxygen/html/html/Options_8cpp_source.html +860 -858
- package/SVF-doxygen/html/html/SVFIRExtAPI_8cpp_source.html +139 -123
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +10 -9
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +128 -88
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +139 -123
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
- package/SVF-doxygen/html/html/functions_func_g.html +16 -13
- package/SVF-doxygen/html/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/html/functions_func_s.html +2 -2
- package/SVF-doxygen/html/html/functions_g.html +19 -16
- package/SVF-doxygen/html/html/functions_o.html +3 -3
- package/SVF-doxygen/html/html/functions_p.html +9 -9
- package/SVF-doxygen/html/html/functions_r.html +8 -8
- package/SVF-doxygen/html/html/functions_s.html +10 -8
- package/SVF-doxygen/html/html/functions_t.html +5 -5
- package/SVF-doxygen/html/html/functions_v.html +6 -6
- package/SVF-doxygen/html/html/functions_w.html +1 -1
- package/SVF-doxygen/html/html/globals_defs.html +3 -0
- package/SVF-doxygen/html/html/globals_e.html +3 -0
- package/SVF-doxygen/html/html/globals_func.html +6 -0
- package/SVF-doxygen/html/html/globals_g.html +6 -0
- package/SVF-doxygen/html/html/namespaceSVF.html +0 -1
- package/SVF-doxygen/html/html/search/all_10.js +323 -323
- package/SVF-doxygen/html/html/search/all_11.js +212 -212
- package/SVF-doxygen/html/html/search/all_12.js +536 -536
- package/SVF-doxygen/html/html/search/all_13.js +188 -188
- package/SVF-doxygen/html/html/search/all_14.js +66 -66
- package/SVF-doxygen/html/html/search/all_15.js +170 -170
- package/SVF-doxygen/html/html/search/all_16.js +60 -60
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/html/search/all_19.js +10 -10
- package/SVF-doxygen/html/html/search/all_1a.js +169 -169
- package/SVF-doxygen/html/html/search/all_5.js +17 -16
- package/SVF-doxygen/html/html/search/all_6.js +224 -224
- package/SVF-doxygen/html/html/search/all_7.js +999 -996
- package/SVF-doxygen/html/html/search/all_8.js +191 -191
- package/SVF-doxygen/html/html/search/all_9.js +605 -605
- package/SVF-doxygen/html/html/search/all_a.js +46 -46
- package/SVF-doxygen/html/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/html/search/all_c.js +114 -114
- package/SVF-doxygen/html/html/search/all_d.js +196 -196
- package/SVF-doxygen/html/html/search/all_e.js +205 -205
- package/SVF-doxygen/html/html/search/all_f.js +116 -116
- package/SVF-doxygen/html/html/search/classes_0.js +26 -26
- package/SVF-doxygen/html/html/search/classes_1.js +9 -9
- package/SVF-doxygen/html/html/search/classes_10.js +73 -73
- package/SVF-doxygen/html/html/search/classes_11.js +15 -15
- package/SVF-doxygen/html/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/html/search/classes_14.js +14 -14
- package/SVF-doxygen/html/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/html/search/classes_2.js +76 -76
- package/SVF-doxygen/html/html/search/classes_3.js +35 -35
- package/SVF-doxygen/html/html/search/classes_4.js +8 -8
- package/SVF-doxygen/html/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/html/search/classes_6.js +98 -98
- package/SVF-doxygen/html/html/search/classes_7.js +33 -33
- package/SVF-doxygen/html/html/search/classes_8.js +56 -56
- package/SVF-doxygen/html/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/html/search/classes_d.js +18 -18
- package/SVF-doxygen/html/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/html/search/defines_1.js +2 -2
- package/SVF-doxygen/html/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/html/search/defines_3.js +20 -20
- package/SVF-doxygen/html/html/search/defines_4.js +3 -2
- package/SVF-doxygen/html/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/html/search/defines_8.js +11 -11
- package/SVF-doxygen/html/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/html/search/defines_c.js +3 -3
- package/SVF-doxygen/html/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/html/search/defines_e.js +6 -6
- package/SVF-doxygen/html/html/search/defines_f.js +3 -3
- package/SVF-doxygen/html/html/search/enums_0.js +3 -3
- package/SVF-doxygen/html/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/html/search/enums_2.js +8 -8
- package/SVF-doxygen/html/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/html/search/enums_4.js +3 -3
- package/SVF-doxygen/html/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/html/search/enums_a.js +1 -1
- package/SVF-doxygen/html/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
- package/SVF-doxygen/html/html/search/enumvalues_1.js +14 -14
- package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
- package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
- package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
- package/SVF-doxygen/html/html/search/enumvalues_2.js +36 -36
- package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/html/search/enumvalues_4.js +2 -2
- package/SVF-doxygen/html/html/search/enumvalues_5.js +47 -47
- package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
- package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
- package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/html/search/enumvalues_a.js +15 -15
- package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/html/search/enumvalues_c.js +5 -5
- package/SVF-doxygen/html/html/search/enumvalues_d.js +18 -18
- package/SVF-doxygen/html/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
- package/SVF-doxygen/html/html/search/files_0.js +13 -13
- package/SVF-doxygen/html/html/search/files_1.js +7 -7
- package/SVF-doxygen/html/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/html/search/files_2.js +49 -49
- package/SVF-doxygen/html/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/html/search/files_4.js +5 -5
- package/SVF-doxygen/html/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/html/search/files_6.js +9 -9
- package/SVF-doxygen/html/html/search/files_7.js +14 -14
- package/SVF-doxygen/html/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/html/search/files_b.js +2 -2
- package/SVF-doxygen/html/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/html/search/functions_0.js +6 -6
- package/SVF-doxygen/html/html/search/functions_1.js +348 -348
- package/SVF-doxygen/html/html/search/functions_10.js +139 -139
- package/SVF-doxygen/html/html/search/functions_11.js +126 -126
- package/SVF-doxygen/html/html/search/functions_12.js +273 -273
- package/SVF-doxygen/html/html/search/functions_13.js +56 -56
- package/SVF-doxygen/html/html/search/functions_14.js +38 -38
- package/SVF-doxygen/html/html/search/functions_15.js +71 -71
- package/SVF-doxygen/html/html/search/functions_16.js +29 -29
- package/SVF-doxygen/html/html/search/functions_17.js +2 -2
- package/SVF-doxygen/html/html/search/functions_18.js +169 -169
- package/SVF-doxygen/html/html/search/functions_2.js +82 -82
- package/SVF-doxygen/html/html/search/functions_3.js +251 -251
- package/SVF-doxygen/html/html/search/functions_4.js +71 -71
- package/SVF-doxygen/html/html/search/functions_5.js +51 -51
- package/SVF-doxygen/html/html/search/functions_6.js +58 -58
- package/SVF-doxygen/html/html/search/functions_7.js +819 -816
- package/SVF-doxygen/html/html/search/functions_8.js +143 -143
- package/SVF-doxygen/html/html/search/functions_9.js +425 -425
- package/SVF-doxygen/html/html/search/functions_a.js +30 -30
- package/SVF-doxygen/html/html/search/functions_b.js +2 -2
- package/SVF-doxygen/html/html/search/functions_c.js +24 -24
- package/SVF-doxygen/html/html/search/functions_d.js +77 -77
- package/SVF-doxygen/html/html/search/functions_e.js +34 -34
- package/SVF-doxygen/html/html/search/functions_f.js +56 -56
- package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/html/search/related_0.js +2 -2
- package/SVF-doxygen/html/html/search/related_1.js +1 -1
- package/SVF-doxygen/html/html/search/related_2.js +2 -2
- package/SVF-doxygen/html/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/html/search/related_7.js +4 -4
- package/SVF-doxygen/html/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/html/search/related_c.js +1 -1
- package/SVF-doxygen/html/html/search/related_d.js +11 -11
- package/SVF-doxygen/html/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
- package/SVF-doxygen/html/html/search/typedefs_1.js +25 -25
- package/SVF-doxygen/html/html/search/typedefs_10.js +60 -60
- package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
- package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
- package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
- package/SVF-doxygen/html/html/search/typedefs_2.js +126 -126
- package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/html/search/typedefs_4.js +16 -16
- package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
- package/SVF-doxygen/html/html/search/typedefs_6.js +52 -52
- package/SVF-doxygen/html/html/search/typedefs_7.js +40 -40
- package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/html/search/typedefs_c.js +40 -40
- package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
- package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/html/search/variables_0.js +147 -147
- package/SVF-doxygen/html/html/search/variables_1.js +75 -75
- package/SVF-doxygen/html/html/search/variables_10.js +97 -97
- package/SVF-doxygen/html/html/search/variables_11.js +46 -46
- package/SVF-doxygen/html/html/search/variables_12.js +92 -92
- package/SVF-doxygen/html/html/search/variables_13.js +75 -75
- package/SVF-doxygen/html/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/html/search/variables_15.js +48 -48
- package/SVF-doxygen/html/html/search/variables_16.js +9 -9
- package/SVF-doxygen/html/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/html/search/variables_18.js +2 -2
- package/SVF-doxygen/html/html/search/variables_2.js +34 -34
- package/SVF-doxygen/html/html/search/variables_3.js +141 -141
- package/SVF-doxygen/html/html/search/variables_4.js +55 -55
- package/SVF-doxygen/html/html/search/variables_5.js +38 -38
- package/SVF-doxygen/html/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/html/search/variables_7.js +33 -33
- package/SVF-doxygen/html/html/search/variables_8.js +7 -7
- package/SVF-doxygen/html/html/search/variables_9.js +77 -77
- package/SVF-doxygen/html/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/html/search/variables_d.js +56 -56
- package/SVF-doxygen/html/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/html/search/variables_f.js +30 -30
- package/package.json +1 -1
- package/svf/include/Util/ExtAPI.h +5 -0
- package/svf/lib/Util/ExtAPI.cpp +73 -0
- package/svf/lib/Util/Options.cpp +2 -1
- package/svf-llvm/lib/SVFIRExtAPI.cpp +17 -1
|
@@ -65,14 +65,134 @@ $(function() {
|
|
|
65
65
|
</div>
|
|
66
66
|
</div><!-- top -->
|
|
67
67
|
<div class="header">
|
|
68
|
+
<div class="summary">
|
|
69
|
+
<a href="#func-members">Functions</a> </div>
|
|
68
70
|
<div class="headertitle">
|
|
69
71
|
<div class="title">ExtAPI.cpp File Reference</div> </div>
|
|
70
72
|
</div><!--header-->
|
|
71
73
|
<div class="contents">
|
|
72
74
|
<div class="textblock"><code>#include "<a class="el" href="ExtAPI_8h_source.html">Util/ExtAPI.h</a>"</code><br />
|
|
75
|
+
<code>#include "<a class="el" href="SVFUtil_8h_source.html">Util/SVFUtil.h</a>"</code><br />
|
|
76
|
+
<code>#include <sys/stat.h></code><br />
|
|
73
77
|
</div>
|
|
74
78
|
<p><a href="ExtAPI_8cpp_source.html">Go to the source code of this file.</a></p>
|
|
79
|
+
<table class="memberdecls">
|
|
80
|
+
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
|
81
|
+
Functions</h2></td></tr>
|
|
82
|
+
<tr class="memitem:a424940f91f234b23bcc633f12269f935"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="ExtAPI_8cpp.html#a424940f91f234b23bcc633f12269f935">GetStdoutFromCommand</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &command)</td></tr>
|
|
83
|
+
<tr class="separator:a424940f91f234b23bcc633f12269f935"><td class="memSeparator" colspan="2"> </td></tr>
|
|
84
|
+
<tr class="memitem:a7d2ff3727892c4ee0eff596174eb5b84"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="ExtAPI_8cpp.html#a7d2ff3727892c4ee0eff596174eb5b84">getFilePath</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &path)</td></tr>
|
|
85
|
+
<tr class="separator:a7d2ff3727892c4ee0eff596174eb5b84"><td class="memSeparator" colspan="2"> </td></tr>
|
|
86
|
+
</table>
|
|
87
|
+
<h2 class="groupheader">Function Documentation</h2>
|
|
88
|
+
<a id="a7d2ff3727892c4ee0eff596174eb5b84"></a>
|
|
89
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a7d2ff3727892c4ee0eff596174eb5b84">◆ </a></span>getFilePath()</h2>
|
|
90
|
+
|
|
91
|
+
<div class="memitem">
|
|
92
|
+
<div class="memproto">
|
|
93
|
+
<table class="mlabels">
|
|
94
|
+
<tr>
|
|
95
|
+
<td class="mlabels-left">
|
|
96
|
+
<table class="memname">
|
|
97
|
+
<tr>
|
|
98
|
+
<td class="memname">static <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> getFilePath </td>
|
|
99
|
+
<td>(</td>
|
|
100
|
+
<td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> & </td>
|
|
101
|
+
<td class="paramname"><em>path</em></td><td>)</td>
|
|
102
|
+
<td></td>
|
|
103
|
+
</tr>
|
|
104
|
+
</table>
|
|
105
|
+
</td>
|
|
106
|
+
<td class="mlabels-right">
|
|
107
|
+
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
108
|
+
</tr>
|
|
109
|
+
</table>
|
|
110
|
+
</div><div class="memdoc">
|
|
111
|
+
|
|
112
|
+
<p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#l00081">81</a> of file <a class="el" href="ExtAPI_8cpp_source.html">ExtAPI.cpp</a>.</p>
|
|
113
|
+
<div class="fragment"><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> {</div>
|
|
114
|
+
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> bcFilePath = <a class="code" href="ExtAPI_8cpp.html#a424940f91f234b23bcc633f12269f935">GetStdoutFromCommand</a>(path);</div>
|
|
115
|
+
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">if</span> (path.compare(<span class="stringliteral">"npm root"</span>) == 0)</div>
|
|
116
|
+
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  {</div>
|
|
117
|
+
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordtype">int</span> os_flag = 1;</div>
|
|
118
|
+
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="comment">// SVF installed via npm needs to determine the type of operating</span></div>
|
|
119
|
+
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="comment">// system, otherwise the extapi.bc path may not be found.</span></div>
|
|
120
|
+
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor">#ifdef linux</span></div>
|
|
121
|
+
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="comment">// Linux os</span></div>
|
|
122
|
+
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  os_flag = 0;</div>
|
|
123
|
+
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  bcFilePath.append(<span class="stringliteral">"/svf-lib/SVF-linux"</span>);</div>
|
|
124
|
+
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor">#endif</span></div>
|
|
125
|
+
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="comment">// Mac os</span></div>
|
|
126
|
+
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">if</span> (os_flag == 1)</div>
|
|
127
|
+
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  {</div>
|
|
128
|
+
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  bcFilePath.append(<span class="stringliteral">"/svf-lib/SVF-osx"</span>);</div>
|
|
129
|
+
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  }</div>
|
|
130
|
+
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  }</div>
|
|
131
|
+
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  </div>
|
|
132
|
+
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">if</span> (bcFilePath.back() != <span class="charliteral">'/'</span>)</div>
|
|
133
|
+
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  bcFilePath.push_back(<span class="charliteral">'/'</span>);</div>
|
|
134
|
+
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  bcFilePath.append(<a class="code" href="ExtAPI_8h.html#a02f944ad8948fa28a15d67ab1252573b">EXTAPI_BC_PATH</a>);</div>
|
|
135
|
+
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">return</span> bcFilePath;</div>
|
|
136
|
+
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> }</div>
|
|
137
|
+
</div><!-- fragment -->
|
|
138
|
+
</div>
|
|
139
|
+
</div>
|
|
140
|
+
<a id="a424940f91f234b23bcc633f12269f935"></a>
|
|
141
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a424940f91f234b23bcc633f12269f935">◆ </a></span>GetStdoutFromCommand()</h2>
|
|
142
|
+
|
|
143
|
+
<div class="memitem">
|
|
144
|
+
<div class="memproto">
|
|
145
|
+
<table class="mlabels">
|
|
146
|
+
<tr>
|
|
147
|
+
<td class="mlabels-left">
|
|
148
|
+
<table class="memname">
|
|
149
|
+
<tr>
|
|
150
|
+
<td class="memname">static <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> GetStdoutFromCommand </td>
|
|
151
|
+
<td>(</td>
|
|
152
|
+
<td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> & </td>
|
|
153
|
+
<td class="paramname"><em>command</em></td><td>)</td>
|
|
154
|
+
<td></td>
|
|
155
|
+
</tr>
|
|
156
|
+
</table>
|
|
157
|
+
</td>
|
|
158
|
+
<td class="mlabels-right">
|
|
159
|
+
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
160
|
+
</tr>
|
|
161
|
+
</table>
|
|
162
|
+
</div><div class="memdoc">
|
|
163
|
+
|
|
164
|
+
<p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#l00057">57</a> of file <a class="el" href="ExtAPI_8cpp_source.html">ExtAPI.cpp</a>.</p>
|
|
165
|
+
<div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> {</div>
|
|
166
|
+
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordtype">char</span> <a class="code" href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a>[128];</div>
|
|
167
|
+
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> result = <span class="stringliteral">""</span>;</div>
|
|
168
|
+
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="comment">// Open pipe to file</span></div>
|
|
169
|
+
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  FILE* pipe = popen(command.c_str(), <span class="stringliteral">"r"</span>);</div>
|
|
170
|
+
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">if</span> (!pipe)</div>
|
|
171
|
+
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  {</div>
|
|
172
|
+
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">return</span> <span class="stringliteral">"popen failed!"</span>;</div>
|
|
173
|
+
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  }</div>
|
|
174
|
+
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="comment">// read till end of process:</span></div>
|
|
175
|
+
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">while</span> (!feof(pipe))</div>
|
|
176
|
+
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  {</div>
|
|
177
|
+
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="comment">// use buffer to read and add to result</span></div>
|
|
178
|
+
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">if</span> (<a class="code" href="extapi_8c.html#a55c10fd7c7152a709388daa21827771c">fgets</a>(<a class="code" href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a>, 128, pipe) != <a class="code" href="cJSON_8cpp.html#a1a05ede2ad100bf5de5dfa7ccdfa4397">NULL</a>)</div>
|
|
179
|
+
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  result += <a class="code" href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a>;</div>
|
|
180
|
+
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  }</div>
|
|
181
|
+
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  pclose(pipe);</div>
|
|
182
|
+
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="comment">// remove "\n"</span></div>
|
|
183
|
+
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  result.erase(remove(result.begin(), result.end(), <span class="charliteral">'\n'</span>), result.end());</div>
|
|
184
|
+
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">return</span> result;</div>
|
|
185
|
+
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> }</div>
|
|
186
|
+
</div><!-- fragment -->
|
|
187
|
+
</div>
|
|
188
|
+
</div>
|
|
75
189
|
</div><!-- contents -->
|
|
190
|
+
<div class="ttc" id="aextapi_8c_html_a55c10fd7c7152a709388daa21827771c"><div class="ttname"><a href="extapi_8c.html#a55c10fd7c7152a709388daa21827771c">fgets</a></div><div class="ttdeci">char * fgets(char *str, int n, void *stream)</div><div class="ttdef"><b>Definition:</b> <a href="extapi_8c_source.html#l00968">extapi.c:968</a></div></div>
|
|
191
|
+
<div class="ttc" id="aExtAPI_8cpp_html_a424940f91f234b23bcc633f12269f935"><div class="ttname"><a href="ExtAPI_8cpp.html#a424940f91f234b23bcc633f12269f935">GetStdoutFromCommand</a></div><div class="ttdeci">static std::string GetStdoutFromCommand(const std::string &command)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00057">ExtAPI.cpp:57</a></div></div>
|
|
192
|
+
<div class="ttc" id="aExtAPI_8h_html_a02f944ad8948fa28a15d67ab1252573b"><div class="ttname"><a href="ExtAPI_8h.html#a02f944ad8948fa28a15d67ab1252573b">EXTAPI_BC_PATH</a></div><div class="ttdeci">#define EXTAPI_BC_PATH</div><div class="ttdoc">For a more detailed explanation of how External APIs are handled in SVF, please refer to the SVF Wiki...</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00041">ExtAPI.h:41</a></div></div>
|
|
193
|
+
<div class="ttc" id="acJSON_8h_html_a503753140aa27b00f99a3501280b2746"><div class="ttname"><a href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a></div><div class="ttdeci">char * buffer</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00163">cJSON.h:163</a></div></div>
|
|
194
|
+
<div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
195
|
+
<div class="ttc" id="acJSON_8cpp_html_a1a05ede2ad100bf5de5dfa7ccdfa4397"><div class="ttname"><a href="cJSON_8cpp.html#a1a05ede2ad100bf5de5dfa7ccdfa4397">NULL</a></div><div class="ttdeci">return NULL</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l01173">cJSON.cpp:1173</a></div></div>
|
|
76
196
|
<!-- start footer part -->
|
|
77
197
|
<hr class="footer"/><address class="footer"><small>
|
|
78
198
|
Generated by  <a href="http://www.doxygen.org/index.html">
|