From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id C6E1546138 for ; Thu, 7 Sep 2023 00:22:58 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EF22C68C77D; Thu, 7 Sep 2023 03:22:54 +0300 (EEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2066.outbound.protection.outlook.com [40.92.73.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 200C968C613 for ; Thu, 7 Sep 2023 03:22:48 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fpUNKQbaMgjcQbNzw+jeFDxNQeZkV5Ss+tavduaubXqysDRK3Z31W5VgO89Us0EEvzxUnqit3IDa+SP68eHJvzlSZWhlBBrs4ge4pJBJpwYMF2kLiscNLnfJi9G3vQDzzg8iZnXvHmiiZamK5BpX9UuCT7rKjitsmoXdIzVxEigWLEzH++pBNnjhT7P5YVJdJq/xJJxsN7y8AO/aOD+0T/2CzjU6CHXtE9MXxyZkzFIwvtgvVw64y4Eq6SdKL3bLZWJyp6bPLd5uYppQrIii5RsHbjBb6DDHZy8Xd7HbfRUGdyvkJPZ85ybCu4fMfpS/kbNXP2mL9TtlH/PW+lcM6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=t03f7CfqK5fa43LsBJ7FNZQC0PpevENZifMUSKY8RA8=; b=ZYxCs7YDUWNsl866n12yqg9TLtb6CadlS7KkRpKfVK3SncABLl1TT9Z872yww4hCo4exnOHSmEs8/MZDXvMUqnUPz5CI3TRQ+vDuLIPxmwRLhHOyBJCjtqAsdCY5aJSDD2aiSQCecrPl2am9hdSQnLCnUyhXo76R5rTI+rB3vkFlnnhcDs4L/7HPij1aw07D2zgbKoYSD28mAwVVVFQznYl5wGfrYfqpntGc6hKdoGZupRWM2w/sD4uTcZhFQDH4sq735nJgYIHt0rXMfKMYQoGsdbb7PA1QT+WCZpWy5bWGTp8JVDMkTwSlGNega28gmD2r6V9X/d4B+7a92Et3vw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=t03f7CfqK5fa43LsBJ7FNZQC0PpevENZifMUSKY8RA8=; b=ouNihSDyCmBr/MVSNXGeVqbtaSjR/oRiQxYBXJhphDKStn8zouvQSikpShZCAtIM86qleW51LLoJ7t+ol8w6c2e70zEz48Y+P5fsjGVz5UIRxR5af+YBQP1M0/NPJYkZ9dM7Mz6aR9kHSWxvyJbgpSR7j/vMK5c0f2X2NqVXprHN0uhC3TUdKhCoM9LKGMLVAr70tmbtREFbuxZ9ROjfGAU+QFS1bA3QvFV7RFhDfnTg73lMS6VTHE1lml1UJPGtSdlV8gcYBo98hhYPy5lc21mgKukdfAjeEYMW9M6d4BI4X86Nwv8Q+PnxCyWbKNjthDW4OL/i8Z8SJCaRAhVAMQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0144.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:275::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.34; Thu, 7 Sep 2023 00:22:46 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa%3]) with mapi id 15.20.6745.034; Thu, 7 Sep 2023 00:22:46 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 7 Sep 2023 02:23:35 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [n3cMiw7FW1lGjnFsKSnTZvRLjbAp35yS] X-ClientProxiedBy: ZR0P278CA0185.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:44::18) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20230907002355.284292-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0144:EE_ X-MS-Office365-Filtering-Correlation-Id: ad885488-572e-44a3-69a7-08dbaf388f37 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3nOHAvUehR8PYY3ZCgGBPjX1Fs+LfgamJQDAZJgVXWXJrXGqjHWVPbkMJF0/Id+fZwPz7fwSKo6eiZL9YzE/Zvy489XR3lWv0Tl/ue3E1Pw4L8EOerQxc0SoBnqCKpZNMSF3farN4p7eCWAHIE1YT46deL65WxV6JGWgg5MUc24kPk5JwP+uDPhfyH+LLRcZ2dlvpmFzh0jQG2DfjUYueDfDAqjjsU5IQ0eoxqVuAzjrx2GWxv9KT8v7CJrTgsJwsCvCIQBngiZekNw5nbeF2UXsRYykb1Ii3n2hWxnBWwb5Qcuux3dxSSNYcU8mu5aH3sOYfvKtufPrMDKw3uTZuYDzi7mODwwu61Z/wAGZnX9X9fSSWUA7/R4JK26vCnUMH37psPrP/q0x1lWK1j/1oGeaMgG+hEB587p8atGI3e/k+t1vyMB834bzuctUuH7gkWbuzz4LspVTqjFeZQHgriuk2qEAudAh0j2E2y1HvBSkhSldpXrhzTCcAmvRnBgdR6eHT4TOdY5K2Gxfb9CPoF+KCf5hlfZFmQbe66AeWbBmt7q61NPkI6gwlKHP6sDd0K6gWpay0zSUEp2OsfvxG/56mKrJxRKXoTX0UHf14F8Lgz3e4Y4+mhUKcgSsdCVy X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?YWYUTplb8su3+TX/qMu751bttChy1bEmVryBmRXny7XIC0SX4fLpwUunUmF8?= =?us-ascii?Q?dcRX28iXmGhstDSIZPBsX0oMMEsMamX2h9jWoisv8uoAqtt5zQx1jEqOtbjs?= =?us-ascii?Q?FYq1Yx69ciFSaFRZ7HaO2gUAFJY0eBWWMU1lcvpCXOVkgsYvx4GbYxR4zAGl?= =?us-ascii?Q?Ga4jRQLJw08sE+Wd0dRquMbaj/+82pDpou52TMLKotqwP0+ZT0QLBK+h59qY?= =?us-ascii?Q?WkiR700hEW89RFLTbh0tgVs4EZtAmyzvYZpvtMfrbI5pV7a9yXhqbhgj+2SY?= =?us-ascii?Q?8uLUaJ5NwYgcraajj1Dhx+IQwhmLzNDFcoLPJYKMHZ4rcSY7o0pEFPzwKGpi?= =?us-ascii?Q?v35IqFaCO6pgcpA/OU4qW3cwSgG4Q/qLNqazssoK/xIiO4T1VOgASf8RiWgt?= =?us-ascii?Q?Inu7JbZwzsT8JP1lRvYargLZTJp/oYb3hqLLAodyJBu2JH9BnSgWTLXL5G70?= =?us-ascii?Q?6qsNWaOBD6vhLueDymwwZONohKWIHt2WYTT+QIdvxYJXSXssI6XoLSSOLGif?= =?us-ascii?Q?0J6jyGWIqAhqrq08RSCL478nr/jmUqTDqIuGZFNZpsC9gXG4KKiWE0MOhlOc?= =?us-ascii?Q?/cLkb/G0Q/aPgYXWd82QQU+Tk0Hkl6L6iqPz5z3Tqh8IQstUkVp29tgXNdrF?= =?us-ascii?Q?x7qLYe9LnuNskzU6vqXAoKc1fXkDjlfwZuctCmSTIY6yzckj4g9uIb5gcA7p?= =?us-ascii?Q?Hn8nDlmXS+1M1Pc4Bb39B1AYyCdLJN8Nrtr+xo+n2v/R0fhMhadZveC+8NQ1?= =?us-ascii?Q?ZQ13DScDqP6PqE6ldXTTo8pw/D13/IEPn2fWmzP9M4DGY14ELNCk84jKeLtn?= =?us-ascii?Q?F4YUHagesidtF2LJ3pmYtBUUorR28ZpeUPNdPCSESPqtC2NdmUbKVGr8VpOj?= =?us-ascii?Q?bgIMQaRzhk2YRD/XldCb29BggIcSiBd5aUre5KkwS7FLzkmg7orPloUgoKX4?= =?us-ascii?Q?s+q44zgRMPAXj9EAkjMn+akEyJc3yLAPacqDpVPNPPR9wjWyq17ZZvH/qtl0?= =?us-ascii?Q?YNKxxm14ejQ5/pdr/a2o7D/ympWwQ6avz3MhucW2Q21f5GHe4DJXXrfzr77o?= =?us-ascii?Q?XUTBmwXZpQm+6w369cELnkHh1DWq6YYgEuliT0uiL9V6zizyy/w4tztUruCx?= =?us-ascii?Q?g02fxZFjxTUq2FQy4or0XzQTQSpMPmzP7KEAXXk0Mp92Edekj7Nk9S2KKyVm?= =?us-ascii?Q?vr0AKvIHlc9JQp3V30IctrPvQQvebkKkQ47cpIhJZgRHixwqP5HiPPU9eoy3?= =?us-ascii?Q?1hPxQPeMp4NEaqgYhB21?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ad885488-572e-44a3-69a7-08dbaf388f37 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Sep 2023 00:22:46.1382 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2P250MB0144 Subject: [FFmpeg-devel] [PATCH 01/21] avformat/avio: Don't use incompatible function pointer type for call X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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: Andreas Rheinhardt Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: It is undefined behaviour even in cases where it works (it works because it is only a const uint8_t* vs. uint8_t* difference). Signed-off-by: Andreas Rheinhardt --- libavformat/avio.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/libavformat/avio.c b/libavformat/avio.c index ab1c19a58d..d53da5cb0c 100644 --- a/libavformat/avio.c +++ b/libavformat/avio.c @@ -354,10 +354,15 @@ fail: } static inline int retry_transfer_wrapper(URLContext *h, uint8_t *buf, + const uint8_t *cbuf, int size, int size_min, - int (*transfer_func)(URLContext *h, - uint8_t *buf, - int size)) + int (*read_func)(URLContext *h, + uint8_t *buf, + int size), + int (*write_func)(URLContext *h, + const uint8_t *buf, + int size), + int read) { int ret, len; int fast_retries = 5; @@ -367,7 +372,8 @@ static inline int retry_transfer_wrapper(URLContext *h, uint8_t *buf, while (len < size_min) { if (ff_check_interrupt(&h->interrupt_callback)) return AVERROR_EXIT; - ret = transfer_func(h, buf + len, size - len); + ret = read ? read_func (h, buf + len, size - len) + : write_func(h, cbuf + len, size - len); if (ret == AVERROR(EINTR)) continue; if (h->flags & AVIO_FLAG_NONBLOCK) @@ -402,14 +408,16 @@ int ffurl_read(URLContext *h, unsigned char *buf, int size) { if (!(h->flags & AVIO_FLAG_READ)) return AVERROR(EIO); - return retry_transfer_wrapper(h, buf, size, 1, h->prot->url_read); + return retry_transfer_wrapper(h, buf, NULL, size, 1, + h->prot->url_read, NULL, 1); } int ffurl_read_complete(URLContext *h, unsigned char *buf, int size) { if (!(h->flags & AVIO_FLAG_READ)) return AVERROR(EIO); - return retry_transfer_wrapper(h, buf, size, size, h->prot->url_read); + return retry_transfer_wrapper(h, buf, NULL, size, size, + h->prot->url_read, NULL, 1); } int ffurl_write(URLContext *h, const unsigned char *buf, int size) @@ -420,9 +428,8 @@ int ffurl_write(URLContext *h, const unsigned char *buf, int size) if (h->max_packet_size && size > h->max_packet_size) return AVERROR(EIO); - return retry_transfer_wrapper(h, (unsigned char *)buf, size, size, - (int (*)(struct URLContext *, uint8_t *, int)) - h->prot->url_write); + return retry_transfer_wrapper(h, NULL, buf, size, size, + NULL, h->prot->url_write, 0); } int64_t ffurl_seek(URLContext *h, int64_t pos, int whence) -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".