[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Haiku: Platform build fixes
From: |
Max Filippov |
Subject: |
Re: [Qemu-devel] [PATCH] Haiku: Platform build fixes |
Date: |
Wed, 25 Mar 2015 01:56:36 +0300 |
On Wed, Mar 25, 2015 at 1:26 AM, Andreas Färber <address@hidden> wrote:
> Am 24.03.2015 um 00:36 schrieb Alexander von Gluck IV:
>>
>> diff --git a/target-xtensa/xtensa-semi.c b/target-xtensa/xtensa-semi.c
>> index 16e9d8c..d0ea12a 100644
>> --- a/target-xtensa/xtensa-semi.c
>> +++ b/target-xtensa/xtensa-semi.c
>> @@ -95,59 +95,53 @@ enum {
>>
>> static uint32_t errno_h2g(int host_errno)
>> {
>> - static const uint32_t guest_errno[] = {
>> - [EPERM] = TARGET_EPERM,
>> - [ENOENT] = TARGET_ENOENT,
>> - [ESRCH] = TARGET_ESRCH,
>> - [EINTR] = TARGET_EINTR,
>> - [EIO] = TARGET_EIO,
>> - [ENXIO] = TARGET_ENXIO,
>> - [E2BIG] = TARGET_E2BIG,
>> - [ENOEXEC] = TARGET_ENOEXEC,
>> - [EBADF] = TARGET_EBADF,
>> - [ECHILD] = TARGET_ECHILD,
>> - [EAGAIN] = TARGET_EAGAIN,
>> - [ENOMEM] = TARGET_ENOMEM,
>> - [EACCES] = TARGET_EACCES,
>> - [EFAULT] = TARGET_EFAULT,
>> + switch (host_errno) {
>> + case 0: return 0;
>> + case EPERM: return TARGET_EPERM;
>> + case ENOENT: return TARGET_ENOENT;
>> + case ESRCH: return TARGET_ESRCH;
>> + case EINTR: return TARGET_EINTR;
>> + case EIO: return TARGET_EIO;
>> + case ENXIO: return TARGET_ENXIO;
>> + case E2BIG: return TARGET_E2BIG;
>> + case ENOEXEC: return TARGET_ENOEXEC;
>> + case EBADF: return TARGET_EBADF;
>> + case ECHILD: return TARGET_ECHILD;
>> + case EAGAIN: return TARGET_EAGAIN;
>> + case ENOMEM: return TARGET_ENOMEM;
>> + case EACCES: return TARGET_EACCES;
>> + case EFAULT: return TARGET_EFAULT;
>> #ifdef ENOTBLK
>> - [ENOTBLK] = TARGET_ENOTBLK,
>> + case ENOTBLK: return TARGET_ENOTBLK;
>> #endif
>> - [EBUSY] = TARGET_EBUSY,
>> - [EEXIST] = TARGET_EEXIST,
>> - [EXDEV] = TARGET_EXDEV,
>> - [ENODEV] = TARGET_ENODEV,
>> - [ENOTDIR] = TARGET_ENOTDIR,
>> - [EISDIR] = TARGET_EISDIR,
>> - [EINVAL] = TARGET_EINVAL,
>> - [ENFILE] = TARGET_ENFILE,
>> - [EMFILE] = TARGET_EMFILE,
>> - [ENOTTY] = TARGET_ENOTTY,
>> + case EBUSY: return TARGET_EBUSY;
>> + case EEXIST: return TARGET_EEXIST;
>> + case EXDEV: return TARGET_EXDEV;
>> + case ENODEV: return TARGET_ENODEV;
>> + case ENOTDIR: return TARGET_ENOTDIR;
>> + case EISDIR: return TARGET_EISDIR;
>> + case EINVAL: return TARGET_EINVAL;
>> + case ENFILE: return TARGET_ENFILE;
>> + case EMFILE: return TARGET_EMFILE;
>> + case ENOTTY: return TARGET_ENOTTY;
>
> Why convert from array to switch statement? It looks like a very
> invasive change for no obvious reason.
I'd be interested to know the reason too, but I'm OK with either way.
>> #ifdef ETXTBSY
>> - [ETXTBSY] = TARGET_ETXTBSY,
>> + case ETXTBSY: return TARGET_ETXTBSY;
>> #endif
>> - [EFBIG] = TARGET_EFBIG,
>> - [ENOSPC] = TARGET_ENOSPC,
>> - [ESPIPE] = TARGET_ESPIPE,
>> - [EROFS] = TARGET_EROFS,
>> - [EMLINK] = TARGET_EMLINK,
>> - [EPIPE] = TARGET_EPIPE,
>> - [EDOM] = TARGET_EDOM,
>> - [ERANGE] = TARGET_ERANGE,
>> - [ENOSYS] = TARGET_ENOSYS,
>> + case EFBIG: return TARGET_EFBIG;
>> + case ENOSPC: return TARGET_ENOSPC;
>> + case ESPIPE: return TARGET_ESPIPE;
>> + case EROFS: return TARGET_EROFS;
>> + case EMLINK: return TARGET_EMLINK;
>> + case EPIPE: return TARGET_EPIPE;
>> + case EDOM: return TARGET_EDOM;
>> + case ERANGE: return TARGET_ERANGE;
>> + case ENOSYS: return TARGET_ENOSYS;
>> #ifdef ELOOP
>> - [ELOOP] = TARGET_ELOOP,
>> + case ELOOP: return TARGET_ELOOP;
>> #endif
>> };
No need for semicolon here.
--
Thanks.
-- Max