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 38E9241126 for ; Sun, 15 May 2022 22:15:05 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id F278C68B4EA; Mon, 16 May 2022 01:15:02 +0300 (EEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12olkn2057.outbound.protection.outlook.com [40.92.21.57]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 04E2A68B46A for ; Mon, 16 May 2022 01:14:57 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OzgeL5TS7ewa2qFW8dHN9MCv/PvsKjdZFKRJhNkLjIpKvh5kMNNPp6R9O5+zf0tDT0V8ET4WhrdCrU7Oie4bxxCFSs45KBCsztGz+YZimk28sqs1/5NgefCqDA35FwND8mjqtjNhl4lRLPvN77DSvNCvzMlPFHnVupNB5rhuEgo4gU4wsBUtpqIt0O1m7G6FKb27Oqmmq+rQbmgtfY1mPvlPhJeNhv7NBTK5Bywky3vrDu6eMTZ4QN2tMASzLNMNFW0Fm6/ZWUIx0cdJg6+vEs0rXX8fDSdFJOAsC1fSS9m16fgtqS4Vj9WaMVzGC/XWD4h0o253MwVsDKh31BydRw== 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=1tb3tP0aEGZEynDwAxUavMOcq226pF8gymv4Y9Ju7gU=; b=FjXIst9jSMw+QttD6yoaD9zJiJpYNhTEsfL/dhBeb3UGODAdHziau+g6beUGmOOnIX95jhRokRlWBDD9Zcs7EUlJ5yZ1nxkLS6aQpmd+WYMnikmwYKvknWR1zn5C2kde8jzanFq13/pVfMUWw2vEVed0v8AvzCgWS5QoR8NNbmb3L8DxKoFxP8QWOfM4ip7R+GSY1u47vPCim2OLkUyWF4ez5TUKdo+JEjLra9XWn9TXm8jFKwCyYLSUe3T7xWILYPcqdYQqEDL5sRRzE25xgPezQpW5n3JJbsPyOR8DrtAFbu+eETuwjygE/bisBjs64ED5+yxIFrQ4cRRGFdJo5w== 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=1tb3tP0aEGZEynDwAxUavMOcq226pF8gymv4Y9Ju7gU=; b=Q4590VUsvJ/PJL+KbgRAnvYOEbLpm5e7I3xd9ZbjB4df/D8WVzue7AU7TUf34ZVwQQvaM/7tMEuTW8QM5/rqmehljGF6ZqRpKb9KqWj3N+IfqSPqzfGHRsdg8Hl9YRXxGz9WJQY/yxIrkmkLRUihOS/mkpkgOJQRo+FviKMm+uM58sE7mz3gV2QaiIJnFtyxy9465iloqCwXUZZj0kMefWfnW9rT37XN2vv5/+i16Db4jG2sM0sqUkX6R0ss6lCEo8xnmIl2Oo1GKDJMTe58Z7ah5SgrM7W3ypB1ok0Qpc7VgM9pMpgXJQsKXiNs6UOOXHzOiRWjzywpmpfAHlMqjA== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by DM8P223MB0078.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:8::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5250.13; Sun, 15 May 2022 22:14:54 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::c536:493f:7cda:53dc]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::c536:493f:7cda:53dc%3]) with mapi id 15.20.5250.018; Sun, 15 May 2022 22:14:54 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH 2/2] avformat/os_support: Support long file names on Windows Thread-Index: AQHYZq9H9fqhBQwJ70OjQohCZzUl/a0gUkoAgAAvMSA= Date: Sun, 15 May 2022 22:14:54 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [eoBFXVr8Pd3eqaNU8UVQvzVhNogBzLJx] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 02c64e90-569b-4837-6fa0-08da36c056c1 x-ms-traffictypediagnostic: DM8P223MB0078:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: PYU5XmNN2Gz5ZTNNH8NzC43M5xMKw82/y8cqrZeOcisgJkljl66hyz2VFoZwsGItGJviGiFXNPwzm+rSr9F/oYX6bQDz33F8yjrMZEvHGqSyDykTL11xE/OdUHCKyL5KQYo+ofvZFXXGYZTu8aNsC/I0BDpiKbWB9rAEyBUHtUF/KeT7+YmahUB9ix0InNqpTr1HRDmK9Ye/mvcUW6ZdayYxZwPY4G7GcmKrAewbtPPUTZ4tPBduKXo+BMBPVsgFW5tM4UgmBS3z0+plzOUyV3ZuUPxU/B19pP1XWjeR/U5miSlULhsTOXWjcyvoZ6nSXBuZYZOE3hNJXGVEhHx7lZ0EGDEqSSR2nZqJMdmBUNbmN+HTdVKbTTJMKPe2HT8BmPkyWjQ57moGc+Hg8fVIR6dpEFp4Ab3u0KFG/vAp8vNAJ3t/ZHvtPCEbTJl11P66EP74Wy+r78uKASDqHPitr4AvDtACQvAXb8YSifvidQtWVSEI3aoykxwA9WT7gtAfF80We3Dvs2NjPxVmxl9AqAyHPUz6+WsLErRGU1sC8OMXio65IncXMRtu1kLiQcXNCq341cbFnPaSQA7bu3cVsA== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RFU5UFpDQjlvNXBWczllQnVNWUM0QUNTeUlzUDJ5VG0zVFBLZ25wUE14TVBh?= =?utf-8?B?TWJtTmZML0ZSU09uWUdyMzZGdDFxNE9SSEFTMTN5QWpmNXIraTUrQnVUVkRi?= =?utf-8?B?SUdsV0JoUE5BMms5WEJsQkhDWTVKWk10VFdiNWx4ckdwc3pTdzh3b1FBc2tS?= =?utf-8?B?WGhCdGJvSlJ6SXJVNHMzN2VkWDlPcXVDa29GS3U3M3BIZS9aTVRtZ3FtQVRV?= =?utf-8?B?dy8xMGRVNnI3RVlBanNUbnFwLy9kVWJDSFpoVHFRWkNENTd1c052T1drenZw?= =?utf-8?B?STlZcUc0MllaUC90bFUraldWZ0ltYjdSTnBFNTczOUF2OHkyWnBTeExTaW5n?= =?utf-8?B?V0dBaXFaejM3TUk4Wm5EVzZ5SzI2ZHh0S2V0a1lyRk9qOXloVGRoZmJPajNh?= =?utf-8?B?UVZnSnBHaG1HeThGU2UwQ0lBSCtOSXZRRXloSUpRN0dsai8vWDA3K3FtcUI4?= =?utf-8?B?cWZRc0ZGTjZmVEhuTzYyd05WN0xuT3lpcEhGUGRJV3pFcCtPMjZOYWNTUm5i?= =?utf-8?B?WjJoeVlXYkVJY2xORkpBd3k0ZUFJakZNdm1ZOFFYV2RDTFVybnNFWG1PNVMw?= =?utf-8?B?ZVhnTEhQNWJ6YldVNDRHakwrbGZoUG4zc3ViQkJtdVBrSE1RU2s4Z0FEbXFI?= =?utf-8?B?V2dJRklJR0VxUnYzTC9QYkZYd1FRaEtQTHpRRVJiUS80TDNjY29FdXl2WGF4?= =?utf-8?B?ZzgzUUtoRWJYN1JaZVdURklDU0dlVmJxbm5XSnExNHIzWmxUS0dYS1hLV3Fh?= =?utf-8?B?NzBad1NtdmtKbmZxS2g0c3haQlNsTEl5SXNmYjFTN0FKYU5vYWZXRE1VV1Zv?= =?utf-8?B?aTJFZEMyUzV0SGdpK3RTVHVuL20vZkNjSGljdjNST045RWI0QmtaNHl6K1BI?= =?utf-8?B?L1dmRGQ3eW5rcnRyKzdoeE0vTU1qMTFDY1NUL0lOTnlBdGgxZ3YvWnBJdVVO?= =?utf-8?B?UXdtOGxJbEV3ZVpRQ1kxdGxHa09LMjlEMUdZMG4xZVROR21FcW0wb3JvZGJ4?= =?utf-8?B?STg0cjNNZkdIalg5UU5QVHNjMG9BeExrNnl5WHZTQUtXcEpBREtUUkJvS2VF?= =?utf-8?B?Uyt5dkwyTTdWc1FHOHFXQ05tSmRLMkZybHZJYWQ4dk9kWXg1T1JJcklpR1dK?= =?utf-8?B?NGI2ZWpReW85OXYyZ0pFVmdCSFU0ZkNIa05mNTJrMTRSZ0swVXp1MTMrNHQ5?= =?utf-8?B?MVpLd2JCUFZYbitGS0M0SEE4bUMrTjVSVlM3ZXJhUUsydmVMUkxWRXlBaVhM?= =?utf-8?B?NXJibzZvVVdBSUZqWVhLSXl4cCtlWWoxQ2YzQzVPZEEraG1VaE9RWUFLVkh4?= =?utf-8?B?Z0xQeFJLOWNMcEk5bENGcDY5WE9pUXFSVTdaK20zWkZ2K3h2K3BWWHlnWVdu?= =?utf-8?B?Zmh0U2RaUUdZaWRBKzUvbjNWcFUxRGJBc1hkRXNXUzlLWWpzM1JjTlhCbTRF?= =?utf-8?B?ajJPOHlhSHlrTy9UVHhiSk5HLzdreUhtNHFLRWt3WG1Nek5hU1dKODU0bTg3?= =?utf-8?B?ZVVyREhLbFlHcDhmWDA0dUtlR2VaMTk2OFE4UDQ0Z2ZDNXp0bTRPSzJWS3ln?= =?utf-8?B?S0pMYVdETU5QWHhEd0J3dW9oUisyQ1piUk5KUzJBd1E0ZHZ5UkNTVitOejJZ?= =?utf-8?B?cEE2N0pCdEMzcGxuRGJRVFpQbmZHT2hFWDhPb0tzOFRjQVdiM2xFZ3pNaUtR?= =?utf-8?B?R2EyT1plMmp3bHlaMlJnWUxySUhxeFJRYXhLb29IYUhORkg1MTh5bFFucUd4?= =?utf-8?B?ZmFQUDhUSmM0b0lDcTJhcFBJanAzZ2duOUU0T1VqdVpXeEhQK0lKOG80WmRa?= =?utf-8?B?cWFLS1RyYUhsVnRCaC9aVWlEb1o1UVV6dVUvL01uSDJkNmQrUGVHMng0dDZI?= =?utf-8?B?OUhOcGthTER2UFVidFA5OTJZRjJ2SlB5aENXVVVNY0pwbnlIR2xMekNCTGpv?= =?utf-8?Q?yXbETm11VPU=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: 02c64e90-569b-4837-6fa0-08da36c056c1 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 May 2022 22:14:54.2859 (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: DM8P223MB0078 Subject: Re: [FFmpeg-devel] [PATCH 2/2] avformat/os_support: Support long file names on Windows 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@mailo.com > Sent: Sunday, May 15, 2022 9:13 PM > To: ffmpeg-devel@ffmpeg.org > Subject: Re: [FFmpeg-devel] [PATCH 2/2] avformat/os_support: Support > long file names on Windows > > > diff --git a/libavformat/os_support.h b/libavformat/os_support.h > > In addition to what you've already added, this file defines stat as: > > #ifdef _WIN32 > ... > # ifdef stat > # undef stat > # endif > # define stat _stati64 > ... > > which is > 1. not wide-char aware (_wstati64 does exist) > 2. not long path aware. That's a good point, even though plain stat is used in 2 cases only. We already have win32_stat, but what's a bit tricky is that the struct that this function takes as a parameter is named the same as the function itself. Now I have repeated the definition of 'struct stat' as 'struct win32_stat', but maybe someone can come up with a better way. Would you have any idea perhaps? > Also there is a function: > > static inline int is_dos_path(const char *path) > { > #if HAVE_DOS_PATHS > if (path[0] && path[1] == ':') > return 1; > #endif > return 0; > } > > Now, DOS paths C:... end up being \\?\C:.... Are you sure it won't > break something down the line? The prefixing of paths is always done right before calling any of the Windows APIs. Original strings are never modified like this. You can be sure, because all those operations are done on WCHAR strings only. You could ask the question only about the case where a user might supply a path that is prefixed already, but when we look at the only(!) usage of this function then it is about handling URL and checking URL paths and a path starting with \\?\ wouldn't be valid in a URL anyway. So I don't think that this is of any concern, but it was a good point to verify this. Thanks for the review! 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".