[PATCH 1/3] Make 'string_to_grams()' use proper type safe types
Dirk Hohndel
dirk at hohndel.org
Wed Jan 8 00:04:54 UTC 2014
Yes, none of them apply.
I could fix them up manually, but it would be much easier if you resent
clean versions...
/D
On Wed, 2014-01-08 at 15:43 +0800, Linus Torvalds wrote:
> Oh Christ. I think I screwed up whitespace because I didn't have the
> right alpine settings for sending.
>
> If you have trouble applying these, holler.
>
> Linus
>
> On Wed, Jan 8, 2014 at 3:34 PM, Linus Torvalds
> <torvalds at linux-foundation.org> wrote:
> >
> > From: Linus Torvalds <torvalds at linux-foundation.org>
> > Date: Wed, 8 Jan 2014 14:24:35 +0800
> > Subject: [PATCH 1/3] Make 'string_to_grams()' use proper type safe types
> >
> > Make it use 'weight_t' and hide the "grams" part inside the type. That
> > was the whole point of the weight_t type, after all. Returning a
> > "double" was always bogus, since we internally always do integer grams
> > (and the function actually used "rint()" to get all the rounding right
> > anyway).
> >
> > As a result, it's now called "string_to_weight()".
> >
> > Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
> > ---
> >
> > This shouldn't really change anything, just type cleanup.
> >
> > qt-ui/models.cpp | 11 +++++++----
> > 1 file changed, 7 insertions(+), 4 deletions(-)
> >
> > diff --git a/qt-ui/models.cpp b/qt-ui/models.cpp
> > index c2b324f97c80..7f5764779c81 100644
> > --- a/qt-ui/models.cpp
> > +++ b/qt-ui/models.cpp
> > @@ -464,13 +464,14 @@ void WeightModel::passInData(const QModelIndex& index,
> > const QVariant& value)
> > }
> > }
> >
> > -double string_to_grams(char *str)
> > +weight_t string_to_weight(char *str)
> > {
> > char *end;
> > double value = strtod_flags(str, &end, 0);
> > QString rest = QString(end).trimmed();
> > QString local_kg = WeightModel::tr("kg");
> > QString local_lbs = WeightModel::tr("lbs");
> > + weight_t weight;
> >
> > if (rest.startsWith("kg") || rest.startsWith(local_kg))
> > goto kg;
> > @@ -480,9 +481,11 @@ double string_to_grams(char *str)
> > if (prefs.units.weight == prefs.units.LBS)
> > goto lbs;
> > kg:
> > - return rint(value * 1000);
> > + weight.grams = rint(value * 1000);
> > + return weight;
> > lbs:
> > - return lbs_to_grams(value);
> > + weight.grams = lbs_to_grams(value);
> > + return weight;
> > }
> >
> > bool WeightModel::setData(const QModelIndex& index, const QVariant& value,
> > int role)
> > @@ -509,7 +512,7 @@ bool WeightModel::setData(const QModelIndex& index,
> > const QVariant& value, int r
> > break;
> > case WEIGHT:
> > if (CHANGED(data, "", "")) {
> > - ws->weight.grams =
> > string_to_grams(vString.toUtf8().data());
> > + ws->weight =
> > string_to_weight(vString.toUtf8().data());
> > // now update the ws_info
> > changed = true;
> > WSInfoModel *wsim = WSInfoModel::instance();
> > --
> > 1.8.4.2
> >
More information about the subsurface
mailing list