名前: hide 日時: 2001-06-25 11:59:46 IPアドレス: 210.249.65.*
> 712 に関して,すのものさんから ANSI C 規格書の > 3.3.16 assignment operators に The order of evaluation of the > operands is unspecified. とあるのがまさにそれだろうというご指摘をいただ > きました。 C言語の処理系に依存するプログラミングは要注意ということですね。 dvipdfmのその箇所です。gcc3.0でコンパイルする場合の参考にして下さい。 --- dvi.c.orig Thu Jun 14 13:24:48 2001 +++ dvi.c Mon Jun 25 11:38:30 2001 @@ -356,6 +356,7 @@ int dvi_locate_font (char *tex_name, spt_t ptsize) { int thisfont; + int font_id; if (debug) { fprintf (stderr, "dvi_locate_font: fontname: (%s) ptsize: %ld, dvi_id: %d\n", tex_name, ptsize, num_loaded_fonts); @@ -370,14 +371,16 @@ loaded_fonts[thisfont].source = VF; /* This will be reset later if it was really generated by the dvi file */ - loaded_fonts[thisfont].font_id = vf_locate_font (tex_name, ptsize); + font_id = vf_locate_font (tex_name, ptsize); + loaded_fonts[thisfont].font_id = font_id; if (loaded_fonts[thisfont].font_id >= 0) { if (verbose) fprintf (stderr, "(VF)"); loaded_fonts[thisfont].type = VIRTUAL; } else { loaded_fonts[thisfont].type = PHYSICAL; - loaded_fonts[thisfont].font_id = dev_locate_font (tex_name, ptsize); + font_id = dev_locate_font (tex_name, ptsize); + loaded_fonts[thisfont].font_id = font_id; if (loaded_fonts[thisfont].font_id < 0) { fprintf (stderr, "%s: Can't locate a Type 1, TTF, PK, or virtual font file\n", tex_name); ERROR ("Not sure how to proceed. For now this is fatal\n\
この書き込みへの返事: