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 05E1E4347D for ; Mon, 13 Jun 2022 16:39:26 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E433768B64F; Mon, 13 Jun 2022 19:39:24 +0300 (EEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10olkn2104.outbound.protection.outlook.com [40.92.40.104]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7428368B64E for ; Mon, 13 Jun 2022 19:39:18 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=grf/mUJmYl4yqjXKbp5jHxAV9ZmGcpVAINUNmtvK/4Khh1xpEGVLavOc9qgmU6hxGFG8M3D3LVnGtIIESHazTkhbsSFtpUJI+BkiYj8sMqOkcqDCpO/sU2wwp1kbfafrR2cdQ7/IygZldIXoIofekJlyIXiR57GW0d868A8qCmif7XyalF4mjZFAE4/l1uNLy7fWOu/2+orJQ5sIuxCMQLYuwa8XW8xIIfOUASugQeDE5W4mu9pj4yDoAse1q8VsLYFbmgA+AJI3ANTbApNS/hblQ9XsuuZp2kZDGZOPvk9LRe9B22itb5M5qP/Aj52XVPVai2klyUywKtidJwZxTA== 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=GAZ59U4/Ar1+qny6m/77Rs2fF1vGDHhvaixYxzQnlHk=; b=OyNLSSGlsyRE/pzoDxXagQ2mEwH26QyX18OBYHkHI7rPzsmzhT9NyBm5vQh7goG24NYO4YEe0AAKM7O2p9Aqu01htg/roV10xWycifPijNJcdgAnBXcApoaMFsqkVTvNpbrkKKjIhP6ZEvH/YfKdebLSkhuPnn5zGEkJZ7sptDuqS1IUJk/RZfAGW9OMupnYEt6z2ro55zzCgY3UkTwqZ1Oh7gx2JfcWP1jtmem4sUXk51OURNGebXUqjdYA1P9gGIcL/jiwQIjpsZKgJeRJzZm4q5u1aJYjh5j++T0gixp8ssYmbEnNPcveZ3qyIX7UcAej9bduIwvp4coeSGNssQ== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GAZ59U4/Ar1+qny6m/77Rs2fF1vGDHhvaixYxzQnlHk=; b=cxJ9SCsRKAObsdOCaG3/0/Dl6Wq4HLE3wB8ZJtI4im+nJvk3DYQPNBTgfuARlQOPTacL2IY+PDAT9RjQ5O6UpcugyHKe+D/yLBuAMBA6JK4FUMwOW2ozo23RHIdBu0DuOgmZvuyO7Zk+Bqkc7QRO8IbSu4emtyXdBUPvTQTgkRQA7G2Cj3+2zW0I5NjfQLhpS6JXwd6fYiAiYlarAu1wIWiVmRX67BRCLqqQcyUM2ibh/nZeRU/62FDIW6JVOh2nLO/t3XwmIcXGGQekV1UwYXOM4fnV/hnHJVppsJSUu354KI8vWffx7sbaqsc5XcMiHkjIWuDO44gGPksX44Bpeg== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by CY5P223MB0443.NAMP223.PROD.OUTLOOK.COM (2603:10b6:930:29::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.20; Mon, 13 Jun 2022 16:39:16 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::f144:21f9:cdb1:5c8a]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::f144:21f9:cdb1:5c8a%9]) with mapi id 15.20.5332.021; Mon, 13 Jun 2022 16:39:16 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH v14 2/5] compat/w32dlfcn.h: Remove MAX_PATH limit and replace LoadLibraryExA with LoadLibraryExW Thread-Index: AQHYf0Jr6qpkXsE9T0+yfFq1DsaMA61NiPYA Date: Mon, 13 Jun 2022 16:39:16 +0000 Message-ID: References: <20220613162626.11541-1-nil-admirari@mailo.com> <20220613162626.11541-2-nil-admirari@mailo.com> In-Reply-To: <20220613162626.11541-2-nil-admirari@mailo.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [F715cQcy2uDWKBO3u7QRER/hej9iWqPE] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c83f361c-940d-4d23-5fbf-08da4d5b4182 x-ms-traffictypediagnostic: CY5P223MB0443:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RIjTfj6Q/jsJ/gv7dwaoGU6fgimWgi6LQ9TR6mmzTNGq7hl0d+dli0QuuT3xyu0gKj471bYfoYjLztYQGbsQOO2u3Z3l7rV/d+7dQty3pb9+SHIFoHbe6DHnalpWpK79Mt0xYA1vm1WwafZG55l8Z+yv1NLFM2cYUvaEEHz69cWQPsNwwrIY3pxcuDh4kTSNTfML3QxjH9Gna/1KKrqutBy2yiJPITLrgNDgEYzkd3PrP29yEd7m+OfOhm0alSR8hxs08TktI6DoNzmCZBxbbVBPagCOThvgO+b8CMYTwFLzQLnionelnnw7/PTBiR59r3y9n8R4RiXub3DPZoSo17GV+gCySp20ba8c/OudAOexbJRia0ihZD+340SdqjjuNc05U6TUwmxVZnn/OFQoyoe3VoTYYTnp9KFEItgcY2MkwhW+LTAkFO8OXQZ1FardLh6Fj5tb0QTlHvUb6JtHLWA9GVwfbG2vo0SBWS5fr+CIqcThoYzikKoApHhCk8Sgya5BqwdPhP5zw6jaaM7cb/fe039aR6ixUjajRYXCntjTyVH83+3swNA+ZdrQxWhaKkQgfuMr/4lFMXrKWzSRDw== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MHUyeUwwUW5rNmxESnZMVDdETDRpUEt4ZDhaV2tBZDJMTXRZc2RDbUtZUm9n?= =?utf-8?B?ZzYxSlZ1MG1Dd2dyOS9hSGE3VWR4NVZNNDJjOTE4Nk1uOFhpcHlFdjJGa1pR?= =?utf-8?B?WDJ6andLNjkrYSsxYnZiV2xad1lTN1VRME9DR2QrV3BHMjV1dHI2bkY4ZFBG?= =?utf-8?B?Q2ZXbW9oU0IvM25uWTU4dzJDYWZrTnRrdHgrU0FDUWJGSHZsaitFckNtcU5F?= =?utf-8?B?eEVIdDErUXMvU2lqd25McEU2akdKZmduTzFIOU90clBzQVkzYnRYQ1ZuaXFY?= =?utf-8?B?T0wrSFo3YS9zYzcraHJRRGYwWk5ldnVkb2JCUm9QK1ZrYTNRUmlPWlR6U0sx?= =?utf-8?B?SnhyS25Jai9lSXVJcDRZWno0bTg5N2JDT1k4RUcwU084WEN0cjRWSDdRZ2Qx?= =?utf-8?B?MEt4LzA4QnRUK2huUEtlcGJqZDdWcEc4VEx5Nis4akE0d1Q3TnBTa2VxRVFI?= =?utf-8?B?WjVUWmg5NitscUx3WEZsajEvSkNXZTlCaFRtNGpOOFlIeHVqSDZ1alRyMHNX?= =?utf-8?B?WDJ3c0JoU2c0N01VdEdFR0Y2ZGx3Vkt1VHFGZHNiZFFUVHFGTDA4cGI3bmdR?= =?utf-8?B?STI2dXgxYzhla0ppa1E0Y3d0RVBOcCtyRTVrdk9MWG9HOGF2M3owVkRwcFo1?= =?utf-8?B?TXdsRHREWkZFVU90ZG15cHdxMlR1MytvanRqaVlneXBQWDJrNnZtVWxPdCti?= =?utf-8?B?UDJpeFF0enFIREJrMXhkVXY2QXFTWXFma1VjNkFhcUN2YzlibGZkc3RLa2xZ?= =?utf-8?B?cEYxSlFBZUpoMUtoTDA2bERiSW5uNStrSlBKeXpNVlBrZzUwVW5QakNoMlF3?= =?utf-8?B?VUg4RHRjbzI0VEIxNWdLS2VOUkllU1dxdGRDbHdySlIzSFB2eVpIeVhtSlBV?= =?utf-8?B?MkZHTnFaeGlleTluSEZMRmhnSEZHZStISlNGM2htb2l6NDN0ME43WXhYQ2dH?= =?utf-8?B?V0VZWDdKOHFKMFVmalFPUFdua2I2cVdRYUhFZGl3eWlYVWd2ZHp1YXNzRCtY?= =?utf-8?B?M29YT0M3TmM0RnRVZEZ1ZWFod3hUejhMMDFZSUFMckN2MFdFR1hCd1pKQWZx?= =?utf-8?B?RTIxbjVSdVZzd1V6K0NzbnlnbzYwUGJyUS80VFprWmk2bWpUckZ4TjNBdXd5?= =?utf-8?B?V0d6VUc0T3A3YjB2ZDZlSDFjQkUrMjluS2o4NGhLUlA5eDk4SE8vY1R5bHpj?= =?utf-8?B?d0VOK1oxNUxDcUVNMmJPZExsaGJxZzYzRS91d2VkZ2JOL3JvSEkrUkVLVGx5?= =?utf-8?B?cXZUL3diMUtJUnRRZlFGaW5CVUk4djRNNGZKa1VWMnNybHI5Ykd6TnJnci9M?= =?utf-8?B?Sm9QRXFOQlRLeGJ0T3JBS25FamhhVm9WRGdiZTFCWGpsWXlDVWlSY2F3bWZG?= =?utf-8?B?TVJNZFhVS2FkanJqaWFDVmY1QllzUXg1eEt0NVhOb1Jhc0tkUnlmRStGOFRl?= =?utf-8?B?Z0hONm1mcHVWRlM1RDNibVBjcUEyM3RFZ1BLckppNmprTGd3amFFQjhiKzZx?= =?utf-8?B?c3BtUmFFQ2tCQ2VKSExPSG5hNDFueS9uYkVGQXRXWG90dXdxeUpmdW91d24v?= =?utf-8?B?ZExRTjU0TDdCYnI5NkttZzZxRjFqSm52d2tiK3lNOFV0UmtWWENWdW0vUEN1?= =?utf-8?B?a2s5azhKYnZRMjVVcDNrYlA4YkpLdGdIM0xaU0lsMzNEblgxRktZYjAvYkxm?= =?utf-8?B?TG5rTXBGQW5kL3lVZWh6WUVKWnlXZnRGWGNKNGM0VWt1SUliMmkvQVJjT3JF?= =?utf-8?B?cFhxK2tXV0NpaE04Z21kNk5QS2lyMVBlQURKaEIvMElBd0NSeDl5clJXSnh5?= =?utf-8?B?MUYxZEZoNEFRT0hRcmthdWRKeEtKaUljQm9welNvbGtNVG9PMm5PN1c0Mjg1?= =?utf-8?B?TC9hQVh3V2tUZFlzMnJZRUllNng2OEdicWNIU0poMkZaQnBuZ2gvSC84UnBN?= =?utf-8?Q?qHydkUoJCrI=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-1ff67.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: c83f361c-940d-4d23-5fbf-08da4d5b4182 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jun 2022 16:39:16.2303 (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: CY5P223MB0443 Subject: Re: [FFmpeg-devel] [PATCH v14 2/5] compat/w32dlfcn.h: Remove MAX_PATH limit and replace LoadLibraryExA with LoadLibraryExW 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 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: > -----Original Message----- > From: ffmpeg-devel On Behalf Of Nil > Admirari > Sent: Monday, June 13, 2022 6:26 PM > To: ffmpeg-devel@ffmpeg.org > Subject: [FFmpeg-devel] [PATCH v14 2/5] compat/w32dlfcn.h: Remove > MAX_PATH limit and replace LoadLibraryExA with LoadLibraryExW > > --- > compat/w32dlfcn.h | 80 ++++++++++++++++++++++++++++++++++------- > -- > libavcodec/mf_utils.h | 1 + > 2 files changed, 65 insertions(+), 16 deletions(-) > > diff --git a/compat/w32dlfcn.h b/compat/w32dlfcn.h > index 52a94efafb..e49d3841aa 100644 > --- a/compat/w32dlfcn.h > +++ b/compat/w32dlfcn.h > @@ -22,9 +22,31 @@ > #ifdef _WIN32 > #include > #include "config.h" > -#if (_WIN32_WINNT < 0x0602) || HAVE_WINRT > #include "libavutil/wchar_filename.h" > -#endif > + > +static inline wchar_t *get_module_filename(HMODULE module) > +{ > + wchar_t *path = NULL, *new_path; > + DWORD path_size = 0, path_len; > + > + do { > + path_size = path_size ? 2 * path_size : MAX_PATH; > + new_path = av_realloc_array(path, path_size, sizeof *path); > + if (!new_path) { > + av_free(path); > + return NULL; > + } > + path = new_path; > + path_len = GetModuleFileNameW(module, path, path_size); > + } while (path_len && path_size <= 32768 && path_size <= > path_len); Why do you use a 'do' loop? Can't you use the normal 2-step approach, i.e. call the winapi function with a NULL buffer, and then use the returned size to allocate the buffer. This way you always need a single allocation only. softworkz _______________________________________________ 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".