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.
Files changed (242) hide show
  1. package/SVF-doxygen/html/html/ExtAPI_8cpp.html +120 -0
  2. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +196 -114
  3. package/SVF-doxygen/html/html/ExtAPI_8h.html +27 -1
  4. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +66 -60
  5. package/SVF-doxygen/html/html/Options_8cpp.html +1 -0
  6. package/SVF-doxygen/html/html/Options_8cpp_source.html +860 -858
  7. package/SVF-doxygen/html/html/SVFIRExtAPI_8cpp_source.html +139 -123
  8. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +9 -9
  10. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +10 -9
  11. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +128 -88
  12. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +139 -123
  13. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
  14. package/SVF-doxygen/html/html/functions_func_g.html +16 -13
  15. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  16. package/SVF-doxygen/html/html/functions_func_s.html +2 -2
  17. package/SVF-doxygen/html/html/functions_g.html +19 -16
  18. package/SVF-doxygen/html/html/functions_o.html +3 -3
  19. package/SVF-doxygen/html/html/functions_p.html +9 -9
  20. package/SVF-doxygen/html/html/functions_r.html +8 -8
  21. package/SVF-doxygen/html/html/functions_s.html +10 -8
  22. package/SVF-doxygen/html/html/functions_t.html +5 -5
  23. package/SVF-doxygen/html/html/functions_v.html +6 -6
  24. package/SVF-doxygen/html/html/functions_w.html +1 -1
  25. package/SVF-doxygen/html/html/globals_defs.html +3 -0
  26. package/SVF-doxygen/html/html/globals_e.html +3 -0
  27. package/SVF-doxygen/html/html/globals_func.html +6 -0
  28. package/SVF-doxygen/html/html/globals_g.html +6 -0
  29. package/SVF-doxygen/html/html/namespaceSVF.html +0 -1
  30. package/SVF-doxygen/html/html/search/all_10.js +323 -323
  31. package/SVF-doxygen/html/html/search/all_11.js +212 -212
  32. package/SVF-doxygen/html/html/search/all_12.js +536 -536
  33. package/SVF-doxygen/html/html/search/all_13.js +188 -188
  34. package/SVF-doxygen/html/html/search/all_14.js +66 -66
  35. package/SVF-doxygen/html/html/search/all_15.js +170 -170
  36. package/SVF-doxygen/html/html/search/all_16.js +60 -60
  37. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  38. package/SVF-doxygen/html/html/search/all_18.js +1 -1
  39. package/SVF-doxygen/html/html/search/all_19.js +10 -10
  40. package/SVF-doxygen/html/html/search/all_1a.js +169 -169
  41. package/SVF-doxygen/html/html/search/all_5.js +17 -16
  42. package/SVF-doxygen/html/html/search/all_6.js +224 -224
  43. package/SVF-doxygen/html/html/search/all_7.js +999 -996
  44. package/SVF-doxygen/html/html/search/all_8.js +191 -191
  45. package/SVF-doxygen/html/html/search/all_9.js +605 -605
  46. package/SVF-doxygen/html/html/search/all_a.js +46 -46
  47. package/SVF-doxygen/html/html/search/all_b.js +26 -26
  48. package/SVF-doxygen/html/html/search/all_c.js +114 -114
  49. package/SVF-doxygen/html/html/search/all_d.js +196 -196
  50. package/SVF-doxygen/html/html/search/all_e.js +205 -205
  51. package/SVF-doxygen/html/html/search/all_f.js +116 -116
  52. package/SVF-doxygen/html/html/search/classes_0.js +26 -26
  53. package/SVF-doxygen/html/html/search/classes_1.js +9 -9
  54. package/SVF-doxygen/html/html/search/classes_10.js +73 -73
  55. package/SVF-doxygen/html/html/search/classes_11.js +15 -15
  56. package/SVF-doxygen/html/html/search/classes_12.js +2 -2
  57. package/SVF-doxygen/html/html/search/classes_13.js +10 -10
  58. package/SVF-doxygen/html/html/search/classes_14.js +14 -14
  59. package/SVF-doxygen/html/html/search/classes_15.js +1 -1
  60. package/SVF-doxygen/html/html/search/classes_2.js +76 -76
  61. package/SVF-doxygen/html/html/search/classes_3.js +35 -35
  62. package/SVF-doxygen/html/html/search/classes_4.js +8 -8
  63. package/SVF-doxygen/html/html/search/classes_5.js +28 -28
  64. package/SVF-doxygen/html/html/search/classes_6.js +98 -98
  65. package/SVF-doxygen/html/html/search/classes_7.js +33 -33
  66. package/SVF-doxygen/html/html/search/classes_8.js +56 -56
  67. package/SVF-doxygen/html/html/search/classes_9.js +1 -1
  68. package/SVF-doxygen/html/html/search/classes_a.js +12 -12
  69. package/SVF-doxygen/html/html/search/classes_b.js +29 -29
  70. package/SVF-doxygen/html/html/search/classes_c.js +6 -6
  71. package/SVF-doxygen/html/html/search/classes_d.js +18 -18
  72. package/SVF-doxygen/html/html/search/classes_e.js +36 -36
  73. package/SVF-doxygen/html/html/search/classes_f.js +25 -25
  74. package/SVF-doxygen/html/html/search/defines_0.js +3 -3
  75. package/SVF-doxygen/html/html/search/defines_1.js +2 -2
  76. package/SVF-doxygen/html/html/search/defines_2.js +30 -30
  77. package/SVF-doxygen/html/html/search/defines_3.js +20 -20
  78. package/SVF-doxygen/html/html/search/defines_4.js +3 -2
  79. package/SVF-doxygen/html/html/search/defines_5.js +4 -4
  80. package/SVF-doxygen/html/html/search/defines_6.js +2 -2
  81. package/SVF-doxygen/html/html/search/defines_7.js +5 -5
  82. package/SVF-doxygen/html/html/search/defines_8.js +11 -11
  83. package/SVF-doxygen/html/html/search/defines_9.js +9 -9
  84. package/SVF-doxygen/html/html/search/defines_a.js +2 -2
  85. package/SVF-doxygen/html/html/search/defines_b.js +1 -1
  86. package/SVF-doxygen/html/html/search/defines_c.js +3 -3
  87. package/SVF-doxygen/html/html/search/defines_d.js +2 -2
  88. package/SVF-doxygen/html/html/search/defines_e.js +6 -6
  89. package/SVF-doxygen/html/html/search/defines_f.js +3 -3
  90. package/SVF-doxygen/html/html/search/enums_0.js +3 -3
  91. package/SVF-doxygen/html/html/search/enums_1.js +2 -2
  92. package/SVF-doxygen/html/html/search/enums_10.js +1 -1
  93. package/SVF-doxygen/html/html/search/enums_11.js +1 -1
  94. package/SVF-doxygen/html/html/search/enums_2.js +8 -8
  95. package/SVF-doxygen/html/html/search/enums_3.js +1 -1
  96. package/SVF-doxygen/html/html/search/enums_4.js +3 -3
  97. package/SVF-doxygen/html/html/search/enums_5.js +1 -1
  98. package/SVF-doxygen/html/html/search/enums_6.js +2 -2
  99. package/SVF-doxygen/html/html/search/enums_7.js +2 -2
  100. package/SVF-doxygen/html/html/search/enums_8.js +4 -4
  101. package/SVF-doxygen/html/html/search/enums_9.js +1 -1
  102. package/SVF-doxygen/html/html/search/enums_a.js +1 -1
  103. package/SVF-doxygen/html/html/search/enums_b.js +7 -7
  104. package/SVF-doxygen/html/html/search/enums_c.js +1 -1
  105. package/SVF-doxygen/html/html/search/enums_d.js +4 -4
  106. package/SVF-doxygen/html/html/search/enums_e.js +2 -2
  107. package/SVF-doxygen/html/html/search/enums_f.js +4 -4
  108. package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
  109. package/SVF-doxygen/html/html/search/enumvalues_1.js +14 -14
  110. package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
  111. package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
  112. package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
  113. package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
  114. package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
  115. package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
  116. package/SVF-doxygen/html/html/search/enumvalues_2.js +36 -36
  117. package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
  118. package/SVF-doxygen/html/html/search/enumvalues_4.js +2 -2
  119. package/SVF-doxygen/html/html/search/enumvalues_5.js +47 -47
  120. package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
  121. package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
  122. package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
  123. package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
  124. package/SVF-doxygen/html/html/search/enumvalues_a.js +15 -15
  125. package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
  126. package/SVF-doxygen/html/html/search/enumvalues_c.js +5 -5
  127. package/SVF-doxygen/html/html/search/enumvalues_d.js +18 -18
  128. package/SVF-doxygen/html/html/search/enumvalues_e.js +9 -9
  129. package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
  130. package/SVF-doxygen/html/html/search/files_0.js +13 -13
  131. package/SVF-doxygen/html/html/search/files_1.js +7 -7
  132. package/SVF-doxygen/html/html/search/files_10.js +8 -8
  133. package/SVF-doxygen/html/html/search/files_11.js +8 -8
  134. package/SVF-doxygen/html/html/search/files_12.js +2 -2
  135. package/SVF-doxygen/html/html/search/files_2.js +49 -49
  136. package/SVF-doxygen/html/html/search/files_3.js +14 -14
  137. package/SVF-doxygen/html/html/search/files_4.js +5 -5
  138. package/SVF-doxygen/html/html/search/files_5.js +13 -13
  139. package/SVF-doxygen/html/html/search/files_6.js +9 -9
  140. package/SVF-doxygen/html/html/search/files_7.js +14 -14
  141. package/SVF-doxygen/html/html/search/files_8.js +13 -13
  142. package/SVF-doxygen/html/html/search/files_9.js +18 -18
  143. package/SVF-doxygen/html/html/search/files_a.js +3 -3
  144. package/SVF-doxygen/html/html/search/files_b.js +2 -2
  145. package/SVF-doxygen/html/html/search/files_c.js +20 -20
  146. package/SVF-doxygen/html/html/search/files_d.js +4 -4
  147. package/SVF-doxygen/html/html/search/files_e.js +62 -62
  148. package/SVF-doxygen/html/html/search/files_f.js +8 -8
  149. package/SVF-doxygen/html/html/search/functions_0.js +6 -6
  150. package/SVF-doxygen/html/html/search/functions_1.js +348 -348
  151. package/SVF-doxygen/html/html/search/functions_10.js +139 -139
  152. package/SVF-doxygen/html/html/search/functions_11.js +126 -126
  153. package/SVF-doxygen/html/html/search/functions_12.js +273 -273
  154. package/SVF-doxygen/html/html/search/functions_13.js +56 -56
  155. package/SVF-doxygen/html/html/search/functions_14.js +38 -38
  156. package/SVF-doxygen/html/html/search/functions_15.js +71 -71
  157. package/SVF-doxygen/html/html/search/functions_16.js +29 -29
  158. package/SVF-doxygen/html/html/search/functions_17.js +2 -2
  159. package/SVF-doxygen/html/html/search/functions_18.js +169 -169
  160. package/SVF-doxygen/html/html/search/functions_2.js +82 -82
  161. package/SVF-doxygen/html/html/search/functions_3.js +251 -251
  162. package/SVF-doxygen/html/html/search/functions_4.js +71 -71
  163. package/SVF-doxygen/html/html/search/functions_5.js +51 -51
  164. package/SVF-doxygen/html/html/search/functions_6.js +58 -58
  165. package/SVF-doxygen/html/html/search/functions_7.js +819 -816
  166. package/SVF-doxygen/html/html/search/functions_8.js +143 -143
  167. package/SVF-doxygen/html/html/search/functions_9.js +425 -425
  168. package/SVF-doxygen/html/html/search/functions_a.js +30 -30
  169. package/SVF-doxygen/html/html/search/functions_b.js +2 -2
  170. package/SVF-doxygen/html/html/search/functions_c.js +24 -24
  171. package/SVF-doxygen/html/html/search/functions_d.js +77 -77
  172. package/SVF-doxygen/html/html/search/functions_e.js +34 -34
  173. package/SVF-doxygen/html/html/search/functions_f.js +56 -56
  174. package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
  175. package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
  176. package/SVF-doxygen/html/html/search/related_0.js +2 -2
  177. package/SVF-doxygen/html/html/search/related_1.js +1 -1
  178. package/SVF-doxygen/html/html/search/related_2.js +2 -2
  179. package/SVF-doxygen/html/html/search/related_3.js +2 -2
  180. package/SVF-doxygen/html/html/search/related_4.js +2 -2
  181. package/SVF-doxygen/html/html/search/related_5.js +1 -1
  182. package/SVF-doxygen/html/html/search/related_6.js +2 -2
  183. package/SVF-doxygen/html/html/search/related_7.js +4 -4
  184. package/SVF-doxygen/html/html/search/related_8.js +2 -2
  185. package/SVF-doxygen/html/html/search/related_9.js +4 -4
  186. package/SVF-doxygen/html/html/search/related_a.js +19 -19
  187. package/SVF-doxygen/html/html/search/related_b.js +4 -4
  188. package/SVF-doxygen/html/html/search/related_c.js +1 -1
  189. package/SVF-doxygen/html/html/search/related_d.js +11 -11
  190. package/SVF-doxygen/html/html/search/related_e.js +2 -2
  191. package/SVF-doxygen/html/html/search/related_f.js +2 -2
  192. package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
  193. package/SVF-doxygen/html/html/search/typedefs_1.js +25 -25
  194. package/SVF-doxygen/html/html/search/typedefs_10.js +60 -60
  195. package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
  196. package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
  197. package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
  198. package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
  199. package/SVF-doxygen/html/html/search/typedefs_2.js +126 -126
  200. package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
  201. package/SVF-doxygen/html/html/search/typedefs_4.js +16 -16
  202. package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
  203. package/SVF-doxygen/html/html/search/typedefs_6.js +52 -52
  204. package/SVF-doxygen/html/html/search/typedefs_7.js +40 -40
  205. package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
  206. package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
  207. package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
  208. package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
  209. package/SVF-doxygen/html/html/search/typedefs_c.js +40 -40
  210. package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
  211. package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
  212. package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
  213. package/SVF-doxygen/html/html/search/variables_0.js +147 -147
  214. package/SVF-doxygen/html/html/search/variables_1.js +75 -75
  215. package/SVF-doxygen/html/html/search/variables_10.js +97 -97
  216. package/SVF-doxygen/html/html/search/variables_11.js +46 -46
  217. package/SVF-doxygen/html/html/search/variables_12.js +92 -92
  218. package/SVF-doxygen/html/html/search/variables_13.js +75 -75
  219. package/SVF-doxygen/html/html/search/variables_14.js +14 -14
  220. package/SVF-doxygen/html/html/search/variables_15.js +48 -48
  221. package/SVF-doxygen/html/html/search/variables_16.js +9 -9
  222. package/SVF-doxygen/html/html/search/variables_17.js +1 -1
  223. package/SVF-doxygen/html/html/search/variables_18.js +2 -2
  224. package/SVF-doxygen/html/html/search/variables_2.js +34 -34
  225. package/SVF-doxygen/html/html/search/variables_3.js +141 -141
  226. package/SVF-doxygen/html/html/search/variables_4.js +55 -55
  227. package/SVF-doxygen/html/html/search/variables_5.js +38 -38
  228. package/SVF-doxygen/html/html/search/variables_6.js +66 -66
  229. package/SVF-doxygen/html/html/search/variables_7.js +33 -33
  230. package/SVF-doxygen/html/html/search/variables_8.js +7 -7
  231. package/SVF-doxygen/html/html/search/variables_9.js +77 -77
  232. package/SVF-doxygen/html/html/search/variables_a.js +4 -4
  233. package/SVF-doxygen/html/html/search/variables_b.js +10 -10
  234. package/SVF-doxygen/html/html/search/variables_c.js +45 -45
  235. package/SVF-doxygen/html/html/search/variables_d.js +56 -56
  236. package/SVF-doxygen/html/html/search/variables_e.js +123 -123
  237. package/SVF-doxygen/html/html/search/variables_f.js +30 -30
  238. package/package.json +1 -1
  239. package/svf/include/Util/ExtAPI.h +5 -0
  240. package/svf/lib/Util/ExtAPI.cpp +73 -0
  241. package/svf/lib/Util/Options.cpp +2 -1
  242. 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 &quot;<a class="el" href="ExtAPI_8h_source.html">Util/ExtAPI.h</a>&quot;</code><br />
75
+ <code>#include &quot;<a class="el" href="SVFUtil_8h_source.html">Util/SVFUtil.h</a>&quot;</code><br />
76
+ <code>#include &lt;sys/stat.h&gt;</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>&#160;</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> &amp;command)</td></tr>
83
+ <tr class="separator:a424940f91f234b23bcc633f12269f935"><td class="memSeparator" colspan="2">&#160;</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>&#160;</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> &amp;path)</td></tr>
85
+ <tr class="separator:a7d2ff3727892c4ee0eff596174eb5b84"><td class="memSeparator" colspan="2">&#160;</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">&#9670;&nbsp;</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> &amp;&#160;</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>&#160;{</div>
114
+ <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <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>&#160; <span class="keywordflow">if</span> (path.compare(<span class="stringliteral">&quot;npm root&quot;</span>) == 0)</div>
116
+ <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; {</div>
117
+ <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordtype">int</span> os_flag = 1;</div>
118
+ <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <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>&#160; <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>&#160;<span class="preprocessor">#ifdef linux</span></div>
121
+ <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">// Linux os</span></div>
122
+ <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; os_flag = 0;</div>
123
+ <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; bcFilePath.append(<span class="stringliteral">&quot;/svf-lib/SVF-linux&quot;</span>);</div>
124
+ <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="preprocessor">#endif</span></div>
125
+ <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="comment">// Mac os</span></div>
126
+ <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">if</span> (os_flag == 1)</div>
127
+ <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div>
128
+ <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; bcFilePath.append(<span class="stringliteral">&quot;/svf-lib/SVF-osx&quot;</span>);</div>
129
+ <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div>
130
+ <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div>
131
+ <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; </div>
132
+ <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">if</span> (bcFilePath.back() != <span class="charliteral">&#39;/&#39;</span>)</div>
133
+ <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; bcFilePath.push_back(<span class="charliteral">&#39;/&#39;</span>);</div>
134
+ <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; 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>&#160; <span class="keywordflow">return</span> bcFilePath;</div>
136
+ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;}</div>
137
+ </div><!-- fragment -->
138
+ </div>
139
+ </div>
140
+ <a id="a424940f91f234b23bcc633f12269f935"></a>
141
+ <h2 class="memtitle"><span class="permalink"><a href="#a424940f91f234b23bcc633f12269f935">&#9670;&nbsp;</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> &amp;&#160;</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>&#160;{</div>
166
+ <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <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>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> result = <span class="stringliteral">&quot;&quot;</span>;</div>
168
+ <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="comment">// Open pipe to file</span></div>
169
+ <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; FILE* pipe = popen(command.c_str(), <span class="stringliteral">&quot;r&quot;</span>);</div>
170
+ <div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">if</span> (!pipe)</div>
171
+ <div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; {</div>
172
+ <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;popen failed!&quot;</span>;</div>
173
+ <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; }</div>
174
+ <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="comment">// read till end of process:</span></div>
175
+ <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">while</span> (!feof(pipe))</div>
176
+ <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; {</div>
177
+ <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <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>&#160; <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>&#160; 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>&#160; }</div>
181
+ <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; pclose(pipe);</div>
182
+ <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="comment">// remove &quot;\n&quot;</span></div>
183
+ <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; result.erase(remove(result.begin(), result.end(), <span class="charliteral">&#39;\n&#39;</span>), result.end());</div>
184
+ <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> result;</div>
185
+ <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;}</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 &amp;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 &#160;<a href="http://www.doxygen.org/index.html">