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 2C22642DA8 for ; Sat, 7 May 2022 17:57:32 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5A33C68B38C; Sat, 7 May 2022 20:57:31 +0300 (EEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11olkn2108.outbound.protection.outlook.com [40.92.20.108]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0D08968B1B8 for ; Sat, 7 May 2022 20:57:25 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RjeyLIhFDcOqJ7Barczl7dnSLDHCRq9o6NsRuDQtkpIsK1Z07Pwb1aYrYkgvtps/QvmALPTAcTgbX+C9wxvvczUDhzyXZ0owzSv3lNho7oEmRFEh0RXxG1KiO0TAl58Wd8zZdEFo5SzmrCBJ1QvU/KAT3yVptxnJm9Sh+mRtKJA3uBa4gq2jjmdiDYZgA6KN32zAyInKr+bUqYuJsMLLSr60/EisHt+kWGBKETGiSVhqi992Np1BDR54qnFM7Y5DOEqFxwvDHuJjFsbr3tPAd0qhBNDSEQHZRUfLVVq5QNp9ICLsD8zsrwQH8/3DITA7wd4874GPjpGGGzpCb6z9uA== 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=UZWe7TTVE77xuYKKTQCKv31o0xiOKMdS97X7B2bREFU=; b=cDNe4qNFXzqwGh6JsEilf6gh4GexLBTzoAtNDDKW2biUu3QhXbeMViL3yypRG1NpDOixbh58SjTQZ+OpHrblbDn4v8QfU3cg0dd4+dOIHDzMjmZrHNBjlmQLS5peEFGvfvZTXEetOdMqjTpO0p8S2Z3uK7kSra9jEe/OEdqSS2gR8oxOJXKKxPLNncU4B2a74KjUviOwo3inhjPleJCH59SvgT0HVTEGnL5d5CY+EMbhj2kcG/lYwCsRMxYlEHxkcxsymQ89x9mMg+ZaRBSAfA3fpiZhOR0aUpLWqgzqz40iej2zzHjn2BAHMtdGsO22VgkXtvYZqZFoLYfEKae7Ow== 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=UZWe7TTVE77xuYKKTQCKv31o0xiOKMdS97X7B2bREFU=; b=eOBNDMAAq9nKwLtwE1uToZhSRC8syBHUZw9X8Z04Mbfj42kz7Yt2zBKF/p7BFuoTwZM8R0inX8+qVGBFn9Qx6fJwdwxiMah5Z2mKI7jCuUgziiQr0bgZlGVYcIp276nqRrV6xrmiu1IV1HgUJmzz7h/S3QyZKmyYp8rvmkg9ayRNn5zbskrufCW6QqVoE6p7X5G+V++dxrXbVZVAIMRVfwAwHS6abdkxF/YUXG6UebZ+R2Uh4OU/5TwBZ1dPGqeUeVFrpEmGAe5N79iP4jdesZOyA5G7fIVBkTodmbHkc8iz46g98oe0YZGKVk8FiA87T4AYRjvKKE6tZM5Age0drg== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by CY5P223MB0442.NAMP223.PROD.OUTLOOK.COM (2603:10b6:930:2a::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5227.22; Sat, 7 May 2022 17:57:22 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::7472:6f83:eeb:45e3]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::7472:6f83:eeb:45e3%9]) with mapi id 15.20.5227.022; Sat, 7 May 2022 17:57:22 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH v11 1/6] libavutil/wchar_filename.h: Add whcartoutf8, wchartoansi and utf8toansi Thread-Index: AQHYV1SzKhRnUMGRlEK0fepNCLmRsa0TyB7g Date: Sat, 7 May 2022 17:57:22 +0000 Message-ID: References: <20220423205626.39039-1-nil-admirari@mailo.com> In-Reply-To: <20220423205626.39039-1-nil-admirari@mailo.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [yRcZM+brLXEIdds18ECSXT2tf87qLXQ2] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 215ad992-a9d5-46ed-15f6-08da30530947 x-ms-traffictypediagnostic: CY5P223MB0442:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 91D9b/mbQCUWmKLVv+XzFarZPhlpJYGwa5lL0xWXdogLEnJWq5jW4Cst2dqoL+O0zbDe6MDrDesUKGeqcIpl4z9982ZIJU6bQ0FuOW3yxkRrD3QXSlJvHrfk5QkuP7Invc88F6quUFr7aU3doEmX8Fkp0trB75kEkxLlJKWAQOwK2B4hgjVs+5HnDJGNk58yJXonSvyiR/omzFXscemo/hCfBlrvMIzbs7+xVn4SYNY7/f65h8820Eo/6JerKPU2oFfrHeL73VnnLMa3FmvaGe7lasRN9UDhSZ+K4awdC1vgutLl3HIXkToWaNuUpg0JNFzgT0gsmW2wn2xJwaCHzU+//3QUy3oI77uGzRoh7k4IY2ojn/YAFku0vFJdhwJ+QuY9AClTYCteVttX2R0W5dqLs0UN8k+sNw2fs3Wo5GcUobM4UZzgdZL+iVAaqFpMdbf8LkWYOc2ldeXPEarnPEYcu6FEt8hUBtONOIUg/O2WPYX3dFSYCm63DFhOYYLTPUxN72TX/xq/vwfrMcZxajkVeq9R0uMwRN50n8JP4i9syJN7qsp77vo0QavcxZxsPlKZr/TAIGBYbW0OrNM2Tjbn3aBi88N/Q5mERu1xd2fnbFutbiWG5LPgExOa9U260ptI+jEeMCenTeYnSvManA== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bHc4MGZiSkdqcVFaMHFIU0ExY09uVEU4SW9pYnZZR1Q0OTJMK1lvcXZ0Snl0?= =?utf-8?B?cGoxOVY0VHJod2tPSG4xeGdweXRUNHBEUUFmdnFPa1RMSW1Gb3lXWVN5bFhv?= =?utf-8?B?SndjOFc3QkwwaEwxWU9DRThmVU9sWUxyVTJNRVp3SVJ4eTMrcmZKaHVmLzB6?= =?utf-8?B?ODZ2VzVEWi9hd05QVUR4Y2ZWdnZYUHJpNng4N2UxL0hQWDNQRzR3UkR6d2lw?= =?utf-8?B?UFpFaHV3SmwrbW9RSU5Ham1WbU5XMzJTVzZ0Z0wyMkFoYmRYYTRMMFN4bk9K?= =?utf-8?B?T0hzdmt2Tk1qS2Q1bUlZRHdwRGVUTWxMZHhyMFh6UUdwczFQeTc0T1FVb3FI?= =?utf-8?B?NzdsVFR2Nkt3QzJNMkU3dXNuYlk2K1dTL0Z1d2NldlRZVkRrMTZCSzBxZ0Js?= =?utf-8?B?a0ZhdmNzM3krWkRpd1ZkTTF0ZEJnMUExN3hCK3JNZ2JSbENLeGI3bm14ZERI?= =?utf-8?B?Z3Y4RVUvRFlRTzVVUE5YVzArVTRuNWExR25uWjV1U0ZmTGlWQ0syRUlWbHQ5?= =?utf-8?B?dXQzem9RL3ZHbkhEd25mNjhnbG1kUWpDY1JYdWdJek9yNi9acHVzMGJTWFU4?= =?utf-8?B?TGoxSUpLa3ptWCtLbmFoYVVVdWtEbU1RNDdSZ1lob1pqRkdveFNBOC9Fb2wx?= =?utf-8?B?ZVNGSjh3Ymt6ZDZrdFg0VEs4dXlCWWsrNVBmanByeXdMYk1uVm9icmRZRklD?= =?utf-8?B?cC9kRitxdjJXSkwrT25oa2xzL2tNUUhJWjJtb3FHY3NxZHQzZnVScTR2Znp3?= =?utf-8?B?RmRxT21YOTVEb2JBa0xGRitPMDFaWk9oQkZaR3B6SXJBWGNYQncxejdvdW1j?= =?utf-8?B?QTdFNHNITjZFaGNuRittSkZ2VVEyM2dtQm1HMW5uTllMY1RrSk11U2JzQ2Z3?= =?utf-8?B?a1JGUzBvU0ZZdEYrZXdobzR2UGxSdE5tYWRyLzQwYjhJeG1YWThhbnZUeXVB?= =?utf-8?B?d2tPTTdyQkVpbEQxYkxibEF0SXJNakplN052d3cvT3FnM0VDZC9FUUxwR1Vl?= =?utf-8?B?MWp2cjc1Zlpxbkx2dWRGbUJ0bWtJazlWUU56a2Q2KzMvWkpHOTJXeE9QNkVq?= =?utf-8?B?OTA5QXhOc2g3VHBhQ1ZKY1pjV0MrQ045NzBwejFHQU1WdmgzVEVSQlRHcjBk?= =?utf-8?B?czJCVHNsY2dEdGhESEZJMGdSQVJDcW8zbXZzTHBucG5qYlVzRnRlVWhEK1J4?= =?utf-8?B?b3g2VDF1c0VraWZFTS8yM3FqZ2ZWQVJRYlB5eGZHemhnQ3VLYWlWQUJaY2hz?= =?utf-8?B?N3kzK3F1ZVRsbFFrWTBrZmlBY3JvZ0VvbXRBQUxSaXp0Y09aV2dPQ20raW5i?= =?utf-8?B?WFpNZG5UTUhwdGp3ODlyVlZNZkk3VHN1Skl3eUt5ZjB5SjVuRFYxOFluL2R0?= =?utf-8?B?czBoaFJmZW55NmZISXdqRzE4T3B4QUtlOHh3cllUdVYrVU1nL0MxQ0J5M1gx?= =?utf-8?B?MXNkZTRVKzRxRHgrMkg0b1NWelZFSzY1V2VQTlF2WUZjRHlQMnBYVWNLS1Rm?= =?utf-8?B?cTJERmRveGlTblRoazlaaVF5MWRacGcyeG9hd3FVNXpRRlNteVBxVlU0MFM4?= =?utf-8?B?SFdkZEIxTkh3Z0lEaHVFemFjUUx2Q0g4YWFwL0IrZE4vZExQeEhkVUZDRXhs?= =?utf-8?B?Z0dLY3hLUzk5Y1NRdnBFTFI2eEM0SzhZNzZPMkh3VEI5VjZxTm5mODdWdWVR?= =?utf-8?B?bTVZeEtZb3IzK2djRjJYT1FDa0lwRXFVbUlhc00zck5iSExQOE5YUmxCeVdr?= =?utf-8?B?YjNVVFp2TDBuamsyTVRLZEZKTUJRNEp4dGRBWGRoNVBBWlQ2L2xjYUdnaThZ?= =?utf-8?B?WkZNdURwK0lYZC9sY3lxVVZCc1pjVkJPdkFjVW0vSDBZQmdKZ3lQaWR3Yit4?= =?utf-8?B?cHFJZXhwbDZaNk1mS2pzbGFJT09TYkw5enFaU0Mrc3FwRG15bnB6Wm5rTVpY?= =?utf-8?Q?z5ijma01C00=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: 215ad992-a9d5-46ed-15f6-08da30530947 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 May 2022 17:57:22.1793 (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: CY5P223MB0442 Subject: Re: [FFmpeg-devel] [PATCH v11 1/6] libavutil/wchar_filename.h: Add whcartoutf8, wchartoansi and utf8toansi 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: Saturday, April 23, 2022 10:56 PM > To: ffmpeg-devel@ffmpeg.org > Subject: [FFmpeg-devel] [PATCH v11 1/6] libavutil/wchar_filename.h: > Add whcartoutf8, wchartoansi and utf8toansi > > These functions are going to be used in libavformat/avisynth.c > and fftools/cmdutils.c to remove MAX_PATH limit. > --- > libavutil/wchar_filename.h | 51 > ++++++++++++++++++++++++++++++++++++++ > 1 file changed, 51 insertions(+) > > diff --git a/libavutil/wchar_filename.h b/libavutil/wchar_filename.h > index 90f08245..c0e5d47e 100644 > --- a/libavutil/wchar_filename.h > +++ b/libavutil/wchar_filename.h > @@ -40,6 +40,57 @@ static inline int utf8towchar(const char > *filename_utf8, wchar_t **filename_w) > MultiByteToWideChar(CP_UTF8, 0, filename_utf8, -1, *filename_w, > num_chars); > return 0; > } > + > +av_warn_unused_result > +static inline int wchartocp(unsigned int code_page, const wchar_t > *filename_w, > + char **filename) > +{ > + DWORD flags = code_page == CP_UTF8 ? MB_ERR_INVALID_CHARS : 0; > + int num_chars = WideCharToMultiByte(code_page, flags, filename_w, > -1, > + NULL, 0, NULL, NULL); > + if (num_chars <= 0) { > + *filename = NULL; > + return 0; > + } > + *filename = av_calloc(num_chars, sizeof(char)); > + if (!*filename) { > + errno = ENOMEM; > + return -1; > + } > + WideCharToMultiByte(code_page, flags, filename_w, -1, > + *filename, num_chars, NULL, NULL); > + return 0; > +} > + > +av_warn_unused_result > +static inline int wchartoutf8(const wchar_t *filename_w, char > **filename) > +{ > + return wchartocp(CP_UTF8, filename_w, filename); > +} > + > +av_warn_unused_result > +static inline int wchartoansi(const wchar_t *filename_w, char > **filename) > +{ > + return wchartocp(CP_ACP, filename_w, filename); > +} > + > +av_warn_unused_result > +static inline int utf8toansi(const char *filename_utf8, char > **filename) > +{ > + wchar_t *filename_w = NULL; > + int ret = -1; > + if (utf8towchar(filename_utf8, &filename_w)) > + return -1; > + > + if (!filename_w) { > + *filename = NULL; > + return 0; > + } > + > + ret = wchartoansi(filename_w, filename); > + av_free(filename_w); > + return ret; > +} > #endif > > #endif /* AVUTIL_WCHAR_FILENAME_H */ > -- > 2.32.0 > LGTM now as it seems to be of use in several places. _______________________________________________ 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".