]> granicus.if.org Git - python/commitdiff
Issue #19986: Avoid an incorrect warning of older gcc versions.
authorStefan Krah <skrah@bytereef.org>
Sun, 15 Dec 2013 19:45:08 +0000 (20:45 +0100)
committerStefan Krah <skrah@bytereef.org>
Sun, 15 Dec 2013 19:45:08 +0000 (20:45 +0100)
Modules/_decimal/libmpdec/mpdecimal.c

index 05fd04dce6af3c8f6f079dbe8a536dd9482cb68d..21d222277c30cddffcc1ebca686fc991d035f83b 100644 (file)
@@ -4421,21 +4421,22 @@ mpd_qfma(mpd_t *result, const mpd_t *a, const mpd_t *b, const mpd_t *c,
          const mpd_context_t *ctx, uint32_t *status)
 {
     uint32_t workstatus = 0;
-    const mpd_t *cc = c;
+    mpd_t *cc = NULL;
 
     if (result == c) {
         if ((cc = mpd_qncopy(c)) == NULL) {
             mpd_seterror(result, MPD_Malloc_error, status);
             return;
         }
+        c = cc;
     }
 
     _mpd_qmul(result, a, b, ctx, &workstatus);
     if (!(workstatus&MPD_Invalid_operation)) {
-        mpd_qadd(result, result, cc, ctx, &workstatus);
+        mpd_qadd(result, result, c, ctx, &workstatus);
     }
 
-    if (cc != c) mpd_del((mpd_t *)cc);
+    if (cc) mpd_del(cc);
     *status |= workstatus;
 }