Fix bug in DynaLoader, which has been passing a filename in dynamic
[p5sagit/p5-mst-13.2.git] / pp_sort.c
index 6e03d0e..ab383c1 100644 (file)
--- a/pp_sort.c
+++ b/pp_sort.c
@@ -363,7 +363,7 @@ S_mergesortsv(pTHX_ gptr *base, size_t nmemb, SVCOMPARE_t cmp, U32 flags)
 
     if (nmemb <= 1) return;                    /* sorted trivially */
 
-    if (flags) {
+    if ((flags & SORTf_DESC) != 0) {
        savecmp = PL_sort_RealCmp;      /* Save current comparison routine, if any */
        PL_sort_RealCmp = cmp;  /* Put comparison routine where cmp_desc can find it */
        cmp = cmp_desc;
@@ -1523,7 +1523,7 @@ PP(pp_sort)
                    SV *tmpstr = sv_newmortal();
                    gv_efullname3(tmpstr, gv, NULL);
                    DIE(aTHX_ "Undefined sort subroutine \"%"SVf"\" called",
-                       tmpstr);
+                       (void*)tmpstr);
                }
                else {
                    DIE(aTHX_ "Undefined subroutine in sort");