svf-tools 1.0.779 → 1.0.781

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 (253) hide show
  1. package/SVF-doxygen/html/html/ExtAPI_8cpp.html +51 -49
  2. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +216 -184
  3. package/SVF-doxygen/html/html/ExtAPI_8h.html +6 -6
  4. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +55 -47
  5. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +6 -5
  6. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +3 -2
  7. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +3 -2
  8. package/SVF-doxygen/html/html/Options_8cpp_source.html +122 -122
  9. package/SVF-doxygen/html/html/Options_8h_source.html +2 -2
  10. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
  11. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +16 -16
  12. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +15 -13
  13. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +185 -106
  14. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +7 -6
  15. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +1 -1
  16. package/SVF-doxygen/html/html/classSVF_1_1Options.html +5 -5
  17. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
  18. package/SVF-doxygen/html/html/functions_e.html +5 -2
  19. package/SVF-doxygen/html/html/functions_f.html +3 -3
  20. package/SVF-doxygen/html/html/functions_func_g.html +1 -1
  21. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  22. package/SVF-doxygen/html/html/functions_func_s.html +19 -16
  23. package/SVF-doxygen/html/html/functions_g.html +1 -1
  24. package/SVF-doxygen/html/html/functions_i.html +3 -3
  25. package/SVF-doxygen/html/html/functions_n.html +3 -3
  26. package/SVF-doxygen/html/html/functions_o.html +16 -16
  27. package/SVF-doxygen/html/html/functions_p.html +23 -19
  28. package/SVF-doxygen/html/html/functions_s.html +20 -17
  29. package/SVF-doxygen/html/html/functions_t.html +8 -8
  30. package/SVF-doxygen/html/html/functions_v.html +3 -3
  31. package/SVF-doxygen/html/html/functions_vars_e.html +5 -2
  32. package/SVF-doxygen/html/html/functions_w.html +1 -1
  33. package/SVF-doxygen/html/html/globals_d.html +3 -0
  34. package/SVF-doxygen/html/html/globals_defs.html +3 -3
  35. package/SVF-doxygen/html/html/globals_e.html +0 -3
  36. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +1 -1
  37. package/SVF-doxygen/html/html/search/all_10.js +324 -324
  38. package/SVF-doxygen/html/html/search/all_11.js +224 -224
  39. package/SVF-doxygen/html/html/search/all_12.js +546 -545
  40. package/SVF-doxygen/html/html/search/all_13.js +190 -190
  41. package/SVF-doxygen/html/html/search/all_14.js +67 -67
  42. package/SVF-doxygen/html/html/search/all_15.js +170 -170
  43. package/SVF-doxygen/html/html/search/all_16.js +63 -63
  44. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  45. package/SVF-doxygen/html/html/search/all_18.js +1 -1
  46. package/SVF-doxygen/html/html/search/all_19.js +11 -11
  47. package/SVF-doxygen/html/html/search/all_1a.js +176 -176
  48. package/SVF-doxygen/html/html/search/all_4.js +184 -183
  49. package/SVF-doxygen/html/html/search/all_5.js +120 -120
  50. package/SVF-doxygen/html/html/search/all_6.js +225 -225
  51. package/SVF-doxygen/html/html/search/all_7.js +1056 -1056
  52. package/SVF-doxygen/html/html/search/all_8.js +195 -195
  53. package/SVF-doxygen/html/html/search/all_9.js +617 -617
  54. package/SVF-doxygen/html/html/search/all_a.js +46 -46
  55. package/SVF-doxygen/html/html/search/all_b.js +26 -26
  56. package/SVF-doxygen/html/html/search/all_c.js +116 -116
  57. package/SVF-doxygen/html/html/search/all_d.js +196 -196
  58. package/SVF-doxygen/html/html/search/all_e.js +207 -207
  59. package/SVF-doxygen/html/html/search/all_f.js +116 -116
  60. package/SVF-doxygen/html/html/search/classes_0.js +26 -26
  61. package/SVF-doxygen/html/html/search/classes_1.js +9 -9
  62. package/SVF-doxygen/html/html/search/classes_10.js +73 -73
  63. package/SVF-doxygen/html/html/search/classes_11.js +15 -15
  64. package/SVF-doxygen/html/html/search/classes_12.js +2 -2
  65. package/SVF-doxygen/html/html/search/classes_13.js +10 -10
  66. package/SVF-doxygen/html/html/search/classes_14.js +14 -14
  67. package/SVF-doxygen/html/html/search/classes_15.js +1 -1
  68. package/SVF-doxygen/html/html/search/classes_2.js +80 -80
  69. package/SVF-doxygen/html/html/search/classes_3.js +38 -38
  70. package/SVF-doxygen/html/html/search/classes_4.js +9 -9
  71. package/SVF-doxygen/html/html/search/classes_5.js +28 -28
  72. package/SVF-doxygen/html/html/search/classes_6.js +110 -110
  73. package/SVF-doxygen/html/html/search/classes_7.js +33 -33
  74. package/SVF-doxygen/html/html/search/classes_8.js +60 -60
  75. package/SVF-doxygen/html/html/search/classes_9.js +1 -1
  76. package/SVF-doxygen/html/html/search/classes_a.js +12 -12
  77. package/SVF-doxygen/html/html/search/classes_b.js +29 -29
  78. package/SVF-doxygen/html/html/search/classes_c.js +6 -6
  79. package/SVF-doxygen/html/html/search/classes_d.js +18 -18
  80. package/SVF-doxygen/html/html/search/classes_e.js +36 -36
  81. package/SVF-doxygen/html/html/search/classes_f.js +25 -25
  82. package/SVF-doxygen/html/html/search/defines_0.js +3 -3
  83. package/SVF-doxygen/html/html/search/defines_1.js +2 -2
  84. package/SVF-doxygen/html/html/search/defines_2.js +30 -30
  85. package/SVF-doxygen/html/html/search/defines_3.js +21 -20
  86. package/SVF-doxygen/html/html/search/defines_4.js +2 -3
  87. package/SVF-doxygen/html/html/search/defines_5.js +4 -4
  88. package/SVF-doxygen/html/html/search/defines_6.js +2 -2
  89. package/SVF-doxygen/html/html/search/defines_7.js +5 -5
  90. package/SVF-doxygen/html/html/search/defines_8.js +11 -11
  91. package/SVF-doxygen/html/html/search/defines_9.js +9 -9
  92. package/SVF-doxygen/html/html/search/defines_a.js +2 -2
  93. package/SVF-doxygen/html/html/search/defines_b.js +1 -1
  94. package/SVF-doxygen/html/html/search/defines_c.js +3 -3
  95. package/SVF-doxygen/html/html/search/defines_d.js +2 -2
  96. package/SVF-doxygen/html/html/search/defines_e.js +7 -7
  97. package/SVF-doxygen/html/html/search/defines_f.js +3 -3
  98. package/SVF-doxygen/html/html/search/enums_0.js +3 -3
  99. package/SVF-doxygen/html/html/search/enums_1.js +2 -2
  100. package/SVF-doxygen/html/html/search/enums_10.js +1 -1
  101. package/SVF-doxygen/html/html/search/enums_11.js +1 -1
  102. package/SVF-doxygen/html/html/search/enums_2.js +8 -8
  103. package/SVF-doxygen/html/html/search/enums_3.js +1 -1
  104. package/SVF-doxygen/html/html/search/enums_4.js +3 -3
  105. package/SVF-doxygen/html/html/search/enums_5.js +1 -1
  106. package/SVF-doxygen/html/html/search/enums_6.js +2 -2
  107. package/SVF-doxygen/html/html/search/enums_7.js +2 -2
  108. package/SVF-doxygen/html/html/search/enums_8.js +4 -4
  109. package/SVF-doxygen/html/html/search/enums_9.js +1 -1
  110. package/SVF-doxygen/html/html/search/enums_a.js +1 -1
  111. package/SVF-doxygen/html/html/search/enums_b.js +7 -7
  112. package/SVF-doxygen/html/html/search/enums_c.js +1 -1
  113. package/SVF-doxygen/html/html/search/enums_d.js +4 -4
  114. package/SVF-doxygen/html/html/search/enums_e.js +2 -2
  115. package/SVF-doxygen/html/html/search/enums_f.js +4 -4
  116. package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
  117. package/SVF-doxygen/html/html/search/enumvalues_1.js +14 -14
  118. package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
  119. package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
  120. package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
  121. package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
  122. package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
  123. package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
  124. package/SVF-doxygen/html/html/search/enumvalues_2.js +36 -36
  125. package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
  126. package/SVF-doxygen/html/html/search/enumvalues_4.js +2 -2
  127. package/SVF-doxygen/html/html/search/enumvalues_5.js +47 -47
  128. package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
  129. package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
  130. package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
  131. package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
  132. package/SVF-doxygen/html/html/search/enumvalues_a.js +15 -15
  133. package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
  134. package/SVF-doxygen/html/html/search/enumvalues_c.js +5 -5
  135. package/SVF-doxygen/html/html/search/enumvalues_d.js +18 -18
  136. package/SVF-doxygen/html/html/search/enumvalues_e.js +9 -9
  137. package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
  138. package/SVF-doxygen/html/html/search/files_0.js +13 -13
  139. package/SVF-doxygen/html/html/search/files_1.js +7 -7
  140. package/SVF-doxygen/html/html/search/files_10.js +8 -8
  141. package/SVF-doxygen/html/html/search/files_11.js +8 -8
  142. package/SVF-doxygen/html/html/search/files_12.js +2 -2
  143. package/SVF-doxygen/html/html/search/files_2.js +53 -53
  144. package/SVF-doxygen/html/html/search/files_3.js +14 -14
  145. package/SVF-doxygen/html/html/search/files_4.js +5 -5
  146. package/SVF-doxygen/html/html/search/files_5.js +13 -13
  147. package/SVF-doxygen/html/html/search/files_6.js +9 -9
  148. package/SVF-doxygen/html/html/search/files_7.js +16 -16
  149. package/SVF-doxygen/html/html/search/files_8.js +13 -13
  150. package/SVF-doxygen/html/html/search/files_9.js +18 -18
  151. package/SVF-doxygen/html/html/search/files_a.js +3 -3
  152. package/SVF-doxygen/html/html/search/files_b.js +2 -2
  153. package/SVF-doxygen/html/html/search/files_c.js +20 -20
  154. package/SVF-doxygen/html/html/search/files_d.js +4 -4
  155. package/SVF-doxygen/html/html/search/files_e.js +62 -62
  156. package/SVF-doxygen/html/html/search/files_f.js +8 -8
  157. package/SVF-doxygen/html/html/search/functions_0.js +12 -12
  158. package/SVF-doxygen/html/html/search/functions_1.js +357 -357
  159. package/SVF-doxygen/html/html/search/functions_10.js +140 -140
  160. package/SVF-doxygen/html/html/search/functions_11.js +138 -138
  161. package/SVF-doxygen/html/html/search/functions_12.js +279 -278
  162. package/SVF-doxygen/html/html/search/functions_13.js +58 -58
  163. package/SVF-doxygen/html/html/search/functions_14.js +39 -39
  164. package/SVF-doxygen/html/html/search/functions_15.js +71 -71
  165. package/SVF-doxygen/html/html/search/functions_16.js +32 -32
  166. package/SVF-doxygen/html/html/search/functions_17.js +3 -3
  167. package/SVF-doxygen/html/html/search/functions_18.js +176 -176
  168. package/SVF-doxygen/html/html/search/functions_2.js +86 -86
  169. package/SVF-doxygen/html/html/search/functions_3.js +257 -257
  170. package/SVF-doxygen/html/html/search/functions_4.js +75 -75
  171. package/SVF-doxygen/html/html/search/functions_5.js +53 -53
  172. package/SVF-doxygen/html/html/search/functions_6.js +59 -59
  173. package/SVF-doxygen/html/html/search/functions_7.js +858 -858
  174. package/SVF-doxygen/html/html/search/functions_8.js +147 -147
  175. package/SVF-doxygen/html/html/search/functions_9.js +429 -429
  176. package/SVF-doxygen/html/html/search/functions_a.js +30 -30
  177. package/SVF-doxygen/html/html/search/functions_b.js +2 -2
  178. package/SVF-doxygen/html/html/search/functions_c.js +26 -26
  179. package/SVF-doxygen/html/html/search/functions_d.js +77 -77
  180. package/SVF-doxygen/html/html/search/functions_e.js +35 -35
  181. package/SVF-doxygen/html/html/search/functions_f.js +56 -56
  182. package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
  183. package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
  184. package/SVF-doxygen/html/html/search/related_0.js +2 -2
  185. package/SVF-doxygen/html/html/search/related_1.js +2 -2
  186. package/SVF-doxygen/html/html/search/related_2.js +2 -2
  187. package/SVF-doxygen/html/html/search/related_3.js +2 -2
  188. package/SVF-doxygen/html/html/search/related_4.js +2 -2
  189. package/SVF-doxygen/html/html/search/related_5.js +1 -1
  190. package/SVF-doxygen/html/html/search/related_6.js +2 -2
  191. package/SVF-doxygen/html/html/search/related_7.js +4 -4
  192. package/SVF-doxygen/html/html/search/related_8.js +2 -2
  193. package/SVF-doxygen/html/html/search/related_9.js +4 -4
  194. package/SVF-doxygen/html/html/search/related_a.js +19 -19
  195. package/SVF-doxygen/html/html/search/related_b.js +4 -4
  196. package/SVF-doxygen/html/html/search/related_c.js +1 -1
  197. package/SVF-doxygen/html/html/search/related_d.js +11 -11
  198. package/SVF-doxygen/html/html/search/related_e.js +2 -2
  199. package/SVF-doxygen/html/html/search/related_f.js +2 -2
  200. package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
  201. package/SVF-doxygen/html/html/search/typedefs_1.js +26 -26
  202. package/SVF-doxygen/html/html/search/typedefs_10.js +63 -63
  203. package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
  204. package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
  205. package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
  206. package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
  207. package/SVF-doxygen/html/html/search/typedefs_2.js +128 -128
  208. package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
  209. package/SVF-doxygen/html/html/search/typedefs_4.js +17 -17
  210. package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
  211. package/SVF-doxygen/html/html/search/typedefs_6.js +58 -58
  212. package/SVF-doxygen/html/html/search/typedefs_7.js +46 -46
  213. package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
  214. package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
  215. package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
  216. package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
  217. package/SVF-doxygen/html/html/search/typedefs_c.js +41 -41
  218. package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
  219. package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
  220. package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
  221. package/SVF-doxygen/html/html/search/variables_0.js +162 -162
  222. package/SVF-doxygen/html/html/search/variables_1.js +75 -75
  223. package/SVF-doxygen/html/html/search/variables_10.js +97 -97
  224. package/SVF-doxygen/html/html/search/variables_11.js +46 -46
  225. package/SVF-doxygen/html/html/search/variables_12.js +92 -92
  226. package/SVF-doxygen/html/html/search/variables_13.js +75 -75
  227. package/SVF-doxygen/html/html/search/variables_14.js +14 -14
  228. package/SVF-doxygen/html/html/search/variables_15.js +48 -48
  229. package/SVF-doxygen/html/html/search/variables_16.js +9 -9
  230. package/SVF-doxygen/html/html/search/variables_17.js +1 -1
  231. package/SVF-doxygen/html/html/search/variables_18.js +2 -2
  232. package/SVF-doxygen/html/html/search/variables_2.js +37 -37
  233. package/SVF-doxygen/html/html/search/variables_3.js +142 -142
  234. package/SVF-doxygen/html/html/search/variables_4.js +55 -55
  235. package/SVF-doxygen/html/html/search/variables_5.js +39 -38
  236. package/SVF-doxygen/html/html/search/variables_6.js +66 -66
  237. package/SVF-doxygen/html/html/search/variables_7.js +33 -33
  238. package/SVF-doxygen/html/html/search/variables_8.js +7 -7
  239. package/SVF-doxygen/html/html/search/variables_9.js +77 -77
  240. package/SVF-doxygen/html/html/search/variables_a.js +4 -4
  241. package/SVF-doxygen/html/html/search/variables_b.js +10 -10
  242. package/SVF-doxygen/html/html/search/variables_c.js +45 -45
  243. package/SVF-doxygen/html/html/search/variables_d.js +56 -56
  244. package/SVF-doxygen/html/html/search/variables_e.js +123 -123
  245. package/SVF-doxygen/html/html/search/variables_f.js +30 -30
  246. package/package.json +1 -1
  247. package/svf/include/Util/ExtAPI.h +8 -2
  248. package/svf/include/Util/Options.h +1 -1
  249. package/svf/lib/Util/ExtAPI.cpp +59 -31
  250. package/svf/lib/Util/Options.cpp +4 -3
  251. package/svf-llvm/include/SVF-LLVM/LLVMModule.h +1 -1
  252. package/svf-llvm/lib/LLVMModule.cpp +4 -4
  253. package/svf-llvm/lib/LLVMUtil.cpp +1 -1
@@ -73,6 +73,7 @@ $(function() {
73
73
  <div class="contents">
74
74
  <div class="textblock"><code>#include &quot;<a class="el" href="ExtAPI_8h_source.html">Util/ExtAPI.h</a>&quot;</code><br />
75
75
  <code>#include &quot;<a class="el" href="SVFUtil_8h_source.html">Util/SVFUtil.h</a>&quot;</code><br />
76
+ <code>#include &quot;<a class="el" href="Options_8h_source.html">Util/Options.h</a>&quot;</code><br />
76
77
  <code>#include &lt;sys/stat.h&gt;</code><br />
77
78
  </div>
78
79
  <p><a href="ExtAPI_8cpp_source.html">Go to the source code of this file.</a></p>
@@ -109,31 +110,32 @@ Functions</h2></td></tr>
109
110
  </table>
110
111
  </div><div class="memdoc">
111
112
 
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>
113
+ <p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#l00089">89</a> of file <a class="el" href="ExtAPI_8cpp_source.html">ExtAPI.cpp</a>.</p>
114
+ <div class="fragment"><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;{</div>
115
+ <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> bcFilePath = <span class="stringliteral">&quot;&quot;</span>;</div>
116
+ <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">if</span> (path.compare(<span class="stringliteral">&quot;SVF_DIR&quot;</span>) == 0)</div>
117
+ <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; {</div>
118
+ <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; bcFilePath = getenv(<span class="stringliteral">&quot;SVF_DIR&quot;</span>);</div>
119
+ <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div>
120
+ <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (path.compare(<span class="stringliteral">&quot;npm root&quot;</span>) == 0)</div>
121
+ <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; {</div>
122
+ <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; bcFilePath = <a class="code" href="ExtAPI_8cpp.html#a424940f91f234b23bcc633f12269f935">GetStdoutFromCommand</a>(path);</div>
123
+ <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="comment">// SVF installed via npm needs to determine the type of operating</span></div>
124
+ <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="comment">// system, otherwise the extapi.bc path may not be found.</span></div>
125
+ <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="preprocessor">#ifdef linux</span></div>
126
+ <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="comment">// Linux os</span></div>
127
+ <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; bcFilePath.append(<span class="stringliteral">&quot;/svf-lib/SVF-linux&quot;</span>);</div>
128
+ <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="preprocessor">#else</span></div>
129
+ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="comment">// Mac os</span></div>
130
+ <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; bcFilePath.append(<span class="stringliteral">&quot;/svf-lib/SVF-osx&quot;</span>);</div>
131
+ <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="preprocessor">#endif</span></div>
132
+ <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div>
133
+ <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; </div>
134
+ <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">if</span> (!bcFilePath.empty() &amp;&amp; bcFilePath.back() != <span class="charliteral">&#39;/&#39;</span>)</div>
135
+ <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; bcFilePath.push_back(<span class="charliteral">&#39;/&#39;</span>);</div>
136
+ <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; bcFilePath.append(BUILD_TYPE).append(<a class="code" href="ExtAPI_8h.html#a8983f9a86a5284dc50950222a06f1a11">DEFUALT_EXTAPI_BC_PATH</a>);</div>
137
+ <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> bcFilePath;</div>
138
+ <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;}</div>
137
139
  </div><!-- fragment -->
138
140
  </div>
139
141
  </div>
@@ -161,37 +163,37 @@ Functions</h2></td></tr>
161
163
  </table>
162
164
  </div><div class="memdoc">
163
165
 
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>
166
+ <p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#l00065">65</a> of file <a class="el" href="ExtAPI_8cpp_source.html">ExtAPI.cpp</a>.</p>
167
+ <div class="fragment"><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;{</div>
168
+ <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordtype">char</span> <a class="code" href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a>[128];</div>
169
+ <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> result = <span class="stringliteral">&quot;&quot;</span>;</div>
170
+ <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">// Open pipe to file</span></div>
171
+ <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; FILE* pipe = popen(command.c_str(), <span class="stringliteral">&quot;r&quot;</span>);</div>
172
+ <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">if</span> (!pipe)</div>
173
+ <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div>
174
+ <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;popen failed!&quot;</span>;</div>
175
+ <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
176
+ <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="comment">// read till end of process:</span></div>
177
+ <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">while</span> (!feof(pipe))</div>
178
+ <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; {</div>
179
+ <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="comment">// use buffer to read and add to result</span></div>
180
+ <div class="line"><a name="l00079"></a><span class="lineno"> 79</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>
181
+ <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; result += <a class="code" href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a>;</div>
182
+ <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div>
183
+ <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; pclose(pipe);</div>
184
+ <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="comment">// remove &quot;\n&quot;</span></div>
185
+ <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; result.erase(remove(result.begin(), result.end(), <span class="charliteral">&#39;\n&#39;</span>), result.end());</div>
186
+ <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> result;</div>
187
+ <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;}</div>
186
188
  </div><!-- fragment -->
187
189
  </div>
188
190
  </div>
189
191
  </div><!-- contents -->
190
192
  <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#l00684">extapi.c:684</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="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#l00065">ExtAPI.cpp:65</a></div></div>
193
194
  <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
195
  <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>
196
+ <div class="ttc" id="aExtAPI_8h_html_a8983f9a86a5284dc50950222a06f1a11"><div class="ttname"><a href="ExtAPI_8h.html#a8983f9a86a5284dc50950222a06f1a11">DEFUALT_EXTAPI_BC_PATH</a></div><div class="ttdeci">#define DEFUALT_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>
195
197
  <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>
196
198
  <!-- start footer part -->
197
199
  <hr class="footer"/><address class="footer"><small>