[PHP-doc 1025] Re: apc_clear_cache関数の返り値の間違い

Yasuo Ohgaki yohgaki @ ohgaki.net
2013年 10月 29日 (火) 11:42:59 JST


大垣です。

gitで見てみました。

PHP_FUNCTION(apc_clear_cache)
{
    char *cache_type;
    int ct_len = 0;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &cache_type,
&ct_len) == FAILURE) {
        return;
    }

    if(ct_len) {
        if(!strcasecmp(cache_type, "user")) {
            apc_cache_clear(apc_user_cache TSRMLS_CC);
            RETURN_TRUE;
        }
    }
    apc_cache_clear(apc_cache TSRMLS_CC);
    RETURN_TRUE;
}

必ずTRUEを返していますね。
英語版のマニュアルには「常にTRUEを返す」に修正しておきました。

ありがとうございました。


--
Yasuo Ohgaki
yohgaki @ ohgaki.net


2013/10/28 Yoshio Hanawa <y @ hnw.jp>

> 塙です。
>
> apc_clear_cache関数の返り値についての記述が
> 英語版から間違っているようです。
>
> http://php.net/manual/en/function.apc-clear-cache.php>
> > Returns TRUE on success or FALSE on failure.
>
> と書いてあるのですが、APCのソースコードを見たところ、
> APC 3.1.3からAPC 3.1.13まで必ずTRUEを返すように思います。
>
> APC 3.1.2以前であればユーザーキャッシュクリアのときは必ずtrue、
> コードキャッシュクリアではnullを返すと考えていますが、
> 動作確認はしていません。
>
> 紛らわしいのでvoid型ということにしてしまうなり、
> 常にTRUEを返すという説明に変更するなりすべきかと思います。
>
> 本家の方に投げるべき話題のような気もしますが、
> 英語的にも手段的にもどうしたものかわからなかったので、
> まずはこちらに投稿してみました。
>
> よろしくお願いします。
>
> _______________________________________________
> PHP-doc mailing list
> PHP-doc @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-doc
>
>

-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.php.gr.jp/pipermail/php-doc/attachments/20131029/3a0e0dca/attachment.html>


PHP-doc メーリングリストの案内