From patchwork Tue Jun 2 15:26:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 20127 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a25:bac9:0:0:0:0:0 with SMTP id a9csp3784610ybk; Tue, 2 Jun 2020 08:32:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJznDMiy5tdTb8HP+WFaOzoNT/IkeYtxLvJ0M2NT7XcQntq9jqBdKWcNsihet9UCn3CS7W5R X-Received: by 2002:a1c:2943:: with SMTP id p64mr4505779wmp.42.1591111964519; Tue, 02 Jun 2020 08:32:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591111964; cv=none; d=google.com; s=arc-20160816; b=EPsyHgltJ6SHPgknClcJxSo9aISpDLsXaaQs/jXFhlpp3SrSfJjABuT5w2GyxhXI0H dvdxVB9dP/KqrDYkt6pSGxWG7vNC/5a4QlM01Jgg/jvWQBu4C98g44akP2VBolnSBiJ9 OEH58uuqHLle2oOvGCQ87Pg4t3Xwl4XVUysLQ6yqbsqMfgI2VDyMlZRfQw6T4qaEoHmz jGAPI+sB63nYSGj4e3NewiP50x6J1J6K9y/FEVcIgrb96RISy2SHn7p1WPSZfmIbEV4i htCDJJw/tX5O5ryEUcQtVDCFHoUi2W0EBR93iYAJELkgTqAfagnCi+aV0kffFuNwFU3P Y60A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to; bh=dqTfBm9OsRcOkl2oPQVlyEdmKMw+SZ6uwKKAlQMoU0w=; b=fSJ+IjnndrGFOcMqmEvAv50dQ188nWeq6Gt2Y2tet/RlJfy+6YOgzy+3q7p4bIx7vw J6OKf60JbSAWP//GiQvUaWwJu6hDxy+1Wcni5YDGe8SJwmGJp8qhlPMf6XrqcSxinSNN mjVmMW0yJPHhF+VuIYb4u3ge/RK4FX+yNKU08dMgEcfnxzaulzdzX1MppbPWaabaGpQw aEZz97pU+wHHauX7tRI4p5N1HG3nHoYFnFMFRecQiB/NYF1Suj4CnRwaQIN6a7ET0Z/b 3ElDSlSgARG8xQ2/VHltPtvCADjkW+rgqBr2jBn71PRM1TqgV4IrDJv0DVU/inLbWVKC 2AsA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=PyEotVdp; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a15si2772140wra.248.2020.06.02.08.32.44; Tue, 02 Jun 2020 08:32:44 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=PyEotVdp; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D150468B40E; Tue, 2 Jun 2020 18:29:10 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6390768B3E7 for ; Tue, 2 Jun 2020 18:29:09 +0300 (EEST) Received: by mail-pf1-f169.google.com with SMTP id x207so3315605pfc.5 for ; Tue, 02 Jun 2020 08:29:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=OtHO1jZwI7DwfdT0BWuT8ZsZczyCPzXSK8QsyqKptzo=; b=PyEotVdpu692Xslmy8ptrd9yoiMryncy/KEt6Xqrlf8K8WEHOBlYOoJS3fkLaPO5BN ws5uiCr4nmX9/rJrgfTjiu9PhNW7KYAtJ6IgvW+acF/bDDQy0aElJtT+78gF0t7Gozas op55JTmhvWK5Ggz2bU9frLLucEMkruwoadZNjbK3yX8ypNRLR7mHpEvEc8ldrGZfeN5s RdwoprQDkKVKP9FgIDGbD6bCPlMB+uL9r4Ccxw+RdCPbKZzo/h9t8TA0fg6KwDtRDVnl uULXcg6qSvBfVGxhFA8u20VI+mKX4gtznTxDey/VEpgu74OjyZyD7kzPBlL+wWLGtnjY ApKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=OtHO1jZwI7DwfdT0BWuT8ZsZczyCPzXSK8QsyqKptzo=; b=bFQaEe6z99fxq2SuI2TLPRaQ0vpl29IgNWtHyBeXbvPikSn2ffstVQgVhSAc13dvac oyMEFfxrbLODV3m1Z0FI9eWYiy1x7RM7BO1LngtDJyPtpi4jYRiqayWeYmWVPMyyvLGY vdgjtFsGQ1B93ToDq+tkDmYaak9rN2EtfP/249BZG2kjfPKf44H6JwgzMrOwmzhv5WhN xTyjNoWibLmycXApAkS+SQPe/WbWJnKHCxS2pCOpnbyZ7yQsBhOgHSzf7gF6FdjY7Pkn 0c4SwGNRKnAuEmhaKLtMky6HaYuXAUJPZ7G/lFX/fLa11Sl3CnLk30yyAQXvLJKMxghh E0OA== X-Gm-Message-State: AOAM532cy6m6jqpFbGFmcGrRP7By0dcgWM1dfhErt+zcITBdL9Jn3NE0 jzzR16uPsHjgRFTY74T3vPWxQbrd X-Received: by 2002:aa7:8084:: with SMTP id v4mr26693666pff.211.1591111747344; Tue, 02 Jun 2020 08:29:07 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id j7sm2626736pfh.154.2020.06.02.08.29.06 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jun 2020 08:29:06 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 2 Jun 2020 23:26:58 +0800 Message-Id: <1591111618-15778-24-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> References: <1590674250-32571-1-git-send-email-lance.lmwang@gmail.com> <1591111618-15778-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 24/24] avutil/internal: remove FF_ALLOCx{_ARRAY}_OR_GOTO macros X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 40Nwhu5Wu2hV Content-Length: 2939 From: Limin Wang Nicolas George comments for the macros: These functions have a terrible design, let us fix them before extending them. First design mistake: no error code. A helper function for testing memory allocation failure where AVERROR(ENOMEM) does not appear is absurd. Second design mistake: printing a message. Return the error code, let the caller print the error message. Third design mistake: hard-coded use of goto. http://ffmpeg.org/pipermail/ffmpeg-devel/2020-May/262544.html Signed-off-by: Limin Wang --- libavutil/internal.h | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/libavutil/internal.h b/libavutil/internal.h index 00f1a57..b87cc6d 100644 --- a/libavutil/internal.h +++ b/libavutil/internal.h @@ -140,42 +140,6 @@ #define FF_ALLOC_TYPED_ARRAY(p, nelem) (p = av_malloc_array(nelem, sizeof(*p))) #define FF_ALLOCZ_TYPED_ARRAY(p, nelem) (p = av_mallocz_array(nelem, sizeof(*p))) -#define FF_ALLOC_OR_GOTO(ctx, p, size, label)\ -{\ - p = av_malloc(size);\ - if (!(p) && (size) != 0) {\ - av_log(ctx, AV_LOG_ERROR, "Cannot allocate memory.\n");\ - goto label;\ - }\ -} - -#define FF_ALLOCZ_OR_GOTO(ctx, p, size, label)\ -{\ - p = av_mallocz(size);\ - if (!(p) && (size) != 0) {\ - av_log(ctx, AV_LOG_ERROR, "Cannot allocate memory.\n");\ - goto label;\ - }\ -} - -#define FF_ALLOC_ARRAY_OR_GOTO(ctx, p, nelem, elsize, label)\ -{\ - p = av_malloc_array(nelem, elsize);\ - if (!p) {\ - av_log(ctx, AV_LOG_ERROR, "Cannot allocate memory.\n");\ - goto label;\ - }\ -} - -#define FF_ALLOCZ_ARRAY_OR_GOTO(ctx, p, nelem, elsize, label)\ -{\ - p = av_mallocz_array(nelem, elsize);\ - if (!p) {\ - av_log(ctx, AV_LOG_ERROR, "Cannot allocate memory.\n");\ - goto label;\ - }\ -} - #include "libm.h" /**