Complete.Org: Mailing Lists: Archives: freeciv-dev: January 2002:
[Freeciv-Dev] Re: Assertion failed: missing > 0, file plrhand.c, line 38
Home

[Freeciv-Dev] Re: Assertion failed: missing > 0, file plrhand.c, line 38

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Gregory Berkolaiko <gberkolaiko@xxxxxxxxxxx>
Cc: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: Assertion failed: missing > 0, file plrhand.c, line 383
From: Raimar Falke <hawk@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 17 Jan 2002 16:56:03 +0100
Reply-to: rf13@xxxxxxxxxxxxxxxxxxxxxx

On Thu, Jan 17, 2002 at 02:45:23PM +0000, Gregory Berkolaiko wrote:
>  --- Raimar Falke <hawk@xxxxxxxxxxxxxxxxxxxxxxx> wrote: 
> [future tech cleanup]
> 
> I suspect this patch will also lead to few bugs (I can point my finger
> though, it's just a feeling).  But it is definitely a move forward.

Yes this feeling may be right.

> One comment (please scroll):
> 
> > +const char *get_tech_name(struct player *pplayer, Tech_Type_id tech)
> > +{
> > +  static char buffer[200];
> > +
> > +  if (!is_future_tech(tech)) {
> > +    my_snprintf(buffer, sizeof(buffer), "%s", advances[tech].name);
> > +  } else {
> > +    my_snprintf(buffer, sizeof(buffer), _("Future Tech. %d"),
> > +           pplayer->future_tech + 1);
> > +  }
> > +  return buffer;
> >  }

> Can you use your new and lovely get_tech_name instead of old and ugly
> if-elseif-else construction below??

I would have done so if it would be this easy.

> > +      } else {
> > +   notify_player(plr, _("Game: Learned Future Tech. %d.  "
> > +                        "Researching Future Tech. %d."),
> > +                 plr->future_tech, (plr->future_tech) + 1);

Problem 1: the static buffer of get_tech_name can't be reused

Problem 2: if could be written with another buffer and two calls to
get_tech_name to assemble the string. But this is also ugly.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 "When C++ is your hammer, everything looks like a thumb."
    -- Steven M. Haflich


[Prev in Thread] Current Thread [Next in Thread]