From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 54570 invoked by alias); 7 Mar 2018 20:37:59 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 54559 invoked by uid 89); 7 Mar 2018 20:37:58 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.4 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: sesbmg23.ericsson.net Received: from sesbmg23.ericsson.net (HELO sesbmg23.ericsson.net) (193.180.251.37) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 07 Mar 2018 20:37:56 +0000 Received: from ESESSHC006.ericsson.se (Unknown_Domain [153.88.183.36]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 43.91.11615.1AD40AA5; Wed, 7 Mar 2018 21:37:53 +0100 (CET) Received: from ESESSMB501.ericsson.se (153.88.183.162) by ESESSHC006.ericsson.se (153.88.183.36) with Microsoft SMTP Server (TLS) id 14.3.352.0; Wed, 7 Mar 2018 21:37:53 +0100 Received: from ESESBMB501.ericsson.se (153.88.183.168) by ESESSMB501.ericsson.se (153.88.183.162) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.26; Wed, 7 Mar 2018 21:37:52 +0100 Received: from NAM03-CO1-obe.outbound.protection.outlook.com (153.88.183.157) by ESESBMB501.ericsson.se (153.88.183.168) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.26 via Frontend Transport; Wed, 7 Mar 2018 21:37:53 +0100 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from [100.94.32.218] (192.176.1.90) by MW2PR1501MB2009.namprd15.prod.outlook.com (2603:10b6:302:b::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.548.15; Wed, 7 Mar 2018 20:37:48 +0000 Subject: Re: [RFA v3] Return gdb::optional from target_fileio_readlink To: Tom Tromey , References: <20180221213741.19409-1-tom@tromey.com> From: Simon Marchi Message-ID: Date: Wed, 07 Mar 2018 20:37:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <20180221213741.19409-1-tom@tromey.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: HE1P189CA0017.EURP189.PROD.OUTLOOK.COM (2603:10a6:7:53::30) To MW2PR1501MB2009.namprd15.prod.outlook.com (2603:10b6:302:b::33) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1d5d2bb2-5d0e-4a14-a786-08d5846b4b58 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);SRVR:MW2PR1501MB2009; X-Microsoft-Exchange-Diagnostics: 1;MW2PR1501MB2009;3:PtQRr7BOJTIugmqptDz1anyzG/5xuJFTdD65llFnTwm5I/W023htW1idZC18UFxC6f4PFfZ2OSzSUbfANdtlJ/Q8z+qAOHTy4xEjL2bjKenaLVbzjHLmA+sOpKWz7DqA9J1PeJY6WZTuNIkDolC9pTKFpicuDvfTkg7ygCA2dyiZRqMGgSg4/tFtK2ON6GkLFDO/dN2uaHt343tkb08xMs/3kmY6Akler9cfTvAf4dgskAGKLp3Srp3M7r6sNcIA;25:ykx2Y1ZzwVK1kZYZ6ScXq2aekvvFqNRWK/QObj/MsHfv/V5Msd8pcCtF+pqRvaFyyPTiMJQy04r0gadhyoqRrJAbojj1eAacIMNlTZPz+WPdhz+rkQIKadK+P/TrmvMVJvNjeEAW+RMFlnNUAcSQZBwur3ysXGirdSGIcMOnKlQ4Nx7KKkAxgie/6DDS9ZX55QmRHGtDqPPgyZ1OjFGvGBfXxjuR5VnNtb0F9BCdUV7/6cTsBOXRbF+06NrastKs6pKm4MYs7peNU33ItrhUerC55cU+FXmWa39rnLkgRDhb+pivq2ya7cK13+oWeZNp3wpRuxz+NNqOR3aa7Cy58g==;31:Hr2A1lHcA1XlPhLh1GpO3poMmA1KxocUS1C6jyd+cBl+q/9rR1LqOwZ0LJ2UtrEx5eJ9KwMb0SD61gK+R/oqh+qrcMaRFhSMqkL6PZPm/P7V9SHmL7c1NCKKcUoLhtGXncRXOZapXwSxheMglca1UIYw2s8cGNJqMhzQLx1TyRPzFWi6wMgmgHzET0vm6vh38VsMtVFbkR3hXOq5wdVfBAsZ5kqvPhfFmjzjb7T5EcI= X-MS-TrafficTypeDiagnostic: MW2PR1501MB2009: X-Microsoft-Exchange-Diagnostics: 1;MW2PR1501MB2009;20:WVfTxBdQeaXPxVlrwiHbWxCnjvsWFsZpaA99SfZkWVtC6eaRi7SNkVtv7dsnu+mIfVTqdRR6BkeJVLnxXmWFBnAT1+J8s/ZtHi6Zc++O7PFYzC+BIb7JwaJz1gDx87KfwKwqN2OxlvxHjIw67AqHqNe2oi7BLNpEKbjJI9Bh9pxaEncIB+oiMuPYYccKx/0NiH0kgjsblYAysnOcvKFf5rtk4g17D7HKkuV0fBAGukDzgCMgu01PRLbIqo0y40Pd/6HZzhU5cvPIPRh7CNLE5nVYQaK8gZRZqrAuWze0UNxBxpQEpBlaG6QPnoS+6ueXqMsQHDJNjBM6ck574uIfr5Sq4AalCHdcvxL1DEFJ/tLMtJejnUquJFBQzvFt5XGfQj+M4uF27M+FEoyWRUzo/HXp1+iefllU6ooKehyVHDQLt4HtijT8nOuesxXI7gYXROfdZpo/2NfuSpLrf5uRvhr11e0fNLz0rK94hl482mGsdP+126cxzTkkYp7ygPIX;4:QqeYIslcyps22v/U4nm+ZtpJzTnbaSvOJiNfSD63syUmwKKUg/dZ0B7/MxNhwNZk1vzo2UE14WrEslbFazv35HrZkXyie1YW0re+RqkVTsAF89BLTIpwln36vCSIl/GMb/AuwPf1DDj2yz//PZlGl18x4hmI3HcVAwZbkq2m0LxIzO8d9mYMSpqmJojLXcc0ZQvFZG+emH0lN4OtHuaV4KJNWmJIwRAOhdXmkc6UVLi4uQzHluhdu84ZTfiE/MHx1/EczoiqQ0IFn6BqCDJzrA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(8211001083)(6040501)(2401047)(5005006)(8121501046)(10201501046)(3231220)(944501244)(52105095)(93006095)(93001095)(3002001)(6041288)(20161123558120)(20161123560045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(6072148)(201708071742011);SRVR:MW2PR1501MB2009;BCL:0;PCL:0;RULEID:;SRVR:MW2PR1501MB2009; X-Forefront-PRVS: 0604AFA86B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(39860400002)(39380400002)(376002)(346002)(366004)(396003)(199004)(189003)(377424004)(229853002)(8676002)(8936002)(386003)(81156014)(31686004)(53936002)(53546011)(2906002)(81166006)(7736002)(16526019)(305945005)(26005)(186003)(106356001)(49976009)(59450400001)(36756003)(68736007)(31696002)(6246003)(5890100001)(6116002)(97736004)(3846002)(5660300001)(25786009)(230700001)(58126008)(105586002)(2950100002)(76176011)(2486003)(86362001)(52116002)(65826007)(6666003)(52146003)(6486002)(23676004)(65956001)(50466002)(47776003)(66066001)(16576012)(316002)(64126003)(65806001)(478600001)(78286006);DIR:OUT;SFP:1101;SCL:1;SRVR:MW2PR1501MB2009;H:[100.94.32.218];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNVzJQUjE1MDFNQjIwMDk7MjM6Vm5rcmVURGpmbGsvdzFpTVM0ZXBqZGdR?= =?utf-8?B?Uk4yQnZFU2grUjBHNlZLeDVieWpabnk4U2tFaXFMUlQ0TGdxNUJNaUZueXFt?= =?utf-8?B?dSt0SmE2VmhxVHVZUExSQUJTcWdUa2czTzBNVVN3RzdsbjJoNjFvRTdOUm10?= =?utf-8?B?UVRvTEdSai9DQzJlMlFMOFdsb3EwQ0IvUWNyMmtVKy9DWFdFRGJISENhd3R4?= =?utf-8?B?dGdrUVBxSXgvRk1hSlVvMlZIWnZ2VHdMYjZjSDlTaFdBSlhPSXNzN2VZMmp0?= =?utf-8?B?ZEZZRXNPQWdVSGg2YW56dXhrK2RldWIyaVZySWsrYW82RS9ibFlYQ3c3K2x2?= =?utf-8?B?eEg2bjRtbnY0RmJQWEJZUVZmeHZUeFRDc1QydktCMUpvMFpOWE8va3YxNTIx?= =?utf-8?B?OTVSNm9hbC9uWE5zZEVueHc5ZW9nYnl4UnhkM2dkNGluRHp2M252QTdOWnZV?= =?utf-8?B?T2MzRktxeXZacUNHQVZCY2FnNG5CRTEzcVYzMGZyakttRVNoUzRreDFwYmZZ?= =?utf-8?B?ejZJVjlwU2VxY1RwRUZpMUJFRVRHa01IanMyWmM1L3Y3OVRYQWJnRUxQNmJx?= =?utf-8?B?WFAxemNhOHpvM2NVMnNPQXphL3JBYmlIenJUS0kvSVZ6dzBQbTdiVG85cS9j?= =?utf-8?B?cGRuU1lIampKOHI1V2lFVXJ3NmV0cnpVTWFGNG9JSHBsalNKaUswU3RCUHZI?= =?utf-8?B?L0V6ZVh0VUo1MmJGUWZJdWJZV1FzaE9mRHRIT3dCVTNLQ00zZHNGdlFEVEJs?= =?utf-8?B?ZVdOZndDRHdVbWV3cGpVWFBrTEZHWlVqcXpGVDVXMEhWRUNhMW5LMHBQZW5L?= =?utf-8?B?MUJFbjAydC81cUJITlhxaVFacndPYzlZTGM2bzFJcG5EQi9Gd2ZTc2VJMmcw?= =?utf-8?B?RUR3K0dYU2h4SHFVOWJXSk5HOUdwNzY0L05xR29CR0NPeUZibldYSXMzZEVT?= =?utf-8?B?T005U1dxMWF0eDdYKytHV3c5QkVDRDVacy9MYmZDdkM2L1VpQ3Jlemk5UWVy?= =?utf-8?B?WVJhYW5DZXVMQTY5b3dKK0gzVVZwai8vanJiV25sbCt5WGJjV0M5aFl3RU1T?= =?utf-8?B?RmIraFh3b1NnMXBWem5nOHduTU14NUtOYXhQOXRNT1AxblhSZVhjNFJkOEdT?= =?utf-8?B?a1RIeFJrZkdDSGdrbUkycmZDS0VDNi9HQ1Q3ZmpuVUk3WGJhZDg5WWRYTmNh?= =?utf-8?B?enpYd0lwUzBKYkw3VlJCK3J6K01MYnR6czRFd25KVVpxQ0RGYU5hb0FZSGdG?= =?utf-8?B?WUFhbXJWOFNUa2lvSGYvTndoQ3BXUWE3b1JUU1lobllrUjdaQXFlRkQxQWdO?= =?utf-8?B?RW41TUxObFgxbGJycFlHUVhUWVRlUFhvN09LNGJjYW9jSkM2YlIwcEFocmVp?= =?utf-8?B?UHN3bEFSb1NXcTY3YVRWTDVPb2M2ZWRSdzBKa0NKVWNKZ3UrdStCdHpibXhy?= =?utf-8?B?SGJYMHJqZVhTWTFnMkFLMmN0QUxyMzFyVzlORGZPU1RhUHVOTUV2akhwUmdk?= =?utf-8?B?US9uVk5RdWIyMC9WeHZMRnZEditMdWZSSjBUS3MyWDUyb2FKSEVJWVJLdVg0?= =?utf-8?B?azF3c2dMNDFoem1wQ2N4aEJvSUhValVCTkRhQng1SFBBQ2xJRjJENlN0bFlr?= =?utf-8?B?OUZadGlnd2pVNnU1aW5VSFhrNHo4S0RiWlk4ZDdSQjd2QzNCdnJXbXFwL1JM?= =?utf-8?B?Q3M2dmJaeGt6NEtWTTBINlFodGkzbnlaczNkbXNGc093UWlzWGtqT0s4d1cz?= =?utf-8?B?YlNoYUVRVnN0ZGVoWEdKSVBnOG1CWmZFTG9uT3g1czZ0bnFRSHhsWFFzTnBB?= =?utf-8?B?Z1RnaXQyL3daSFFXNDJYSWZMR1Uwd1lSR2pYUkFrbi9KMHhFNGNVb3kvZ1Mx?= =?utf-8?Q?Gmo9dvXajKBlgOZZ4u2E4uVVgKLnJ/WK5g?= X-Microsoft-Antispam-Message-Info: xc9gneu2bGIjzadhcjOG17/hbfW/h1OuyNBu3wM1N5R6UpzircMZYRVcsFqsMfRGYwxXI/mVcuiBgx6+XoSVN7LqEC6GKBOLkdfplmyjbjvPRmhQ0fFsAxftHsSufH526UCGDToDENulnV6OYARiRNRhx5Bmt3K8JXls3BDoCWF2Lfjz5VJsDZebUYGsGhnT X-Microsoft-Exchange-Diagnostics: 1;MW2PR1501MB2009;6:pWOlu0n22sEFXKHdxrNldhzvvyqd3HbtuL/7hqoprqKDJUbW5SwFG82QiCbqPCChIUDTcD/hXEkPyttriuSynxRvMp92sKSbXi1ptEwcTcyxa9BmzR3Bpz/hkytezaRXucrgXC4CVevIu+03AmQpDJsQHiV5G1W5ysdTyt8MKY07F6AvxMHcvNxXASp8AxlrTUVQVUtY8FGD1igpKyc8iRoTWnL44yg84vT4prb1FY8pwrZyJJPOZmk0woFWw2ZSzEgI0Sp319ueX2yjwGSvE7S2hm0DExCQwXpcPX+2/gPhuT3zmBnpFdSwF6n8FKwMlxldS18NMMKaj2ezXII3z3j6HviD3LKQTveeiLkK/Fc=;5:1oWckpWvEIRBdO2tK8tw1qgxuvHqc6vWCsJbwoTV90eBWYVybVGZ2FuhwmXW/mtDbo/le6S/fpJ2RKuDLAL90Kh1c+ZRBv7Aoe45SCiez+9RgZb+Oh1MnDaS+vbcug/ac/9D7+TgcRaW6HUSvOrHCpuzbdGrwVDFEhhO5OksEcA=;24:hPAifibYPVHBMcd3p1twzyGpY6aA0iQStbgYwT/YjbsicDZaHJdxYtyuYWiTN3CjMf2AfJsrLubiybUeh9uIZ87MIzVEWy5cU5i1Ulf9OCM=;7:C+/dVyqW8tKhdxPpAfCfGUOn0QNcoClzn4hxIFxz+Q0eYuuNCdQ3fXSEi9nlPm1+VO8Vfn2VGXnCLCss+L27dRnotj1+FnGVetDKQDD0+50BiNPAbWJJK/DA2DQucxh8+42CQBa4JSTO93LIMQIMH+CWzscmR2WaWcL9v7LzzMIdYZ85PRcCAquy9joonhE0LG9Bh/gEWBNgJ6k2WZkY1crdBWAvNgXMC8KwTgNiruxT+UFDaeiXnGVT3+cNXOSD SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2018 20:37:48.9823 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1d5d2bb2-5d0e-4a14-a786-08d5846b4b58 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR1501MB2009 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2018-03/txt/msg00163.txt.bz2 On 2018-02-21 04:37 PM, Tom Tromey wrote: > --- a/gdb/remote.c > +++ b/gdb/remote.c > @@ -11713,7 +11713,7 @@ remote_hostio_unlink (struct target_ops *self, > > /* Implementation of to_fileio_readlink. */ > > -static char * > +static gdb::optional > remote_hostio_readlink (struct target_ops *self, > struct inferior *inf, const char *filename, > int *remote_errno) > @@ -11724,10 +11724,9 @@ remote_hostio_readlink (struct target_ops *self, > int left = get_remote_packet_size (); > int len, attachment_len; > int read_len; > - char *ret; > > if (remote_hostio_set_filesystem (inf, remote_errno) != 0) > - return NULL; > + return {}; > > remote_buffer_add_string (&p, &left, "vFile:readlink:"); > > @@ -11739,16 +11738,15 @@ remote_hostio_readlink (struct target_ops *self, > &attachment_len); > > if (len < 0) > - return NULL; > + return {}; > > - ret = (char *) xmalloc (len + 1); > + std::string ret (len + 1, '\0'); I think it should be just "len" and not "len + 1" here. The NULL byte is added by the std::string on top of that length. remote_unescape_input will only write len bytes, so it won't touch that NULL byte. > diff --git a/gdb/target.h b/gdb/target.h > index 83cf48575f..05575df35f 100644 > --- a/gdb/target.h > +++ b/gdb/target.h > @@ -935,10 +935,10 @@ struct target_ops > seen by the debugger (GDB or, for remote targets, the remote > stub). Return a null-terminated string allocated via xmalloc, > or NULL if an error occurs (and set *TARGET_ERRNO). */ > - char *(*to_fileio_readlink) (struct target_ops *, > - struct inferior *inf, > - const char *filename, > - int *target_errno); > + gdb::optional (*to_fileio_readlink) (struct target_ops *, > + struct inferior *inf, > + const char *filename, > + int *target_errno); Can you update the comment above this? LGTM with that fixed. Simon