Remove an unnecessary NULL check, which is already checked other places
gfx [Sat, 5 Sep 2009 07:33:08 +0000 (16:33 +0900)]
Signed-off-by: Yves Orton <demerphq@gemini.(none)>

pp_hot.c

index a78f022..61d8b43 100644 (file)
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -2869,8 +2869,10 @@ try_autoload:
            PL_curcopdb = NULL;
        }
        /* Do we need to open block here? XXXX */
-       if (CvXSUB(cv)) /* XXX this is supposed to be true */
-           (void)(*CvXSUB(cv))(aTHX_ cv);
+
+       /* CvXSUB(cv) must not be NULL because newXS() refuses NULL xsub address */
+       assert(CvXSUB(cv));
+       CALL_FPTR(CvXSUB(cv))(aTHX_ cv);
 
        /* Enforce some sanity in scalar context. */
        if (gimme == G_SCALAR && ++markix != PL_stack_sp - PL_stack_base ) {