[tex-live] dvipdfm-x and %b: missing break
Michael Rutter
mjr19 at cam.ac.uk
Mon Jan 20 15:00:41 CET 2014
In dpx_file_apply_filter() in source/texk/dvipdfm-x/dpxfile.c from
rsync tug.org::tldevsrc/Build/source at a line number of around 996 I find
case 'i': /* Input filename */
need(cmd, n, size, strlen(input));
strcpy(cmd + n, input); n += strlen(input);
break;
case 'b':
need(cmd, n, size, strlen(input));
q = strrchr(input, '.'); /* wrong */
if (q) {
memcpy(cmd + n, input, (int) (q - input));
n += (int) (q - input);
} else {
strcpy(cmd + n, input); n += strlen(input);
}
case 'v': /* Version number, e.g. 1.4 */ {
char buf[6];
sprintf(buf, "1.%hu", (unsigned short) version);
[...]
I believe that there should be a "break;" at the end of the "case 'b':"
section. Otherwise "%b" will be treated as "%b%v" (which is what I am
observing in texlive as shipped with OpenSuSE 13.1).
Regards,
Michael Rutter
More information about the tex-live
mailing list