这是我想了解的程序的一小部分,但由于指针而无法理解。有人可以向我解释这段代码吗?
/* issue JSON-RPC request */
val = json_rpc_call(curl, srv.rpc_url, srv.rpc_userpass, s);
if (!val) {
fprintf(stderr, "submit_work json_rpc_call failed\n");
goto out;
}
*json_result = json_is_true(json_object_get(val, "result"));
rc = true;
sharelog(remote_host, auth_user,
srv.easy_target ? "Y" : *json_result ? "Y" : "N",
*json_result ? "Y" : "N", NULL, hexstr);
if (debugging > 1)
applog(LOG_INFO, "[%s] PROOF-OF-WORK submitted upstream. "
"Result: %s",
remote_host,
*json_result ? "TRUE" : "false");
json_decref(val);
if (*json_result)
applog(LOG_INFO, "PROOF-OF-WORK found");
/* if pool server mode, return success even if result==false */
if (srv.easy_target)
*json_result = true;
out:
return rc;
我担心的是这一部分:
/* if pool server mode, return success even if result==false */
if (srv.easy_target)
*json_result = true;
在我的情况srv.easy_target是真实的。然后,json_result也是如此,但是如果语句放在函数的末尾。我只是不明白json_result如何被使用。 或者,即使在执行上面的任何代码之前,指针是否会通过?
基本上,该指针放置在函数的末尾会有什么用处?
这是否“if语句”以任何方式上面的代码影响它? – dikidera 2011-05-23 22:20:27
@dikidera - 除非有一个循环,控制返回,否。在你的代码中,似乎没有循环,所以它不会影响它上面的代码。 – littleadv 2011-05-23 22:21:35