[Libguestfs] [PATCH 1/2] p2v: Factor out code for parsing vcpus & memory from conversion dialog.
Richard W.M. Jones
rjones at redhat.com
Tue May 5 18:08:37 UTC 2015
On Tue, May 05, 2015 at 04:32:47PM +0200, Pino Toscano wrote:
> On Tuesday 05 May 2015 15:13:16 Richard W.M. Jones wrote:
> > No functional change, just code refactoring.
> > ---
> > p2v/gui.c | 42 ++++++++++++++++++++++++++++++------------
> > 1 file changed, 30 insertions(+), 12 deletions(-)
> >
> > diff --git a/p2v/gui.c b/p2v/gui.c
> > index 7e9de0d..bc762c2 100644
> > --- a/p2v/gui.c
> > +++ b/p2v/gui.c
> > @@ -375,6 +375,8 @@ static void set_interfaces_from_ui (struct config *);
> > static void conversion_back_clicked (GtkWidget *w, gpointer data);
> > static void start_conversion_clicked (GtkWidget *w, gpointer data);
> > static void notify_ui_callback (int type, const char *data);
> > +static int get_vcpus_from_conv_dlg (void);
> > +static uint64_t get_memory_from_conv_dlg (void);
> >
> > enum {
> > DISKS_COL_CONVERT = 0,
> > @@ -1051,6 +1053,32 @@ conversion_back_clicked (GtkWidget *w, gpointer data)
> > gtk_widget_set_sensitive (next_button, FALSE);
> > }
> >
> > +static int
> > +get_vcpus_from_conv_dlg (void)
> > +{
> > + const char *str;
> > + int i;
> > +
> > + str = gtk_entry_get_text (GTK_ENTRY (vcpus_entry));
> > + if (sscanf (str, "%d", &i) == 1 && i > 0)
> > + return i;
> > + else
> > + return 1;
> > +}
> > +
> > +static uint64_t
> > +get_memory_from_conv_dlg (void)
> > +{
> > + const char *str;
> > + uint64_t i;
> > +
> > + str = gtk_entry_get_text (GTK_ENTRY (memory_entry));
> > + if (sscanf (str, "%" SCNu64, &i) == 1 && i >= 256)
> > + return i * 1024 * 1024;
> > + else
> > + return UINT64_C (1024) * 1024 * 1024;
> > +}
> > +
> > /*----------------------------------------------------------------------*/
> > /* Running dialog. */
> >
> > @@ -1174,7 +1202,6 @@ static void
> > start_conversion_clicked (GtkWidget *w, gpointer data)
> > {
> > struct config *config = data;
> > - int i;
> > const char *str;
> > char *str2;
> > GtkWidget *dlg;
> > @@ -1200,17 +1227,8 @@ start_conversion_clicked (GtkWidget *w, gpointer data)
> > return;
> > }
> >
> > - str = gtk_entry_get_text (GTK_ENTRY (vcpus_entry));
> > - if (sscanf (str, "%d", &i) == 1 && i > 0)
> > - config->vcpus = i;
> > - else
> > - config->vcpus = 1;
> > -
> > - str = gtk_entry_get_text (GTK_ENTRY (memory_entry));
> > - if (sscanf (str, "%d", &i) == 1 && i >= 256)
> > - config->memory = (uint64_t) i * 1024 * 1024;
> > - else
> > - config->memory = 1024 * 1024 * 1024;
> > + config->vcpus = get_vcpus_from_conv_dlg ();
> > + config->memory = get_memory_from_conv_dlg ();
> >
> > config->verbose =
> > gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (debug_button));
>
> Hm shouldn't vcpus_entry and memory_entry be some kind of numeric input
> widgets, then? Something like GtkSpinButton.
Possibly, but don't you just hate those kinds of widgets :-?
That is a bigger change than just the fix for this bug.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html
More information about the Libguestfs
mailing list