From: Jes Sorensen <Jes.Sorensen@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 10/16] Introduce OS specific cmdline argument handling and move SMB arg to os-posix.c
Date: Fri, 04 Jun 2010 10:21:43 +0200 [thread overview]
Message-ID: <4C08B797.7060702@redhat.com> (raw)
In-Reply-To: <m3fx138b81.fsf@blackfin.pond.sub.org>
On 06/04/10 10:15, Markus Armbruster wrote:
> Jes.Sorensen@redhat.com writes:
>> + * Parse OS specific command line options.
>> + * return 0 if option handled, -1 otherwise
>> + */
>> +int os_parse_cmd_args(const QEMUOption *popt, const char *optarg)
>> +{
>> + int ret = 0;
>> + switch (popt->index) {
>> +#ifdef CONFIG_SLIRP
>> + case QEMU_OPTION_smb:
>> + if (net_slirp_smb(optarg) < 0)
>> + exit(1);
>> + break;
>> +#endif
>
> Was #ifndef _WIN32 before. Impact?
It was moved to os-posix.c which is only built for non _WIN32, so it has
the same effect, except it's not full of ugly #ifdef's
>> +/*
>> + * Duplicate definition from vl.c to avoid messing up the entire build
>> + */
>> +enum {
>> +#define DEF(option, opt_arg, opt_enum, opt_help, arch_mask) \
>> + opt_enum,
>> +#define DEFHEADING(text)
>> +#include "qemu-options.h"
>> +#undef DEF
>> +#undef DEFHEADING
>> +#undef GEN_DOCS
>> +};
>
> I agree with Richard: this is gross.
The enum creation is gross by itself. Only way to get around not
duplicating it is to create a new header file to hold just that?
>> +/* This is needed for vl.c and the OS specific files */
>> +typedef struct QEMUOption {
>> + const char *name;
>> + int flags;
>> + int index;
>> + uint32_t arch_mask;
>> +} QEMUOption;
>> +
>
> Ugh.
What do you mean? The real ugh! here is that it was created as a
typedef. I can change the function to pass in just the index, but I
don't know if we will have cases where the rest is needed.
> Is this minor improvement of vl.c really worth the headaches elsewhere?
vl.c as it is today is gross and un-maintainable. This patch gets rid of
a lot of the ugly #ifdefs and makes the code easier to read and maintain.
Jes
next prev parent reply other threads:[~2010-06-04 8:21 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-03 16:47 [Qemu-devel] [PATCH 00/16] clean up vl.c code Jes.Sorensen
2010-06-03 16:47 ` [Qemu-devel] [PATCH 01/16] vl.c: Remove double include of netinet/in.h for Solaris Jes.Sorensen
2010-06-03 16:47 ` [Qemu-devel] [PATCH 02/16] Create qemu-os-win32.h and move WIN32 specific declarations there Jes.Sorensen
2010-06-03 16:47 ` [Qemu-devel] [PATCH 03/16] Introduce os-win32.c and move polling functions from vl.c Jes.Sorensen
2010-06-03 16:48 ` [Qemu-devel] [PATCH 04/16] vl.c: Move host_main_loop_wait() to OS specific files Jes.Sorensen
2010-06-03 16:48 ` [Qemu-devel] [PATCH 05/16] Introduce os-posix.c and create os_setup_signal_handling() Jes.Sorensen
2010-06-03 20:50 ` Richard Henderson
2010-06-04 6:45 ` Jes Sorensen
2010-06-03 16:48 ` [Qemu-devel] [PATCH 06/16] Move win32 early signal handling setup to os_setup_signal_handling() Jes.Sorensen
2010-06-03 16:48 ` [Qemu-devel] [PATCH 07/16] Rename os_setup_signal_handling() to os_setup_early_signal_handling() Jes.Sorensen
2010-06-03 16:48 ` [Qemu-devel] [PATCH 08/16] Move main signal handler setup to os specificfiles Jes.Sorensen
2010-06-03 20:52 ` Richard Henderson
2010-06-04 6:45 ` Jes Sorensen
2010-06-04 7:45 ` Markus Armbruster
2010-06-03 16:48 ` [Qemu-devel] [PATCH 09/16] Move find_datadir to OS specific files Jes.Sorensen
2010-06-03 16:48 ` [Qemu-devel] [PATCH 10/16] Introduce OS specific cmdline argument handling and move SMB arg to os-posix.c Jes.Sorensen
2010-06-03 20:58 ` Richard Henderson
2010-06-04 6:47 ` Jes Sorensen
2010-06-04 14:49 ` Richard Henderson
2010-06-04 14:51 ` Jes Sorensen
2010-06-04 8:15 ` Markus Armbruster
2010-06-04 8:21 ` Jes Sorensen [this message]
2010-06-04 10:39 ` [Qemu-devel] " Paolo Bonzini
2010-06-04 11:59 ` Jes Sorensen
2010-06-04 12:04 ` [Qemu-devel] " Markus Armbruster
2010-06-04 12:11 ` Jes Sorensen
2010-06-03 16:48 ` [Qemu-devel] [PATCH 11/16] Move runas handling from vl.c to OS specific files Jes.Sorensen
2010-06-03 21:00 ` Richard Henderson
2010-06-03 16:48 ` [Qemu-devel] [PATCH 12/16] Move chroot handling " Jes.Sorensen
2010-06-03 21:02 ` Richard Henderson
2010-06-04 6:48 ` Jes Sorensen
2010-06-03 16:48 ` [Qemu-devel] [PATCH 13/16] Move daemonize " Jes.Sorensen
2010-06-03 16:48 ` [Qemu-devel] [PATCH 14/16] Make os_change_process_uid and os_change_root os-posix.c local Jes.Sorensen
2010-06-03 16:48 ` [Qemu-devel] [PATCH 15/16] Move line-buffering setup to OS specific files Jes.Sorensen
2010-06-03 16:48 ` [Qemu-devel] [PATCH 16/16] Move set_proc_name() " Jes.Sorensen
2010-06-04 8:21 ` [Qemu-devel] [PATCH 00/16] clean up vl.c code Markus Armbruster
2010-06-04 8:23 ` Jes Sorensen
2010-06-04 11:54 ` Markus Armbruster
2010-06-04 11:57 ` Jes Sorensen
2010-06-09 7:07 ` Markus Armbruster
2010-06-09 8:14 ` Jes Sorensen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C08B797.7060702@redhat.com \
--to=jes.sorensen@redhat.com \
--cc=armbru@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.