OSDN Git Service

code clean in tex3.c.
[putex/putex.git] / src / texsourc / tex3.c
index acc4212..4c0d551 100644 (file)
@@ -118,9 +118,9 @@ void scan_int (void)
         else if ((cur_tok <= other_A_token + 5) && (cur_tok >= other_A_token))
           d = cur_tok - other_A_token;
         else
-          goto lab30;
+          goto done;
       else
-        goto lab30;
+        goto done;
 
       vacuous = false;
 
@@ -140,7 +140,7 @@ void scan_int (void)
         cur_val = cur_val * radix + d;
       get_x_token();
     }
-lab30:;
+done:;
 
     if (vacuous)
     {
@@ -207,7 +207,7 @@ void scan_dimen_(boolean mu, boolean inf, boolean shortcut)
         }
 
         if (cur_val_level == mu_val)
-          goto lab89;
+          goto attach_sign;
 
         if (cur_val_level != int_val)
           mu_error();
@@ -217,7 +217,7 @@ void scan_dimen_(boolean mu, boolean inf, boolean shortcut)
         scan_something_internal(dimen_val, false);
 
         if (cur_val_level == dimen_val)
-          goto lab89;
+          goto attach_sign;
       }
     }
     else
@@ -251,7 +251,7 @@ void scan_dimen_(boolean mu, boolean inf, boolean shortcut)
           get_x_token();
 
           if ((cur_tok > zero_token + 9) || (cur_tok < zero_token))
-            goto lab31;
+            goto done1;
 
           if (k < 17)
           {
@@ -262,7 +262,7 @@ void scan_dimen_(boolean mu, boolean inf, boolean shortcut)
             incr(k);
           }
         }
-lab31:
+done1:
         for (kk = k; kk >= 1; kk--)
         {
           dig[kk - 1] = info(p);
@@ -296,14 +296,14 @@ lab31:
         if (cur_order == filll)
         {
           print_err("Illegal unit of measure (");
-          print_string("replaced by filll)");
+          prints("replaced by filll)");
           help1("I dddon't go any higher than filll.");
           error();
         }
         else
           incr(cur_order);
       }
-      goto lab88;
+      goto attach_fraction;
     }
   }
 
@@ -341,18 +341,18 @@ lab31:
     }
 
     v = cur_val;
-    goto lab40;
+    goto found;
   }
 
   if (mu)
-    goto lab45;
+    goto not_found;
 
   if (scan_keyword("em"))
     v = quad(cur_font);
   else if (scan_keyword("ex"))
     v = x_height(cur_font);
   else
-    goto lab45;
+    goto not_found;
 
   {
     get_x_token();
@@ -360,24 +360,26 @@ lab31:
     if (cur_cmd != spacer)
       back_input();
   }
-lab40:
+
+found:
   cur_val = mult_and_add(savecurval, v, xn_over_d(v, f, 65536L), 1073741823L);   /* 2^30 - 1 */
-  goto lab89;
-lab45:
+  goto attach_sign;
+
+not_found:
   if (mu)
   {
     if (scan_keyword("mu"))
-      goto lab88;
+      goto attach_fraction;
     else
     {
       print_err("Illegal unit of measure (");
-      print_string("mu inserted)");
+      prints("mu inserted)");
       help4("The unit of measurement in math glue must be mu.",
           "To recover gracefully from this error, it's best to",
           "delete the erroneous units; e.g., type `2' to delete",
           "two letters. (See Chapter 27 of The TeXbook.)");
       error();
-      goto lab88;
+      goto attach_fraction;
     }
   }
 
@@ -395,7 +397,7 @@ lab45:
   }
 
   if (scan_keyword("pt"))
-    goto lab88;
+    goto attach_fraction;
 
   if (scan_keyword("in"))
     set_conversion(7227, 100);
@@ -416,11 +418,11 @@ lab45:
   else if (scan_keyword("H"))
     set_conversion(7227, 10160);
   else if (scan_keyword("sp"))
-    goto lab30;
+    goto done;
   else
   {
     print_err("Illegal unit of measure (");
-    print_string("pt inserted)");
+    prints("pt inserted)");
     help6("Dimensions can be in units of em, ex, in, pt, pc,",
       "cm, mm, dd, cc, bp, or sp; but yours is a new one!",
       "I'll assume that you meant to say pt, for printer's points.",
@@ -428,34 +430,37 @@ lab45:
       "delete the erroneous units; e.g., type `2' to delete",
       "two letters. (See Chapter 27 of The TeXbook.)");
     error();
-    goto lab32;
+    goto done2;
   }
 
   cur_val = xn_over_d(cur_val, num, denom);
   f = (num * f + 65536L * tex_remainder) / denom;
   cur_val = cur_val +(f / 65536L);
   f = f % 65536L;
-lab32:;
-lab88:
+
+done2:
+attach_fraction:
   if (cur_val >= 16384)     /* 2^14 */
     arith_error = true;
   else
-    cur_val = cur_val * 65536L + f;
-lab30:;
+    cur_val = cur_val * unity + f;
+
+done:
   {
     get_x_token();
 
     if (cur_cmd != spacer)
       back_input();
   }
-lab89:
+
+attach_sign:
   if (arith_error || (abs(cur_val) >= 1073741824L)) /* 2^30 */
   {
     print_err("Dimension too large");
     help2("I can't work with sizes bigger than about 19 feet.",
         "Continue and I'll use the largest value I can.");
     error();
-    cur_val = 1073741823L;  /* 2^30 - 1 */
+    cur_val = max_dimen;
     arith_error = false;
   }
 
@@ -552,27 +557,27 @@ halfword scan_rule_spec (void)
     depth(q) = 0;
   }
 
-lab21:
+reswitch:
 
   if (scan_keyword("width"))
   {
     scan_dimen(false, false, false);
     width(q) = cur_val;
-    goto lab21;
+    goto reswitch;
   }
 
   if (scan_keyword("height"))
   {
     scan_dimen(false, false, false);
     height(q) = cur_val;
-    goto lab21;
+    goto reswitch;
   }
 
   if (scan_keyword("depth"))
   {
     scan_dimen(false, false, false);
     depth(q) = cur_val;
-    goto lab21;
+    goto reswitch;
   }
 
   return q;
@@ -610,7 +615,6 @@ halfword str_toks_(pool_pointer b)
 /* sec 0465 */
 halfword the_toks (void)
 {
-  register halfword Result;
   char old_setting;
   halfword p, q, r;
   pool_pointer b;
@@ -636,7 +640,7 @@ halfword the_toks (void)
       }
     }
 
-    Result = p;
+    return p;
   }
   else
   {
@@ -649,18 +653,21 @@ halfword the_toks (void)
       case int_val:
         print_int(cur_val);
         break;
+
       case dimen_val:
         {
           print_scaled(cur_val);
-          print_string("pt");
+          prints("pt");
         }
         break;
+
       case glue_val:
         {
           print_spec(cur_val, "pt");
           delete_glue_ref(cur_val);
         }
         break;
+
       case mu_val:
         {
           print_spec(cur_val, "mu");
@@ -668,17 +675,16 @@ halfword the_toks (void)
         }
         break;
     }
+
     selector = old_setting;
-    Result = str_toks(b);
+    return str_toks(b);
   }
-
-  return Result;
 }
 /* sec 0467 */
 void ins_the_toks (void) 
 { 
   link(garbage) = the_toks();
-  begin_token_list(link(temp_head), 4);
+  ins_list(link(temp_head));
 }
 /* sec 0470 */
 void conv_toks (void)
@@ -745,9 +751,9 @@ void conv_toks (void)
 
       if (font_size[cur_val] != font_dsize[cur_val])
       {
-        print_string(" at ");
+        prints(" at ");
         print_scaled(font_size[cur_val]);
-        print_string("pt");
+        prints("pt");
       }
       break;
 
@@ -761,17 +767,16 @@ void conv_toks (void)
   begin_token_list(link(temp_head), 4);
 }
 /* sec 0473 */
-halfword scan_toks_(boolean macrodef, boolean xpand)
+halfword scan_toks_(boolean macro_def, boolean xpand)
 {
-  register halfword Result;
   halfword t;
   halfword s;
   halfword p;
   halfword q;
   halfword unbalance;
-  halfword hashbrace;
+  halfword hash_brace;
 
-  if (macrodef)
+  if (macro_def)
     scanner_status = defining;
   else
     scanner_status = absorbing;
@@ -780,17 +785,17 @@ halfword scan_toks_(boolean macrodef, boolean xpand)
   def_ref = get_avail();
   token_ref_count(def_ref) = 0;
   p = def_ref;
-  hashbrace = 0;
+  hash_brace = 0;
   t = zero_token;
 
-  if (macrodef)
+  if (macro_def)
   {
     while (true)
     {
       get_token();
 
       if (cur_tok < right_brace_limit)
-        goto lab31;
+        goto done1;
 
       if (cur_cmd == mac_param)
       {
@@ -799,10 +804,10 @@ halfword scan_toks_(boolean macrodef, boolean xpand)
 
         if (cur_cmd == left_brace)
         {
-          hashbrace = cur_tok;
+          hash_brace = cur_tok;
           store_new_token(cur_tok);
           store_new_token(end_match_token);
-          goto lab30;
+          goto done;
         }
 
         if (t == zero_token + 9)
@@ -822,6 +827,7 @@ halfword scan_toks_(boolean macrodef, boolean xpand)
                 "Type `1' to delete what you did use.");
             back_error();
           }
+
           cur_tok = s;
         }
       }
@@ -829,7 +835,7 @@ halfword scan_toks_(boolean macrodef, boolean xpand)
       store_new_token(cur_tok);
     }
 
-lab31:
+done1:
     store_new_token(end_match_token);
 
     if (cur_cmd == right_brace)
@@ -839,9 +845,9 @@ lab31:
       help2("Where was the left brace? You said something like `\\def\\a}',",
           "which I'm going to interpret as `\\def\\a{}'.");
       error();
-      goto lab40;
+      goto found;
     }
-lab30:;
+done:;
   }
   else
   {
@@ -859,7 +865,7 @@ lab30:;
         get_next();
 
         if (cur_cmd <= max_command)
-          goto lab32;
+          goto done2;
 
         if (cur_cmd != the)
         {
@@ -876,7 +882,7 @@ lab30:;
           }
         }
       }
-lab32:
+done2:
       x_token();
     }
     else
@@ -890,10 +896,10 @@ lab32:
         decr(unbalance);
 
         if (unbalance == 0)
-          goto lab40;
+          goto found;
       }
     else if (cur_cmd == mac_param)
-      if (macrodef)
+      if (macro_def)
       {
         s = cur_tok;
 
@@ -919,14 +925,13 @@ lab32:
 
     store_new_token(cur_tok);
   }
-lab40:
+found:
   scanner_status = 0;
 
-  if (hashbrace != 0)
-    store_new_token(hashbrace);
+  if (hash_brace != 0)
+    store_new_token(hash_brace);
 
-  Result = p;
-  return Result;
+  return p;
 }
 /* used only in ITEX.C */
 /* sec 0482 */
@@ -956,7 +961,7 @@ void read_toks_(integer n, halfword r)
   do
     {
       begin_file_reading();
-      cur_input.name_field = m + 1;
+      name = m + 1;
 
       if (read_open[m] == closed)
         if (interaction > nonstop_mode)
@@ -972,7 +977,7 @@ void read_toks_(integer n, halfword r)
         else
         {
           fatal_error("*** (cannot \\read from terminal in nonstop modes)");
-          return;     // abort_flag set
+          return;
         }
       else if (read_open[m] == 1)
         if (input_ln(read_file[m], false))
@@ -1017,7 +1022,7 @@ void read_toks_(integer n, halfword r)
         get_token();
 
         if (cur_tok == 0)
-          goto lab30;
+          goto done;
 
         if (align_state < 1000000L)
         {
@@ -1028,12 +1033,12 @@ void read_toks_(integer n, halfword r)
           while (!(cur_tok == 0));
 
           align_state = 1000000L;
-          goto lab30;
+          goto done;
         }
 
         store_new_token(cur_tok);
       }
-lab30:
+done:
       end_file_reading();
     }
   while (!(align_state == 1000000L));
@@ -1060,7 +1065,7 @@ void pass_text (void)
     if (cur_cmd == fi_or_else)
     {
       if (l == 0)
-        goto lab30;
+        goto done;
 
       if (cur_chr == 2)
         decr(l);
@@ -1068,7 +1073,7 @@ void pass_text (void)
     else if (cur_cmd == if_test)
       incr(l);
   }
-lab30:
+done:
   scanner_status = save_scanner_status;
 }
 /* sec 0497 */
@@ -1087,7 +1092,7 @@ void change_if_limit_(small_number l, halfword p)
       if (q == 0)
       {
         confusion("if");
-        return;       // abort_flag set
+        return;
       }
 
       if (link(q) == p)
@@ -1109,8 +1114,8 @@ void conditional (void)
   integer m, n;
   halfword p, q;
   small_number save_scanner_status;
-  halfword savecondptr;
-  small_number thisif;
+  halfword save_cond_ptr;
+  small_number this_if;
 
   {
     p = get_node(if_node_size);
@@ -1124,10 +1129,10 @@ void conditional (void)
     if_line = line;
   }
 
-  savecondptr = cond_ptr;
-  thisif = cur_chr;
+  save_cond_ptr = cond_ptr;
+  this_if = cur_chr;
 
-  switch (thisif)
+  switch (this_if)
   {
     case if_char_code:
     case if_cat_code:
@@ -1170,7 +1175,7 @@ void conditional (void)
           cur_chr = 256;
         }
 
-        if (thisif == if_char_code)
+        if (this_if == if_char_code)
           b = (n == cur_chr); 
         else
           b = (m == cur_cmd);
@@ -1180,7 +1185,7 @@ void conditional (void)
     case if_int_code:
     case if_dim_code:
       {
-        if (thisif == if_int_code)
+        if (this_if == if_int_code)
           scan_int();
         else
           scan_dimen(false, false, false);
@@ -1198,13 +1203,13 @@ void conditional (void)
         else
         {
           print_err("Missing = inserted for ");
-          print_cmd_chr(if_test, thisif);
+          print_cmd_chr(if_test, this_if);
           help1("I was expecting to see `<', `=', or `>'. Didn't.");
           back_error();
           r = '=';
         }
 
-        if (thisif == if_int_code)
+        if (this_if == if_int_code)
           scan_int();
         else 
           scan_dimen(false, false, false);
@@ -1232,15 +1237,15 @@ void conditional (void)
       break;
 
     case if_vmode_code:
-      b = (abs(mode) == 1);
+      b = (abs(mode) == vmode);
       break;
 
     case if_hmode_code:
-      b = (abs(mode) == 102);
+      b = (abs(mode) == hmode);
       break;
 
     case if_mmode_code:
-      b = (abs(mode) == 203);
+      b = (abs(mode) == mmode);
       break;
 
     case if_inner_code:
@@ -1254,11 +1259,11 @@ void conditional (void)
         scan_eight_bit_int();
         p = box(cur_val);
 
-        if (thisif == if_void_code)
+        if (this_if == if_void_code)
           b = (p == 0);
         else if (p == 0)
           b = false;
-        else if (thisif == if_hbox_code)
+        else if (this_if == if_hbox_code)
           b = (type(p) == hlist_node);
         else
           b = (type(p) == vlist_node);
@@ -1328,7 +1333,7 @@ void conditional (void)
         if (tracing_commands > 1)
         {
           begin_diagnostic();
-          print_string("{case ");
+          prints("{case ");
           print_int(n); 
           print_char('}');
           end_diagnostic(false);
@@ -1338,11 +1343,11 @@ void conditional (void)
         {
           pass_text();
 
-          if (cond_ptr == savecondptr)
+          if (cond_ptr == save_cond_ptr)
             if (cur_chr == or_code)
               decr(n);
             else 
-              goto lab50;
+              goto common_ending;
           else if (cur_chr == fi_code)
           {
             p = cond_ptr;
@@ -1354,7 +1359,7 @@ void conditional (void)
           }
         }
 
-        change_if_limit(or_code, savecondptr);
+        change_if_limit(or_code, save_cond_ptr);
         return;
       }
       break;
@@ -1365,16 +1370,16 @@ void conditional (void)
     begin_diagnostic();
 
     if (b)
-      print_string("{true}");
+      prints("{true}");
     else
-      print_string("{false}");
+      prints("{false}");
 
     end_diagnostic(false);
   }
 
-  if (b)     /* b may be used without ... */
+  if (b)
   {
-    change_if_limit(else_code, savecondptr);
+    change_if_limit(else_code, save_cond_ptr);
     return;
   }
 
@@ -1382,10 +1387,10 @@ void conditional (void)
   {
     pass_text();
 
-    if (cond_ptr == savecondptr)
+    if (cond_ptr == save_cond_ptr)
     {
       if (cur_chr != or_code)
-        goto lab50;
+        goto common_ending;
 
       print_err("Extra ");
       print_esc("or");
@@ -1403,7 +1408,7 @@ void conditional (void)
     }
   }
 
-lab50:
+common_ending:
   if (cur_chr == fi_code)
   {
     p = cond_ptr;
@@ -1491,7 +1496,7 @@ void end_name (void)
   else            // did find an extension
   {
     cur_name = str_ptr;
-    str_start[str_ptr + 1] = str_start[str_ptr]+ ext_delimiter - area_delimiter - 1;
+    str_start[str_ptr + 1] = str_start[str_ptr] + ext_delimiter - area_delimiter - 1;
     incr(str_ptr);
     cur_ext = make_string();
   }
@@ -1551,7 +1556,7 @@ void pack_file_name_(str_number n, str_number a, str_number e)
 
     if (trace_flag)
     {
-      sprintf(log_line, " pack_file_name `%s' (%d) ", name_of_file + 1, name_length); /* debugging */
+      sprintf(log_line, " pack_file_name `%s' (%lld) ", name_of_file + 1, name_length); /* debugging */
       show_line(log_line, 0);
     }
 
@@ -1679,7 +1684,7 @@ void scan_file_name (void)
   {
     if (cur_chr == '"')
     {
-      quoted_file_name = 1;
+      quoted_file_name = true;
       get_x_token();
     }
   }
@@ -1689,16 +1694,16 @@ void scan_file_name (void)
     if ((cur_cmd > other_char) || (cur_chr > 255)) 
     {
       back_input();
-      goto lab30
+      goto done
     } 
 
     if (!more_name(cur_chr))    /* up to next white space */
-      goto lab30;
+      goto done;
 
     get_x_token();
   }
 
-lab30:
+done:
   end_name();
   name_in_progress = false;
 }
@@ -1711,15 +1716,14 @@ void pack_job_name_(str_number s)
   cur_name = job_name;
   pack_file_name(cur_name, cur_area, cur_ext);
 }
-
-/**********************************************************************/
 /* sec 0530 */
 /* s - what can't be found, e - default */
 void prompt_file_name_(char * s, str_number e) 
 {
   integer k;
 
-  if (interaction == scroll_mode);
+  if (interaction == scroll_mode)
+    do_nothing();
 
   if (!strcmp("input file name", s))
     print_err("I can't find file `");
@@ -1727,18 +1731,18 @@ void prompt_file_name_(char * s, str_number e)
     print_err("I can't write on file `");
 
   print_file_name(cur_name, cur_area, cur_ext);
-  print_string("'.");
+  prints("'.");
 
   if (e == 785)    /* .tex */
     show_context();
 
   print_nl("Please type another ");
-  print_string(s); 
+  prints(s); 
 
   if (interaction < 2)
   {
     fatal_error("*** (job aborted, file error in nonstop mode)");
-    return;     // abort_flag set
+    return;
   }
 
   if (!knuth_flag)
@@ -1747,6 +1751,7 @@ void prompt_file_name_(char * s, str_number e)
 #else
     show_line(" (or Ctrl-Z to exit)", 0);
 #endif
+
   prompt_input(": ");
 
 /*  should we deal with tilde and space in file name here ??? */
@@ -1771,7 +1776,7 @@ void prompt_file_name_(char * s, str_number e)
     while (true)
     {
       if (k == last)
-        goto lab30;
+        goto done;
 /* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
 /*  convert tilde '~' to pseudo tilde */
       if (pseudo_tilde != 0 && buffer[k]== '~')
@@ -1781,11 +1786,11 @@ void prompt_file_name_(char * s, str_number e)
         buffer[k] = pseudo_space;
 /* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
       if (!more_name(buffer[k]))
-        goto lab30;
+        goto done;
 
       incr(k);
     }
-lab30:
+done:
     end_name();
   }
 
@@ -1830,13 +1835,12 @@ void open_log_file (void)
       (void) fputs(log_line, log_file);
     }
     
-    (void) fputs(tex_version, log_file); 
-    (void) fprintf(log_file, " (%s %s)", application, yandyversion);
+    fprintf(log_file, "%s (%s %s)", tex_version, application, yandyversion);
 
     if (format_ident > 0)
       slow_print(format_ident);
 
-    print_string("  ");
+    prints("  ");
 
     if (civilize_flag)
       print_int(year);
@@ -1847,7 +1851,7 @@ void open_log_file (void)
     months = " JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC";
 
     for (k = 3 * month - 2; k <= 3 * month; k++)
-      (void) putc(months[k],  log_file);
+      putc(months[k],  log_file);
 
     print_char(' ');
 
@@ -1934,26 +1938,6 @@ int end_name_copy(void)
 
   return make_string();
 }
-
-void job_name_append (void)
-{ 
-  int k, n;
-
-  k = str_start[job_name];
-  n = str_start[job_name + 1];
-
-  while (k < n)
-    more_name_copy(str_pool[k++]);
-
-  k = str_start[cur_ext];
-  n = str_start[cur_ext + 1];
-
-  while (k < n)
-    more_name_copy(str_pool[k++]);
-
-  job_name = end_name_copy();
-}
-
 /* sec 0537 */
 void start_input(void)
 {
@@ -1965,14 +1949,14 @@ void start_input(void)
     begin_file_reading();
     
     if (a_open_in(cur_file, TEXINPUTPATH))
-      goto lab30;
+      goto done;
 
     end_file_reading();
     prompt_file_name("input file name", ".tex");
   }
 
-lab30
-  cur_input.name_field = a_make_name_string(cur_file);
+done
+  name = a_make_name_string(cur_file);
 
   if (job_name == 0)
   {
@@ -1980,7 +1964,7 @@ lab30:
     open_log_file();
   }
 
-  if (term_offset + length(cur_input.name_field) > max_print_line - 2)
+  if (term_offset + length(name) > max_print_line - 2)
     print_ln();
   else if ((term_offset > 0) || (file_offset > 0))
     print_char(' ');
@@ -1991,18 +1975,15 @@ lab30:
   if (open_parens > max_open_parens)
     max_open_parens = open_parens;
 
-  slow_print(cur_input.name_field);
-
-#ifndef _WINDOWS
-  fflush(stdout);
-#endif
-
+  slow_print(name);
+  update_terminal();
   state = new_line;
 
   {
     line = 1;
 
-    if (input_ln(cur_file, false));
+    if (input_ln(cur_file, false))
+      do_nothing();
 
     firm_up_the_line();
 
@@ -2038,11 +2019,9 @@ internal_font_number read_font_info_(halfword u, str_number nom, str_number aire
   pack_file_name(nom, aire, 805); /* .tfm */
 
   if (!b_open_in(tfm_file))
-  {
-    goto lab11;
-  } 
+    goto bad_tfm;
 
-  file_opened = true; 
+  file_opened = true;
 
   {
     read_sixteen(lf);
@@ -2054,7 +2033,7 @@ internal_font_number read_font_info_(halfword u, str_number nom, str_number aire
     read_sixteen(ec);
 
     if ((bc > ec + 1) || (ec > 255))
-      goto lab11;
+      goto bad_tfm;
 
     if (bc > 255)
     {
@@ -2080,10 +2059,10 @@ internal_font_number read_font_info_(halfword u, str_number nom, str_number aire
     read_sixteen(np);
 
     if (lf != 6 + lh + (ec - bc + 1) + nw + nh + nd + ni + nl + nk + ne + np)
-      goto lab11;
+      goto bad_tfm;
 
     if ((nw == 0) || (nh == 0) || (nd == 0) || (ni == 0))
-      goto lab11;
+      goto bad_tfm;
   }
 
   lf = lf - 6 - lh;
@@ -2102,7 +2081,7 @@ internal_font_number read_font_info_(halfword u, str_number nom, str_number aire
   {
     if (trace_flag)
     {
-      sprintf(log_line, "font_ptr %d font_max %d fmem_ptr %d lf %d font_mem_size %d\n",
+      sprintf(log_line, "font_ptr %lld font_max %d fmem_ptr %lld lf %ld font_mem_size %ld\n",
           font_ptr, font_max, fmem_ptr, lf, font_mem_size);
       show_line(log_line, 0);
     }
@@ -2114,23 +2093,23 @@ internal_font_number read_font_info_(halfword u, str_number nom, str_number aire
 
     if (s >= 0)
     {
-      print_string(" at ");
+      prints(" at ");
       print_scaled(s);
-      print_string("pt");
+      prints("pt");
     }
     else if (s != -1000)
     {
-      print_string(" scaled ");
+      prints(" scaled ");
       print_int(- (integer) s);
     }
 
-    print_string(" not loaded: Not enough room left");
+    prints(" not loaded: Not enough room left");
     help4("I'm afraid I won't be able to make use of this font,",
         "because my memory for character-size data is too small.",
         "If you're really stuck, ask a wizard to enlarge me.",
         "Or maybe try `I\\font<same font id>=<name of loaded font>'.");
     error();
-    goto lab30;
+    goto done;
   }
 
   f = font_ptr + 1;
@@ -2146,7 +2125,7 @@ internal_font_number read_font_info_(halfword u, str_number nom, str_number aire
 
   {
     if (lh < 2)
-      goto lab11;
+      goto bad_tfm;
     
     store_four_quarters(font_check[f]);
     tfm_temp = getc(tfm_file);
@@ -2156,8 +2135,8 @@ internal_font_number read_font_info_(halfword u, str_number nom, str_number aire
     tfm_temp = getc(tfm_file);
     z =(z * 16) + (tfm_temp / 16);
 
-    if (z < 65536L)
-      goto lab11
+    if (z < unity)
+      goto bad_tfm
 
     while (lh > 2)
     {
@@ -2184,25 +2163,25 @@ internal_font_number read_font_info_(halfword u, str_number nom, str_number aire
     store_four_quarters(font_info[k].qqqq);
 
     if ((a >= nw) || (b / 16 >= nh) || (b % 16 >= nd) || (c / 4 >= ni))
-      goto lab11;
+      goto bad_tfm;
 
     switch (c % 4)
     {
       case lig_tag:
         if (d >= nl)
-          goto lab11;
+          goto bad_tfm;
         break;
 
       case ext_tag:
         if (d >= ne)
-          goto lab11;
+          goto bad_tfm;
         break;
 
       case list_tag:
         {
           {
             if ((d < bc) || (d > ec))
-              goto lab11;
+              goto bad_tfm;
           }
 
           while (d < k + bc - fmem_ptr)
@@ -2210,14 +2189,14 @@ internal_font_number read_font_info_(halfword u, str_number nom, str_number aire
             qw = char_info(f, d);
  
             if (char_tag(qw) != list_tag)
-              goto lab45;
+              goto not_found;
 
             d = rem_byte(qw);
           }
 
           if (d == k + bc - fmem_ptr)
-            goto lab11;
-lab45:; 
+            goto bad_tfm;
+not_found:; 
         }
         break;
 
@@ -2257,20 +2236,20 @@ lab45:;
       else if (a == 255)
         font_info[k].cint = sw - alpha;
       else
-        goto lab11;
+        goto bad_tfm;
     }
 
     if (font_info[width_base[f]].cint != 0)
-      goto lab11;
+      goto bad_tfm;
 
     if (font_info[height_base[f]].cint != 0)
-      goto lab11;
+      goto bad_tfm;
 
     if (font_info[depth_base[f]].cint != 0)
-      goto lab11;
+      goto bad_tfm;
 
     if (font_info[italic_base[f]].cint != 0)
-      goto lab11;
+      goto bad_tfm;
   }
 
   bch_label = 32767;     /* '77777 */
@@ -2285,7 +2264,7 @@ lab45:;
       if (a > 128)
       {
         if (256 * c + d >= nl)
-          goto lab11;       /* error in TFM, abort */
+          goto bad_tfm;
 
         if (a == 255)
           if (k == lig_kern_base[f])
@@ -2294,36 +2273,16 @@ lab45:;
       else
       {
         if (b != bchar)
-        {
-          {
-            if ((b < bc) || (b > ec))  /* check-existence(b) */
-              goto lab11;         /* error in TFM, abort */
-          }
-
-          qw = font_info[char_base[f] + b].qqqq;
-
-          if (!(qw.b0 > 0))
-            goto lab11;         /* error in TFM, abort */
-        }
+          check_existence(b);
 
         if (c < 128)
-        {
-          {
-            if ((d < bc) || (d > ec))  /* check-existence(d) */
-              goto lab11;         /* error in TFM, abort */
-          }
-
-          qw = font_info[char_base[f] + d].qqqq;
-
-          if (!(qw.b0 > 0))
-            goto lab11;         /* error in TFM, abort */
-        }
+          check_existence(d);
         else if (256 * (c - 128) + d >= nk)
-          goto lab11;           /* error in TFM, abort */
+          goto bad_tfm;
 
         if (a < 128)
           if (k - lig_kern_base[f] + a + 1 >= nl)
-            goto lab11;         /* error in TFM, abort */
+            goto bad_tfm;
       }
     }
 
@@ -2347,64 +2306,24 @@ lab45:;
       font_info[k].cint = sw;
     else if (a == 255)
       font_info[k].cint = sw - alpha;
-    else goto lab11;
+    else
+      goto bad_tfm;
   }
 
-  /*  read extensible character recipes */
   for (k = exten_base[f]; k <= param_base[f] - 1; k++)
   {
     store_four_quarters(font_info[k].qqqq);
 
     if (a != 0)
-    {
-      {
-        if ((a < bc) || (a > ec))
-          goto lab11;
-      }
-
-      qw = font_info[char_base[f] + a].qqqq;
-
-      if (!(qw.b0 > 0))
-        goto lab11;
-    }
+      check_existence(a);
 
     if (b != 0)
-    {
-      {
-        if ((b < bc) || (b > ec))
-          goto lab11;
-      }
-
-      qw = font_info[char_base[f] + b].qqqq;
-
-      if (!(qw.b0 > 0))
-        goto lab11;
-    }
+      check_existence(b);
 
     if (c != 0)
-    {
-      {
-        if ((c < bc) || (c > ec))
-          goto lab11;
-      }
-
-      qw = font_info[char_base[f] + c].qqqq;
+      check_existence(c);
 
-      if (!(qw.b0 > 0))
-        goto lab11;
-    }
-
-    {
-      {
-        if ((d < bc) || (d > ec))
-          goto lab11;
-      }
-
-      qw = font_info[char_base[f] + d].qqqq;
-
-      if (!(qw.b0 > 0))
-        goto lab11;
-    }
+    check_existence(d);
   }
 
   {
@@ -2440,11 +2359,11 @@ lab45:;
           font_info[param_base[f] + k - 1].cint = sw;
         else if (a == 255)
           font_info[param_base[f] + k - 1].cint = sw - alpha;
-        else goto lab11;
+        else goto bad_tfm;
       }
 
     if (feof(tfm_file))
-      goto lab11;
+      goto bad_tfm;
 
     for (k = np + 1; k <= 7; k++)
       font_info[param_base[f] + k - 1].cint = 0;
@@ -2489,9 +2408,9 @@ lab45:;
   fmem_ptr = fmem_ptr + lf;
   font_ptr = f;
   g = f;
-  goto lab30;
+  goto done;
 
-lab11:
+bad_tfm:
   print_err("Font ");
   sprint_cs(u); 
   print_char('=');
@@ -2499,20 +2418,20 @@ lab11:
 
   if (s >= 0)
   {
-    print_string(" at ");
+    prints(" at ");
     print_scaled(s);
-    print_string("pt");
+    prints("pt");
   }
   else if (s != -1000)
   {
-    print_string("scaled");
-    print_int(- (integer) s);
+    prints("scaled");
+    print_int(-(integer)s);
   } 
 
   if (file_opened)
-    print_string(" not loadable: Bad metric (TFM) file");
+    prints(" not loadable: Bad metric (TFM) file");
   else
-    print_string(" not loadable: Metric (TFM) file not found");
+    prints(" not loadable: Metric (TFM) file not found");
 
   help5("I wasn't able to read the size data for this font,",
       "so I will ignore the font specification.",
@@ -2521,7 +2440,7 @@ lab11:
       "e.g., type `I\\font<same font id>=<substitute font name>'.");
   error();
 
-lab30:
+done:
   if (file_opened)
     b_close(tfm_file);