From b872057a63c53106e4bf6033a52d53b988f30dfd Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Fri, 26 Aug 2022 15:38:26 -0400 Subject: gdbsupport: convert FILEIO_* macros to an enum Converting from free-form macros to an enum gives a bit of type-safety. This caught places where we would assign host error numbers to what should contain a target fileio error number, for instance in target_fileio_pread. I added the FILEIO_SUCCESS enumerator, because remote.c:remote_hostio_parse_result initializes the remote_errno output variable to 0. It seems better to have an explicit enumerator than to assign a value for which there is no enumerator. I considered initializing this variable to FILEIO_EUNKNOWN instead, such that if the remote side replies with an error and omits the errno value, we'll get an errno that represents an error instead of 0 (which reprensents no error). But it's not clear what the consequences of that change would be, so I prefer to err on the side of caution and just keep the existing behavior (there is no intended change in behavior with this patch). Note that remote_hostio_parse_resul still reads blindly what the remote side sends as a target errno into this variable, so we can still end up with a nonsensical value here. It's not good, but out of the scope of this patch. Convert host_to_fileio_error and fileio_errno_to_host to return / accept a fileio_error instead of an int, and cascade the change in the whole chain that uses that. Change-Id: I454b0e3fcf0732447bc872252fa8e57d138b0e03 --- gdbsupport/fileio.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gdbsupport/fileio.cc') diff --git a/gdbsupport/fileio.cc b/gdbsupport/fileio.cc index b4feb85..db7c1a7 100644 --- a/gdbsupport/fileio.cc +++ b/gdbsupport/fileio.cc @@ -24,7 +24,7 @@ /* See fileio.h. */ -int +fileio_error host_to_fileio_error (int error) { switch (error) -- cgit v1.1