tOld tstring stuff removed - vaccinewars - be a doctor and try to vaccinate the world
 (HTM) git clone git://src.adamsgaard.dk/vaccinewars
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit cbe75c4a064236ea7d99cde4091576c75fa63254
 (DIR) parent 81d376b3c81127ee132ca8434fff10385e323510
 (HTM) Author: Ben Webb <ben@salilab.org>
       Date:   Sat,  7 Apr 2001 19:45:24 +0000
       
       Old tstring stuff removed
       
       
       Diffstat:
         M src/curses_client.c                 |      21 +++++++++++----------
         M src/gtk_client.c                    |      65 +++++++++++++++++--------------
         M src/tstring.c                       |      50 -------------------------------
         M src/tstring.h                       |       3 ---
       
       4 files changed, 46 insertions(+), 93 deletions(-)
       ---
 (DIR) diff --git a/src/curses_client.c b/src/curses_client.c
       t@@ -1205,7 +1205,6 @@ void print_status(Player *Play,char DispDrug) {
        /* right hand side of the screen; if FALSE, displays the carried guns. */
           int i,c;
           GString *text;
       -   gchar *tfmt,**tstr;
        
           text=g_string_new(NULL);
           attrset(TitleAttr);
       t@@ -1293,10 +1292,10 @@ void print_status(Player *Play,char DispDrug) {
              if (WantAntique) mvaddstr(1,Width*3/4-5,_("Trenchcoat"));
              else {
        /* Title of the "drugs" window (the only important bit in this string is the
       -   "%Tde" which is "Drugs" by default) */
       -         tstring_fmt(&tfmt,&tstr,_("**Stats: Drugs** %Tde"),Names.Drugs);
       -         mvaddstr(1,Width*3/4-strlen(tstr[0])/2,tstr[0]);
       -         tstring_free(tfmt,tstr);
       +   "%Tde" which is "Drugs" by default; the %/.../ part is ignored, so you
       +   don't need to translate it; see doc/i18n.html) */
       +         dpg_string_sprintf(text,_("%/Stats: Drugs/%Tde"),Names.Drugs);
       +         mvaddstr(1,Width*3/4-strlen(text->str)/2,text->str);
              }
              for (i=0;i<NumDrug;i++) {
                 if (Play->Drugs[i].Carried>0) {
       t@@ -1310,9 +1309,8 @@ void print_status(Player *Play,char DispDrug) {
           } else {
        /* Title of the "guns" window (the only important bit in this string is the
           "%Tde" which is "Guns" by default) */
       -      tstring_fmt(&tfmt,&tstr,_("**Stats: Guns** %Tde"),Names.Guns);
       -      mvaddstr(1,Width*3/4-strlen(tstr[0])/2,tstr[0]);
       -      tstring_free(tfmt,tstr);
       +      dpg_string_sprintf(text,_("%/Stats: Guns/%Tde"),Names.Guns);
       +      mvaddstr(1,Width*3/4-strlen(text->str)/2,text->str);
              for (i=0;i<NumGun;i++) {
                 if (Play->Guns[i].Carried>0) {
        /* Display of carried guns (%tde="Baretta", etc. by default) */
       t@@ -1340,11 +1338,14 @@ void DisplaySpyReports(char *Data,Player *From,Player *To) {
           text=g_strdup_printf(_("Spy reports for %s"),GetPlayerName(From));
           mvaddstr(17,1,text); g_free(text);
        
       -   text=dpg_strdup_printf(_("%Tde..."),Names.Drugs);
       +/* Message displayed with a spy's list of drugs (%Tde="Drugs" by default) */
       +   text=dpg_strdup_printf(_("%/Spy: Drugs/%Tde..."),Names.Drugs);
           mvaddstr(19,20,text); g_free(text);
           print_status(From,1); nice_wait();
           clear_line(19);
       -   text=dpg_strdup_printf(_("%Tde..."),Names.Guns);
       +
       +/* Message displayed with a spy's list of guns (%Tde="Guns" by default) */
       +   text=dpg_strdup_printf(_("%/Spy: Guns/%Tde..."),Names.Guns);
           mvaddstr(19,20,text); g_free(text);
           print_status(From,0); nice_wait();
        
 (DIR) diff --git a/src/gtk_client.c b/src/gtk_client.c
       t@@ -784,7 +784,8 @@ static void UpdateCombatant(gchar *DefendName,int DefendBitches,
        
        /* Display of number of bitches or deputies during combat (%tde="bitches"
           or "deputies" (etc.) by default) */
       -   BitchText=dpg_strdup_printf(_("%d %tde"),DefendBitches,BitchName);
       +   BitchText=dpg_strdup_printf(_("%/Combat: Bitches/%d %tde"),
       +                               DefendBitches,BitchName);
        
        /* Display of health during combat */
           HealthText=g_strdup_printf(_("Health: %d"),DefendHealth);
       t@@ -911,7 +912,6 @@ void DisplayFightMessage(char *Data) {
        void DisplayStats(Player *Play,struct StatusWidgets *Status) {
           gchar *prstr;
           GString *text;
       -   gchar *tfmt,**tstr;
        
           text=g_string_new(NULL);
        
       t@@ -936,18 +936,18 @@ void DisplayStats(Player *Play,struct StatusWidgets *Status) {
           gtk_label_set_text(GTK_LABEL(Status->DebtValue),prstr);
           g_free(prstr);
        
       -/* Display of carried guns in GTK+ client status window */
       -   tstring_fmt(&tfmt,&tstr,_("**Stats: Guns** %Tde"),Names.Guns);
       -   gtk_label_set_text(GTK_LABEL(Status->GunsName),tstr[0]);
       -   tstring_free(tfmt,tstr);
       +/* Display of carried guns in GTK+ client status window (%Tde="Guns"
       +   by default) */
       +   dpg_string_sprintf(text,_("%/GTK Stats: Guns/%Tde"),Names.Guns);
       +   gtk_label_set_text(GTK_LABEL(Status->GunsName),text->str);
           g_string_sprintf(text,"%d",TotalGunsCarried(Play));
           gtk_label_set_text(GTK_LABEL(Status->GunsValue),text->str);
        
           if (!WantAntique) {
       -/* Display of number of bitches in GTK+ client status window */
       -      tstring_fmt(&tfmt,&tstr,_("**Stats: Bitches** %Tde"),Names.Bitches);
       -      gtk_label_set_text(GTK_LABEL(Status->BitchesName),tstr[0]);
       -      tstring_free(tfmt,tstr);
       +/* Display of number of bitches in GTK+ client status window (%Tde="Bitches"
       +   by default) */
       +      dpg_string_sprintf(text,_("%/GTK Stats: Bitches/%Tde"),Names.Bitches);
       +      gtk_label_set_text(GTK_LABEL(Status->BitchesName),text->str);
              g_string_sprintf(text,"%d",Play->Bitches.Carried);
              gtk_label_set_text(GTK_LABEL(Status->BitchesValue),text->str);
           } else {
       t@@ -2320,22 +2320,24 @@ static void TransferOK(GtkWidget *widget,GtkWidget *dialog) {
        
        void TransferDialog(gboolean Debt) {
           GtkWidget *dialog,*button,*label,*radio,*table,*vbox,*hbbox,*hsep,*entry;
       -   gchar *text;
           GSList *group;
       -   gchar *tfmt,**tstr;
       +   GString *text;
       +
       +   text=g_string_new("");
        
           dialog=gtk_window_new(GTK_WINDOW_DIALOG);
           gtk_signal_connect(GTK_OBJECT(dialog),"destroy",
                              GTK_SIGNAL_FUNC(SendDoneMessage),NULL);
           if (Debt) {
       -      tstring_fmt(&tfmt,&tstr,
       -                  _("**LoanShark window title** %Tde"),Names.LoanSharkName);
       +/* Title of loan shark dialog - (%Tde="The Loan Shark" by default) */
       +      dpg_string_sprintf(text,_("%/LoanShark window title/%Tde"),
       +                         Names.LoanSharkName);
           } else {
       -      tstring_fmt(&tfmt,&tstr,
       -                  _("**BankName window title** %Tde"),Names.BankName);
       +/* Title of bank dialog - (%Tde="The Bank" by default) */
       +      dpg_string_sprintf(text,_("%/BankName window title/%Tde"),
       +                         Names.LoanSharkName);
           }
       -   gtk_window_set_title(GTK_WINDOW(dialog),tstr[0]);
       -   tstring_free(tfmt,tstr);
       +   gtk_window_set_title(GTK_WINDOW(dialog),text->str);
           gtk_container_set_border_width(GTK_CONTAINER(dialog),7);
           gtk_window_set_modal(GTK_WINDOW(dialog),TRUE);
           gtk_window_set_transient_for(GTK_WINDOW(dialog),
       t@@ -2347,20 +2349,18 @@ void TransferDialog(gboolean Debt) {
           gtk_table_set_col_spacings(GTK_TABLE(table),4);
        
        /* Display of player's cash in bank or loan shark dialog */
       -   text=dpg_strdup_printf(_("Cash: %P"),ClientData.Play->Cash);
       -   label=gtk_label_new(text);
       -   g_free(text);
       +   dpg_string_sprintf(text,_("Cash: %P"),ClientData.Play->Cash);
       +   label=gtk_label_new(text->str);
           gtk_table_attach_defaults(GTK_TABLE(table),label,0,3,0,1);
        
           if (Debt) {
        /* Display of player's debt in loan shark dialog */
       -      text=dpg_strdup_printf(_("Debt: %P"),ClientData.Play->Debt);
       +      dpg_string_sprintf(text,_("Debt: %P"),ClientData.Play->Debt);
           } else {
        /* Display of player's bank balance in bank dialog */
       -      text=dpg_strdup_printf(_("Bank: %P"),ClientData.Play->Bank);
       +      dpg_string_sprintf(text,_("Bank: %P"),ClientData.Play->Bank);
           }
       -   label=gtk_label_new(text);
       -   g_free(text);
       +   label=gtk_label_new(text->str);
           gtk_table_attach_defaults(GTK_TABLE(table),label,0,3,1,2);
        
           gtk_object_set_data(GTK_OBJECT(dialog),"debt",GINT_TO_POINTER(Debt));
       t@@ -2411,6 +2411,8 @@ void TransferDialog(gboolean Debt) {
           gtk_container_add(GTK_CONTAINER(dialog),vbox);
        
           gtk_widget_show_all(dialog);
       +
       +   g_string_free(text,TRUE);
        }
        
        void ListPlayers(GtkWidget *widget,gpointer data) {
       t@@ -2829,7 +2831,7 @@ void NewNameDialog() {
        void GunShopDialog() {
           GtkWidget *window,*button,*hsep,*vbox,*hbox;
           GtkAccelGroup *accel_group;
       -   gchar *tfmt,**tstr;
       +   gchar *text;
        
           window=gtk_window_new(GTK_WINDOW_DIALOG);
           gtk_window_set_default_size(GTK_WINDOW(window),600,190);
       t@@ -2837,10 +2839,13 @@ void GunShopDialog() {
                              GTK_SIGNAL_FUNC(SendDoneMessage),NULL);
           accel_group=gtk_accel_group_new();
           gtk_window_add_accel_group(GTK_WINDOW(window),accel_group);
       -   tstring_fmt(&tfmt,&tstr,
       -               _("**GunShop window title** %Tde"),Names.GunShopName);
       -   gtk_window_set_title(GTK_WINDOW(window),tstr[0]);
       -   tstring_free(tfmt,tstr);
       +
       +/* Title of 'gun shop' dialog in GTK+ client (%Tde="Dan's House of Guns"
       +   by default) */
       +   text=dpg_strdup_printf(_("%/GTK GunShop window title/%Tde"),
       +                          Names.GunShopName);
       +   gtk_window_set_title(GTK_WINDOW(window),text);
       +   g_free(text);
           gtk_window_set_modal(GTK_WINDOW(window),TRUE);
           gtk_window_set_transient_for(GTK_WINDOW(window),
                                        GTK_WINDOW(ClientData.window));
 (DIR) diff --git a/src/tstring.c b/src/tstring.c
       t@@ -78,56 +78,6 @@ gchar *GetTranslatedString(gchar *str,gchar *code,gboolean Caps) {
           return tstr;
        }
        
       -void tstring_fmt(gchar **tformat,gchar ***tstrings,char *OrigFormat, ...) {
       -   va_list ap;
       -   GString *text;
       -   int i;
       -   gchar *str,*tstr,code[3],**strings;
       -   GPtrArray *ptrarr;
       -   gboolean Caps;
       -
       -   text=g_string_new("");
       -   va_start(ap,OrigFormat);
       -   ptrarr=g_ptr_array_new();
       -
       -   i=0;
       -   while (i<strlen(OrigFormat)) {
       -      g_string_append_c(text,OrigFormat[i]);
       -      if (OrigFormat[i]=='%') {
       -         i++;
       -         if ((OrigFormat[i]=='T' || OrigFormat[i]=='t')
       -             && i+2<strlen(OrigFormat)) {
       -            Caps = (OrigFormat[i]=='T');
       -            code[0]=OrigFormat[i+1];
       -            code[1]=OrigFormat[i+2];
       -            code[2]='\0';
       -            i+=3;
       -            g_string_append_c(text,'s');
       -            str=va_arg(ap,char *);
       -            tstr=GetTranslatedString(str,code,Caps);
       -            g_ptr_array_add(ptrarr,(gpointer)tstr);
       -         }
       -      } else i++;
       -   }
       -   va_end(ap);
       -   *tformat=text->str;
       -   strings=g_new(char *,ptrarr->len+10);
       -   for (i=0;i<ptrarr->len;i++) {
       -      strings[i]=(gchar *)g_ptr_array_index(ptrarr,i);
       -   }
       -   strings[ptrarr->len]=NULL;
       -   g_ptr_array_free(ptrarr,FALSE);
       -   *tstrings=strings;
       -   g_string_free(text,FALSE);
       -}
       -
       -void tstring_free(gchar *tformat,gchar **tstrings) {
       -   gchar **pt;
       -   g_free(tformat);
       -   for (pt=tstrings;*pt;pt++) g_free(*pt);
       -   g_free(tstrings);
       -}
       -
        void GetNextFormat(int *Index,gchar *str,int *StartPos,
                           int *EndPos,int *FmtPos,gchar *Type,int *ArgNum,int *Wid,
                           int *Prec,char *Code) {
 (DIR) diff --git a/src/tstring.h b/src/tstring.h
       t@@ -27,9 +27,6 @@
        
        #include <glib.h>
        
       -void tstring_fmt(gchar **tformat,gchar ***tstrings,char *OrigFormat, ...);
       -void tstring_free(gchar *tformat,gchar **tstrings);
       -
        void dpg_print(gchar *format, ...);
        gchar *dpg_strdup_printf(gchar *format, ...);
        void dpg_string_sprintf(GString *string, gchar *format, ...);