<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>GCC Code Coverage Report</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="index.css">
</head>
<body>
<h1>GCC Code Coverage Report</h1>
<hr/>
<div class="summary">
<div>
<table class="legend">
<tr>
<th scope="row">Directory:</th>
<td>src/</td>
</tr>
<tr>
<th scope="row">File:</th>
<td>src/json_rpc.c</td>
</tr>
<tr>
<th scope="row">Date:</th>
<td>2024-04-25 03:45:42</td>
</tr>
</table>
</div>
<div>
<table class="coverage">
<tr>
<th></th>
<th scope="col">Exec</th>
<th scope="col">Total</th>
<th scope="col">Coverage</th>
</tr>
<tr>
<th scope="row">Lines:</th>
<td>201</td>
<td>306</td>
<td class="coverage-low">65.7%</td>
</tr>
<tr>
<th scope="row">Branches:</th>
<td>58</td>
<td>146</td>
<td class="coverage-low">39.7%</td>
</tr>
</table>
</div>
</div>
<hr/>
<div class="file-source">
<table>
<tr>
<th align="right">Line</th>
<th align="right">Branch</th>
<th align="right">Exec</th>
<th align="left">Source</th>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l1" href="#l1">1</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="cm">/*</span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l2" href="#l2">2</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="cm"> * Copyright (c) 2023 Egor Tensin <egor@tensin.name></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l3" href="#l3">3</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="cm"> * This file is part of the "cimple" project.</span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l4" href="#l4">4</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="cm"> * For details, see https://github.com/egor-tensin/cimple.</span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l5" href="#l5">5</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="cm"> * Distributed under the MIT License.</span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l6" href="#l6">6</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="cm"> */</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l7" href="#l7">7</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l8" href="#l8">8</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="cp">#include</span><span class="w"> </span><span class="cpf">"json_rpc.h"</span><span class="cp"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l9" href="#l9">9</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="cp">#include</span><span class="w"> </span><span class="cpf">"json.h"</span><span class="cp"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l10" href="#l10">10</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="cp">#include</span><span class="w"> </span><span class="cpf">"log.h"</span><span class="cp"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l11" href="#l11">11</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l12" href="#l12">12</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="cp">#include</span><span class="w"> </span><span class="cpf"><json-c/json_object.h></span><span class="cp"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l13" href="#l13">13</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l14" href="#l14">14</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="cp">#include</span><span class="w"> </span><span class="cpf"><stdatomic.h></span><span class="cp"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l15" href="#l15">15</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="cp">#include</span><span class="w"> </span><span class="cpf"><stdint.h></span><span class="cp"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l16" href="#l16">16</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="cp">#include</span><span class="w"> </span><span class="cpf"><stdlib.h></span><span class="cp"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l17" href="#l17">17</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="cp">#include</span><span class="w"> </span><span class="cpf"><string.h></span><span class="cp"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l18" href="#l18">18</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l19" href="#l19">19</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l20" href="#l20">20</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">impl</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l21" href="#l21">21</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">};</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l22" href="#l22">22</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l23" href="#l23">23</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_response</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l24" href="#l24">24</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">impl</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l25" href="#l25">25</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">};</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l26" href="#l26">26</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l27" href="#l27">27</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="k">const</span><span class="w"> </span><span class="n">jsonrpc_key_version</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"jsonrpc"</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l28" href="#l28">28</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="k">const</span><span class="w"> </span><span class="n">jsonrpc_key_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"id"</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l29" href="#l29">29</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="k">const</span><span class="w"> </span><span class="n">jsonrpc_key_method</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"method"</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l30" href="#l30">30</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="k">const</span><span class="w"> </span><span class="n">jsonrpc_key_params</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"params"</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l31" href="#l31">31</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l32" href="#l32">32</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="k">const</span><span class="w"> </span><span class="n">jsonrpc_value_version</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"2.0"</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l33" href="#l33">33</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l34" href="#l34">34</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">46006</td>
<td class="src coveredLine"><span class="k">static</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_check_version</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">obj</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l35" href="#l35">35</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l36" href="#l36">36</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">46006</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">key</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_key_version</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l37" href="#l37">37</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">46006</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">version</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l38" href="#l38">38</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l39" href="#l39">39</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">46006</td>
<td class="src coveredLine"><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_get_string</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span><span class="w"> </span><span class="n">key</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">version</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l40" href="#l40">40</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 46006 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">46006</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l41" href="#l41">41</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l42" href="#l42">42</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l43" href="#l43">43</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 46006 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">46006</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">strcmp</span><span class="p">(</span><span class="n">version</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_value_version</span><span class="p">))</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l44" href="#l44">44</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">log_err</span><span class="p">(</span><span class="s">"JSON-RPC: invalid '%s' value: %s</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="w"> </span><span class="n">key</span><span class="p">,</span><span class="w"> </span><span class="n">version</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l45" href="#l45">45</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l46" href="#l46">46</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l47" href="#l47">47</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l48" href="#l48">48</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">46006</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l49" href="#l49">49</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l50" href="#l50">50</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l51" href="#l51">51</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">64418</td>
<td class="src coveredLine"><span class="k">static</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_set_version</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">obj</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l52" href="#l52">52</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l53" href="#l53">53</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">64418</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">libjson_set_string_const_key</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_key_version</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_value_version</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l54" href="#l54">54</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l55" href="#l55">55</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l56" href="#l56">56</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="k">static</span><span class="w"> </span><span class="kt">_Atomic</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">jsonrpc_id_counter</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l57" href="#l57">57</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l58" href="#l58">58</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_generate_request_id</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l59" href="#l59">59</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l60" href="#l60">60</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">jsonrpc_id_counter</span><span class="o">++</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l61" href="#l61">61</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l62" href="#l62">62</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l63" href="#l63">63</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">18412</td>
<td class="src coveredLine"><span class="k">static</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_check_id_type</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">id</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l64" href="#l64">64</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l65" href="#l65">65</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">2/4</summary>
<div class="linebranchContents">
<div class="takenBranch">✓ Branch 1 taken 18412 times.</div>
<div class="notTakenBranch">✗ Branch 2 not taken.</div>
<div class="notTakenBranch">✗ Branch 4 not taken.</div>
<div class="takenBranch">✓ Branch 5 taken 18412 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">18412</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">json_object_is_type</span><span class="p">(</span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="n">json_type_string</span><span class="p">)</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="o">!</span><span class="n">json_object_is_type</span><span class="p">(</span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="n">json_type_int</span><span class="p">))</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l66" href="#l66">66</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">log_err</span><span class="p">(</span><span class="s">"JSON-RPC: key '%s' must be either an integer or a string</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l67" href="#l67">67</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="n">jsonrpc_key_id</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l68" href="#l68">68</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l69" href="#l69">69</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l70" href="#l70">70</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">18412</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l71" href="#l71">71</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l72" href="#l72">72</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l73" href="#l73">73</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">46006</td>
<td class="src coveredLine"><span class="k">static</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_check_id</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">obj</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">required</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l74" href="#l74">74</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l75" href="#l75">75</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">46006</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">key</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_key_id</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l76" href="#l76">76</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l77" href="#l77">77</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">2/2</summary>
<div class="linebranchContents">
<div class="takenBranch">✓ Branch 1 taken 27594 times.</div>
<div class="takenBranch">✓ Branch 2 taken 18412 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">46006</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">libjson_has</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span><span class="w"> </span><span class="n">key</span><span class="p">))</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l78" href="#l78">78</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="takenBranch">✓ Branch 0 taken 27594 times.</div>
<div class="notTakenBranch">✗ Branch 1 not taken.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">27594</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">required</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l79" href="#l79">79</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27594</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l80" href="#l80">80</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">log_err</span><span class="p">(</span><span class="s">"JSON-RPC: key is missing: %s</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="w"> </span><span class="n">key</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l81" href="#l81">81</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l82" href="#l82">82</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l83" href="#l83">83</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l84" href="#l84">84</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">18412</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l85" href="#l85">85</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l86" href="#l86">86</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">18412</td>
<td class="src coveredLine"><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_get</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span><span class="w"> </span><span class="n">key</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">id</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l87" href="#l87">87</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 18412 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">18412</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l88" href="#l88">88</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l89" href="#l89">89</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">18412</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">jsonrpc_check_id_type</span><span class="p">(</span><span class="n">id</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l90" href="#l90">90</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l91" href="#l91">91</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l92" href="#l92">92</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="k">static</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_set_id</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">obj</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">id</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l93" href="#l93">93</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l94" href="#l94">94</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">libjson_set_int_const_key</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_key_id</span><span class="p">,</span><span class="w"> </span><span class="n">id</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l95" href="#l95">95</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l96" href="#l96">96</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l97" href="#l97">97</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="k">static</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_check_method</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">obj</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l98" href="#l98">98</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l99" href="#l99">99</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">key</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_key_method</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l100" href="#l100">100</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">method</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l101" href="#l101">101</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">libjson_get_string</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span><span class="w"> </span><span class="n">key</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">method</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l102" href="#l102">102</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l103" href="#l103">103</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l104" href="#l104">104</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="k">static</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_set_method</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">obj</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">method</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l105" href="#l105">105</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l106" href="#l106">106</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">libjson_set_string_const_key</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_key_method</span><span class="p">,</span><span class="w"> </span><span class="n">method</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l107" href="#l107">107</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l108" href="#l108">108</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l109" href="#l109">109</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="k">static</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_check_params_type</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">params</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l110" href="#l110">110</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l111" href="#l111">111</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/4</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 1 not taken.</div>
<div class="takenBranch">✓ Branch 2 taken 27540 times.</div>
<div class="notTakenBranch">✗ Branch 3 not taken.</div>
<div class="notTakenBranch">✗ Branch 4 not taken.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">json_object_is_type</span><span class="p">(</span><span class="n">params</span><span class="p">,</span><span class="w"> </span><span class="n">json_type_object</span><span class="p">)</span><span class="w"> </span><span class="o">&&</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l112" href="#l112">112</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="o">!</span><span class="n">json_object_is_type</span><span class="p">(</span><span class="n">params</span><span class="p">,</span><span class="w"> </span><span class="n">json_type_array</span><span class="p">))</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l113" href="#l113">113</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">log_err</span><span class="p">(</span><span class="s">"JSON-RPC: key '%s' must be either an object or an array</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l114" href="#l114">114</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="n">jsonrpc_key_params</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l115" href="#l115">115</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l116" href="#l116">116</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l117" href="#l117">117</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l118" href="#l118">118</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l119" href="#l119">119</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l120" href="#l120">120</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="k">static</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_check_params</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">obj</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l121" href="#l121">121</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l122" href="#l122">122</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">key</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_key_params</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l123" href="#l123">123</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l124" href="#l124">124</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">2/2</summary>
<div class="linebranchContents">
<div class="takenBranch">✓ Branch 1 taken 9260 times.</div>
<div class="takenBranch">✓ Branch 2 taken 27540 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">libjson_has</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span><span class="w"> </span><span class="n">key</span><span class="p">))</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l125" href="#l125">125</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9260</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l126" href="#l126">126</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l127" href="#l127">127</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">params</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l128" href="#l128">128</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l129" href="#l129">129</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_get</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span><span class="w"> </span><span class="n">key</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">params</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l130" href="#l130">130</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 27540 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l131" href="#l131">131</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l132" href="#l132">132</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">jsonrpc_check_params_type</span><span class="p">(</span><span class="n">params</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l133" href="#l133">133</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l134" href="#l134">134</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l135" href="#l135">135</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="k">static</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_set_params</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">obj</span><span class="p">,</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">params</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l136" href="#l136">136</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l137" href="#l137">137</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">key</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_key_params</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l138" href="#l138">138</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l139" href="#l139">139</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_check_params_type</span><span class="p">(</span><span class="n">params</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l140" href="#l140">140</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l141" href="#l141">141</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l142" href="#l142">142</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">libjson_set_const_key</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span><span class="w"> </span><span class="n">key</span><span class="p">,</span><span class="w"> </span><span class="n">params</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l143" href="#l143">143</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l144" href="#l144">144</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l145" href="#l145">145</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="k">const</span><span class="w"> </span><span class="n">jsonrpc_key_result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"result"</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l146" href="#l146">146</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="k">const</span><span class="w"> </span><span class="n">jsonrpc_key_error</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"error"</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l147" href="#l147">147</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l148" href="#l148">148</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="k">const</span><span class="w"> </span><span class="n">jsonrpc_key_code</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"code"</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l149" href="#l149">149</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="k">static</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="k">const</span><span class="w"> </span><span class="n">jsonrpc_key_message</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">"message"</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l150" href="#l150">150</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l151" href="#l151">151</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="k">static</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_check_error</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">obj</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l152" href="#l152">152</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l153" href="#l153">153</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">key</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_key_error</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l154" href="#l154">154</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">error</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l155" href="#l155">155</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l156" href="#l156">156</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_get</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span><span class="w"> </span><span class="n">key</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">error</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l157" href="#l157">157</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l158" href="#l158">158</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l159" href="#l159">159</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l160" href="#l160">160</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="n">code</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l161" href="#l161">161</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l162" href="#l162">162</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_get_int</span><span class="p">(</span><span class="n">error</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_key_code</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">code</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l163" href="#l163">163</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l164" href="#l164">164</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">log_err</span><span class="p">(</span><span class="s">"JSON-RPC: key is missing or not an integer: %s</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_key_code</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l165" href="#l165">165</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l166" href="#l166">166</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l167" href="#l167">167</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l168" href="#l168">168</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">message</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l169" href="#l169">169</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l170" href="#l170">170</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_get_string</span><span class="p">(</span><span class="n">error</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_key_message</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">message</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l171" href="#l171">171</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l172" href="#l172">172</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">log_err</span><span class="p">(</span><span class="s">"JSON-RPC: key is missing or not a string: %s</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_key_message</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l173" href="#l173">173</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l174" href="#l174">174</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l175" href="#l175">175</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l176" href="#l176">176</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l177" href="#l177">177</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l178" href="#l178">178</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l179" href="#l179">179</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="k">static</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_check_result_or_error</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">obj</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l180" href="#l180">180</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l181" href="#l181">181</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">key_result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_key_result</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l182" href="#l182">182</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">key_error</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_key_error</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l183" href="#l183">183</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l184" href="#l184">184</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/4</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 1 not taken.</div>
<div class="takenBranch">✓ Branch 2 taken 9206 times.</div>
<div class="notTakenBranch">✗ Branch 4 not taken.</div>
<div class="notTakenBranch">✗ Branch 5 not taken.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">libjson_has</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span><span class="w"> </span><span class="n">key_result</span><span class="p">)</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="o">!</span><span class="n">libjson_has</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span><span class="w"> </span><span class="n">key_error</span><span class="p">))</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l185" href="#l185">185</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">log_err</span><span class="p">(</span><span class="s">"JSON-RPC: either '%s' or '%s' must be present</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="w"> </span><span class="n">key_result</span><span class="p">,</span><span class="w"> </span><span class="n">key_error</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l186" href="#l186">186</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l187" href="#l187">187</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l188" href="#l188">188</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l189" href="#l189">189</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="takenBranch">✓ Branch 1 taken 9206 times.</div>
<div class="notTakenBranch">✗ Branch 2 not taken.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">libjson_has</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span><span class="w"> </span><span class="n">key_result</span><span class="p">))</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l190" href="#l190">190</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l191" href="#l191">191</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l192" href="#l192">192</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">jsonrpc_check_error</span><span class="p">(</span><span class="n">obj</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l193" href="#l193">193</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l194" href="#l194">194</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l195" href="#l195">195</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="k">static</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_request_create_internal</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">**</span><span class="n">_request</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="o">*</span><span class="n">id</span><span class="p">,</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l196" href="#l196">196</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">method</span><span class="p">,</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">params</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l197" href="#l197">197</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l198" href="#l198">198</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l199" href="#l199">199</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l200" href="#l200">200</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">*</span><span class="n">request</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">malloc</span><span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="p">));</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l201" href="#l201">201</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 36800 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">request</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l202" href="#l202">202</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">log_errno</span><span class="p">(</span><span class="s">"malloc"</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l203" href="#l203">203</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l204" href="#l204">204</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">exit</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l205" href="#l205">205</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l206" href="#l206">206</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l207" href="#l207">207</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_new_object</span><span class="p">(</span><span class="o">&</span><span class="n">request</span><span class="o">-></span><span class="n">impl</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l208" href="#l208">208</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 36800 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l209" href="#l209">209</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">free</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l210" href="#l210">210</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l211" href="#l211">211</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_set_version</span><span class="p">(</span><span class="n">request</span><span class="o">-></span><span class="n">impl</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l212" href="#l212">212</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 36800 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l213" href="#l213">213</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">free_impl</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l214" href="#l214">214</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l215" href="#l215">215</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">2/2</summary>
<div class="linebranchContents">
<div class="takenBranch">✓ Branch 0 taken 9206 times.</div>
<div class="takenBranch">✓ Branch 1 taken 27594 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">id</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l216" href="#l216">216</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_set_id</span><span class="p">(</span><span class="n">request</span><span class="o">-></span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="o">*</span><span class="n">id</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l217" href="#l217">217</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 9206 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l218" href="#l218">218</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">free_impl</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l219" href="#l219">219</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l220" href="#l220">220</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l221" href="#l221">221</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_set_method</span><span class="p">(</span><span class="n">request</span><span class="o">-></span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="n">method</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l222" href="#l222">222</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 36800 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l223" href="#l223">223</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">free_impl</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l224" href="#l224">224</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l225" href="#l225">225</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 36800 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">params</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l226" href="#l226">226</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_set_params</span><span class="p">(</span><span class="n">request</span><span class="o">-></span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="n">params</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l227" href="#l227">227</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l228" href="#l228">228</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">free_impl</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l229" href="#l229">229</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l230" href="#l230">230</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l231" href="#l231">231</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="o">*</span><span class="n">_request</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">request</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l232" href="#l232">232</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">exit</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l233" href="#l233">233</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l234" href="#l234">234</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="nl">free_impl</span><span class="p">:</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l235" href="#l235">235</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">libjson_free</span><span class="p">(</span><span class="n">request</span><span class="o">-></span><span class="n">impl</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l236" href="#l236">236</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="nl">free</span><span class="p">:</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l237" href="#l237">237</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">free</span><span class="p">(</span><span class="n">request</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l238" href="#l238">238</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="nl">exit</span><span class="p">:</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l239" href="#l239">239</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l240" href="#l240">240</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l241" href="#l241">241</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l242" href="#l242">242</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_request_create</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">**</span><span class="n">_request</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">method</span><span class="p">,</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l243" href="#l243">243</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">params</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l244" href="#l244">244</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l245" href="#l245">245</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">jsonrpc_request_create_internal</span><span class="p">(</span><span class="n">_request</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="n">method</span><span class="p">,</span><span class="w"> </span><span class="n">params</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l246" href="#l246">246</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l247" href="#l247">247</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l248" href="#l248">248</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">73600</td>
<td class="src coveredLine"><span class="kt">void</span><span class="w"> </span><span class="nf">jsonrpc_request_destroy</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">*</span><span class="n">request</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l249" href="#l249">249</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l250" href="#l250">250</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">73600</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">libjson_free</span><span class="p">(</span><span class="n">request</span><span class="o">-></span><span class="n">impl</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l251" href="#l251">251</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">73600</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">free</span><span class="p">(</span><span class="n">request</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l252" href="#l252">252</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">73600</td>
<td class="src coveredLine"><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l253" href="#l253">253</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l254" href="#l254">254</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27594</td>
<td class="src coveredLine"><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_notification_create</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">**</span><span class="n">_request</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">method</span><span class="p">,</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l255" href="#l255">255</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">params</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l256" href="#l256">256</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l257" href="#l257">257</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27594</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">jsonrpc_request_create_internal</span><span class="p">(</span><span class="n">_request</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">method</span><span class="p">,</span><span class="w"> </span><span class="n">params</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l258" href="#l258">258</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l259" href="#l259">259</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l260" href="#l260">260</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_request_is_notification</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">*</span><span class="n">request</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l261" href="#l261">261</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l262" href="#l262">262</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="o">!</span><span class="n">libjson_has</span><span class="p">(</span><span class="n">request</span><span class="o">-></span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_key_id</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l263" href="#l263">263</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l264" href="#l264">264</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l265" href="#l265">265</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="k">static</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_request_from_json</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">**</span><span class="n">_request</span><span class="p">,</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">impl</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l266" href="#l266">266</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l267" href="#l267">267</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l268" href="#l268">268</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l269" href="#l269">269</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_check_version</span><span class="p">(</span><span class="n">impl</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l270" href="#l270">270</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 36800 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l271" href="#l271">271</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l272" href="#l272">272</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_check_id</span><span class="p">(</span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l273" href="#l273">273</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 36800 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l274" href="#l274">274</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l275" href="#l275">275</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_check_method</span><span class="p">(</span><span class="n">impl</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l276" href="#l276">276</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 36800 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l277" href="#l277">277</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l278" href="#l278">278</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_check_params</span><span class="p">(</span><span class="n">impl</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l279" href="#l279">279</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 36800 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l280" href="#l280">280</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l281" href="#l281">281</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l282" href="#l282">282</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">*</span><span class="n">request</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">malloc</span><span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="p">));</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l283" href="#l283">283</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 36800 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">request</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l284" href="#l284">284</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">log_errno</span><span class="p">(</span><span class="s">"malloc"</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l285" href="#l285">285</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l286" href="#l286">286</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l287" href="#l287">287</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">request</span><span class="o">-></span><span class="n">impl</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">impl</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l288" href="#l288">288</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l289" href="#l289">289</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="o">*</span><span class="n">_request</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">request</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l290" href="#l290">290</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l291" href="#l291">291</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l292" href="#l292">292</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l293" href="#l293">293</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_request_send</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">*</span><span class="n">request</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">fd</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l294" href="#l294">294</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l295" href="#l295">295</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">libjson_send</span><span class="p">(</span><span class="n">request</span><span class="o">-></span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="n">fd</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l296" href="#l296">296</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l297" href="#l297">297</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l298" href="#l298">298</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="kt">int</span><span class="w"> </span><span class="nf">jsonrpc_request_recv</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">**</span><span class="n">request</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">fd</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l299" href="#l299">299</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l300" href="#l300">300</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">impl</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_recv</span><span class="p">(</span><span class="n">fd</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l301" href="#l301">301</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 36800 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">impl</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l302" href="#l302">302</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">log_err</span><span class="p">(</span><span class="s">"JSON-RPC: failed to receive request</span><span class="se">\n</span><span class="s">"</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l303" href="#l303">303</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l304" href="#l304">304</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l305" href="#l305">305</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l306" href="#l306">306</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_request_from_json</span><span class="p">(</span><span class="n">request</span><span class="p">,</span><span class="w"> </span><span class="n">impl</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l307" href="#l307">307</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 36800 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l308" href="#l308">308</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">free_impl</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l309" href="#l309">309</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l310" href="#l310">310</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l311" href="#l311">311</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l312" href="#l312">312</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="nl">free_impl</span><span class="p">:</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l313" href="#l313">313</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">libjson_free</span><span class="p">(</span><span class="n">impl</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l314" href="#l314">314</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l315" href="#l315">315</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l316" href="#l316">316</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l317" href="#l317">317</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l318" href="#l318">318</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="nf">jsonrpc_request_get_method</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">*</span><span class="n">request</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l319" href="#l319">319</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l320" href="#l320">320</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">method</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l321" href="#l321">321</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_get_string</span><span class="p">(</span><span class="n">request</span><span class="o">-></span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_key_method</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">method</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l322" href="#l322">322</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 36800 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l323" href="#l323">323</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="cm">/* Should never happen. */</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l324" href="#l324">324</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l325" href="#l325">325</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l326" href="#l326">326</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36800</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">method</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l327" href="#l327">327</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l328" href="#l328">328</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l329" href="#l329">329</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">73440</td>
<td class="src coveredLine"><span class="k">static</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">jsonrpc_request_create_params</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">*</span><span class="n">request</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l330" href="#l330">330</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l331" href="#l331">331</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">73440</td>
<td class="src coveredLine"><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l332" href="#l332">332</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">73440</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="k">const</span><span class="w"> </span><span class="n">key</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_key_params</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l333" href="#l333">333</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l334" href="#l334">334</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">2/2</summary>
<div class="linebranchContents">
<div class="takenBranch">✓ Branch 1 taken 27540 times.</div>
<div class="takenBranch">✓ Branch 2 taken 45900 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">73440</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">libjson_has</span><span class="p">(</span><span class="n">request</span><span class="o">-></span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="n">key</span><span class="p">))</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l335" href="#l335">335</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">params</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l336" href="#l336">336</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l337" href="#l337">337</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_new_object</span><span class="p">(</span><span class="o">&</span><span class="n">params</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l338" href="#l338">338</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 27540 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l339" href="#l339">339</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l340" href="#l340">340</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l341" href="#l341">341</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_set</span><span class="p">(</span><span class="n">request</span><span class="o">-></span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="n">key</span><span class="p">,</span><span class="w"> </span><span class="n">params</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l342" href="#l342">342</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 27540 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l343" href="#l343">343</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">libjson_free</span><span class="p">(</span><span class="n">params</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l344" href="#l344">344</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l345" href="#l345">345</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l346" href="#l346">346</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">params</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l347" href="#l347">347</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l348" href="#l348">348</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l349" href="#l349">349</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">45900</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">params</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l350" href="#l350">350</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">45900</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_get</span><span class="p">(</span><span class="n">request</span><span class="o">-></span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="n">key</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">params</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l351" href="#l351">351</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 45900 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">45900</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l352" href="#l352">352</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l353" href="#l353">353</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">45900</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">params</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l354" href="#l354">354</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l355" href="#l355">355</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l356" href="#l356">356</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">45900</td>
<td class="src coveredLine"><span class="kt">int</span><span class="w"> </span><span class="n">jsonrpc_request_get_param_string</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">*</span><span class="n">request</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">name</span><span class="p">,</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l357" href="#l357">357</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">**</span><span class="n">value</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l358" href="#l358">358</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l359" href="#l359">359</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">45900</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">params</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l360" href="#l360">360</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">45900</td>
<td class="src coveredLine"><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_get</span><span class="p">(</span><span class="n">request</span><span class="o">-></span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_key_params</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">params</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l361" href="#l361">361</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 45900 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">45900</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l362" href="#l362">362</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l363" href="#l363">363</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">45900</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">libjson_get_string</span><span class="p">(</span><span class="n">params</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">value</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l364" href="#l364">364</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l365" href="#l365">365</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l366" href="#l366">366</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">45900</td>
<td class="src coveredLine"><span class="kt">int</span><span class="w"> </span><span class="n">jsonrpc_request_set_param_string</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">*</span><span class="n">request</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">name</span><span class="p">,</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l367" href="#l367">367</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">value</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l368" href="#l368">368</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l369" href="#l369">369</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">45900</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">params</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_request_create_params</span><span class="p">(</span><span class="n">request</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l370" href="#l370">370</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 45900 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">45900</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">params</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l371" href="#l371">371</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l372" href="#l372">372</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">45900</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">libjson_set_string</span><span class="p">(</span><span class="n">params</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">value</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l373" href="#l373">373</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l374" href="#l374">374</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l375" href="#l375">375</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="kt">int</span><span class="w"> </span><span class="n">jsonrpc_request_get_param_int</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">*</span><span class="n">request</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">name</span><span class="p">,</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l376" href="#l376">376</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="o">*</span><span class="n">value</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l377" href="#l377">377</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l378" href="#l378">378</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">params</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l379" href="#l379">379</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_get</span><span class="p">(</span><span class="n">request</span><span class="o">-></span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_key_params</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">params</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l380" href="#l380">380</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 27540 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l381" href="#l381">381</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l382" href="#l382">382</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">libjson_get_int</span><span class="p">(</span><span class="n">params</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">value</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l383" href="#l383">383</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l384" href="#l384">384</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l385" href="#l385">385</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="kt">int</span><span class="w"> </span><span class="n">jsonrpc_request_set_param_int</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">*</span><span class="n">request</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="n">value</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l386" href="#l386">386</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l387" href="#l387">387</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">params</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_request_create_params</span><span class="p">(</span><span class="n">request</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l388" href="#l388">388</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 27540 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">params</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l389" href="#l389">389</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l390" href="#l390">390</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27540</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">libjson_set_int</span><span class="p">(</span><span class="n">params</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">value</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l391" href="#l391">391</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l392" href="#l392">392</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l393" href="#l393">393</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">jsonrpc_response_to_string</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_response</span><span class="w"> </span><span class="o">*</span><span class="n">response</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l394" href="#l394">394</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l395" href="#l395">395</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">libjson_to_string_pretty</span><span class="p">(</span><span class="n">response</span><span class="o">-></span><span class="n">impl</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l396" href="#l396">396</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l397" href="#l397">397</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l398" href="#l398">398</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27618</td>
<td class="src coveredLine"><span class="kt">int</span><span class="w"> </span><span class="n">jsonrpc_response_create_internal</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_response</span><span class="w"> </span><span class="o">**</span><span class="n">_response</span><span class="p">,</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l399" href="#l399">399</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">*</span><span class="n">request</span><span class="p">,</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l400" href="#l400">400</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">result</span><span class="p">,</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">error</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l401" href="#l401">401</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l402" href="#l402">402</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27618</td>
<td class="src coveredLine"><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l403" href="#l403">403</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l404" href="#l404">404</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27618</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_response</span><span class="w"> </span><span class="o">*</span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">malloc</span><span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_response</span><span class="p">));</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l405" href="#l405">405</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 27618 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">27618</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">response</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l406" href="#l406">406</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">log_errno</span><span class="p">(</span><span class="s">"malloc"</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l407" href="#l407">407</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l408" href="#l408">408</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">exit</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l409" href="#l409">409</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l410" href="#l410">410</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l411" href="#l411">411</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27618</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_new_object</span><span class="p">(</span><span class="o">&</span><span class="n">response</span><span class="o">-></span><span class="n">impl</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l412" href="#l412">412</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 27618 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">27618</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l413" href="#l413">413</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">free</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l414" href="#l414">414</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l415" href="#l415">415</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27618</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_set_version</span><span class="p">(</span><span class="n">response</span><span class="o">-></span><span class="n">impl</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l416" href="#l416">416</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 27618 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">27618</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l417" href="#l417">417</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">free_impl</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l418" href="#l418">418</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l419" href="#l419">419</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27618</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l420" href="#l420">420</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27618</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_clone</span><span class="p">(</span><span class="n">request</span><span class="o">-></span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_key_id</span><span class="p">,</span><span class="w"> </span><span class="o">&</span><span class="n">id</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l421" href="#l421">421</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 27618 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">27618</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l422" href="#l422">422</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">free_impl</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l423" href="#l423">423</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l424" href="#l424">424</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27618</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_set</span><span class="p">(</span><span class="n">response</span><span class="o">-></span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_key_id</span><span class="p">,</span><span class="w"> </span><span class="n">id</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l425" href="#l425">425</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 27618 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">27618</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l426" href="#l426">426</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">libjson_free</span><span class="p">(</span><span class="n">id</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l427" href="#l427">427</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">free_impl</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l428" href="#l428">428</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l429" href="#l429">429</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l430" href="#l430">430</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">2/2</summary>
<div class="linebranchContents">
<div class="takenBranch">✓ Branch 0 taken 9206 times.</div>
<div class="takenBranch">✓ Branch 1 taken 18412 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">27618</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">error</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l431" href="#l431">431</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_set_const_key</span><span class="p">(</span><span class="n">response</span><span class="o">-></span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_key_error</span><span class="p">,</span><span class="w"> </span><span class="n">error</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l432" href="#l432">432</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 9206 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l433" href="#l433">433</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">free_impl</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l434" href="#l434">434</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l435" href="#l435">435</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">18412</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_set_const_key</span><span class="p">(</span><span class="n">response</span><span class="o">-></span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_key_result</span><span class="p">,</span><span class="w"> </span><span class="n">result</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l436" href="#l436">436</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 18412 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">18412</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l437" href="#l437">437</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">free_impl</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l438" href="#l438">438</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l439" href="#l439">439</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l440" href="#l440">440</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27618</td>
<td class="src coveredLine"><span class="w"> </span><span class="o">*</span><span class="n">_response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">response</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l441" href="#l441">441</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27618</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">exit</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l442" href="#l442">442</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l443" href="#l443">443</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="nl">free_impl</span><span class="p">:</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l444" href="#l444">444</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">libjson_free</span><span class="p">(</span><span class="n">response</span><span class="o">-></span><span class="n">impl</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l445" href="#l445">445</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="nl">free</span><span class="p">:</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l446" href="#l446">446</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">free</span><span class="p">(</span><span class="n">response</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l447" href="#l447">447</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27618</td>
<td class="src coveredLine"><span class="nl">exit</span><span class="p">:</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l448" href="#l448">448</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">27618</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l449" href="#l449">449</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l450" href="#l450">450</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l451" href="#l451">451</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">18412</td>
<td class="src coveredLine"><span class="kt">int</span><span class="w"> </span><span class="n">jsonrpc_response_create</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_response</span><span class="w"> </span><span class="o">**</span><span class="n">response</span><span class="p">,</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l452" href="#l452">452</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">*</span><span class="n">request</span><span class="p">,</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">result</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l453" href="#l453">453</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l454" href="#l454">454</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">18412</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">jsonrpc_response_create_internal</span><span class="p">(</span><span class="n">response</span><span class="p">,</span><span class="w"> </span><span class="n">request</span><span class="p">,</span><span class="w"> </span><span class="n">result</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l455" href="#l455">455</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l456" href="#l456">456</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l457" href="#l457">457</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36824</td>
<td class="src coveredLine"><span class="kt">void</span><span class="w"> </span><span class="n">jsonrpc_response_destroy</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_response</span><span class="w"> </span><span class="o">*</span><span class="n">response</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l458" href="#l458">458</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l459" href="#l459">459</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36824</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">libjson_free</span><span class="p">(</span><span class="n">response</span><span class="o">-></span><span class="n">impl</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l460" href="#l460">460</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36824</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">free</span><span class="p">(</span><span class="n">response</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l461" href="#l461">461</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">36824</td>
<td class="src coveredLine"><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l462" href="#l462">462</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l463" href="#l463">463</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="kt">int</span><span class="w"> </span><span class="n">jsonrpc_error_create</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_response</span><span class="w"> </span><span class="o">**</span><span class="n">response</span><span class="p">,</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_request</span><span class="w"> </span><span class="o">*</span><span class="n">request</span><span class="p">,</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l464" href="#l464">464</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">code</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">message</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l465" href="#l465">465</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l466" href="#l466">466</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l467" href="#l467">467</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">error</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l468" href="#l468">468</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l469" href="#l469">469</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_new_object</span><span class="p">(</span><span class="o">&</span><span class="n">error</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l470" href="#l470">470</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 9206 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l471" href="#l471">471</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l472" href="#l472">472</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l473" href="#l473">473</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_set_int_const_key</span><span class="p">(</span><span class="n">error</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_key_code</span><span class="p">,</span><span class="w"> </span><span class="n">code</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l474" href="#l474">474</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 9206 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l475" href="#l475">475</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">free</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l476" href="#l476">476</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_set_string_const_key</span><span class="p">(</span><span class="n">error</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_key_message</span><span class="p">,</span><span class="w"> </span><span class="n">message</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l477" href="#l477">477</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 9206 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l478" href="#l478">478</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">free</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l479" href="#l479">479</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l480" href="#l480">480</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_response_create_internal</span><span class="p">(</span><span class="n">response</span><span class="p">,</span><span class="w"> </span><span class="n">request</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">error</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l481" href="#l481">481</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 9206 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l482" href="#l482">482</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">free</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l483" href="#l483">483</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l484" href="#l484">484</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l485" href="#l485">485</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l486" href="#l486">486</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="nl">free</span><span class="p">:</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l487" href="#l487">487</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">libjson_free</span><span class="p">(</span><span class="n">error</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l488" href="#l488">488</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l489" href="#l489">489</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l490" href="#l490">490</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l491" href="#l491">491</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l492" href="#l492">492</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="kt">int</span><span class="w"> </span><span class="n">jsonrpc_response_is_error</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_response</span><span class="w"> </span><span class="o">*</span><span class="n">response</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l493" href="#l493">493</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l494" href="#l494">494</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">libjson_has</span><span class="p">(</span><span class="n">response</span><span class="o">-></span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="n">jsonrpc_key_error</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l495" href="#l495">495</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l496" href="#l496">496</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l497" href="#l497">497</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="k">static</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">jsonrpc_response_from_json</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_response</span><span class="w"> </span><span class="o">**</span><span class="n">_response</span><span class="p">,</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">impl</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l498" href="#l498">498</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l499" href="#l499">499</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l500" href="#l500">500</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l501" href="#l501">501</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_check_version</span><span class="p">(</span><span class="n">impl</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l502" href="#l502">502</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 9206 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l503" href="#l503">503</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l504" href="#l504">504</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_check_id</span><span class="p">(</span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l505" href="#l505">505</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 9206 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l506" href="#l506">506</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l507" href="#l507">507</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_check_result_or_error</span><span class="p">(</span><span class="n">impl</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l508" href="#l508">508</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 9206 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l509" href="#l509">509</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l510" href="#l510">510</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l511" href="#l511">511</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_response</span><span class="w"> </span><span class="o">*</span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">malloc</span><span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_response</span><span class="p">));</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l512" href="#l512">512</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 9206 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">response</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l513" href="#l513">513</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">log_errno</span><span class="p">(</span><span class="s">"malloc"</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l514" href="#l514">514</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l515" href="#l515">515</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l516" href="#l516">516</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="n">response</span><span class="o">-></span><span class="n">impl</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">impl</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l517" href="#l517">517</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l518" href="#l518">518</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="o">*</span><span class="n">_response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">response</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l519" href="#l519">519</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l520" href="#l520">520</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l521" href="#l521">521</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l522" href="#l522">522</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="kt">int</span><span class="w"> </span><span class="n">jsonrpc_response_send</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_response</span><span class="w"> </span><span class="o">*</span><span class="n">response</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">fd</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l523" href="#l523">523</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l524" href="#l524">524</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">libjson_send</span><span class="p">(</span><span class="n">response</span><span class="o">-></span><span class="n">impl</span><span class="p">,</span><span class="w"> </span><span class="n">fd</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l525" href="#l525">525</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l526" href="#l526">526</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l527" href="#l527">527</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="kt">int</span><span class="w"> </span><span class="n">jsonrpc_response_recv</span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">jsonrpc_response</span><span class="w"> </span><span class="o">**</span><span class="n">response</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">fd</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l528" href="#l528">528</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l529" href="#l529">529</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_object</span><span class="w"> </span><span class="o">*</span><span class="n">impl</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">libjson_recv</span><span class="p">(</span><span class="n">fd</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l530" href="#l530">530</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 9206 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">impl</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l531" href="#l531">531</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">log_err</span><span class="p">(</span><span class="s">"JSON-RPC: failed to receive response</span><span class="se">\n</span><span class="s">"</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l532" href="#l532">532</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l533" href="#l533">533</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="w"> </span><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l534" href="#l534">534</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l535" href="#l535">535</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">ret</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">jsonrpc_response_from_json</span><span class="p">(</span><span class="n">response</span><span class="p">,</span><span class="w"> </span><span class="n">impl</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l536" href="#l536">536</a></td>
<td class="linebranch">
<details class="linebranchDetails">
<summary class="linebranchSummary">1/2</summary>
<div class="linebranchContents">
<div class="notTakenBranch">✗ Branch 0 not taken.</div>
<div class="takenBranch">✓ Branch 1 taken 9206 times.</div>
</div>
</details>
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ret</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l537" href="#l537">537</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">free_impl</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l538" href="#l538">538</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l539" href="#l539">539</a></td>
<td class="linebranch">
</td>
<td class="linecount coveredLine">9206</td>
<td class="src coveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l540" href="#l540">540</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l541" href="#l541">541</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="nl">free_impl</span><span class="p">:</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l542" href="#l542">542</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="n">libjson_free</span><span class="p">(</span><span class="n">impl</span><span class="p">);</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l543" href="#l543">543</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l544" href="#l544">544</a></td>
<td class="linebranch">
</td>
<td class="linecount uncoveredLine">✗</td>
<td class="src uncoveredLine"><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ret</span><span class="p">;</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l545" href="#l545">545</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "><span class="p">}</span><span class="w"></span></td>
</tr>
<tr class="source-line">
<td class="lineno"><a id="l546" href="#l546">546</a></td>
<td class="linebranch">
</td>
<td class="linecount "></td>
<td class="src "></td>
</tr>
</table>
</div>
<hr/>
<footer>
Generated by: <a href="http://gcovr.com">GCOVR (Version 5.0)</a>
</footer>
</body>
</html>