23 static PyObject *py_kpse_find_file(PyObject *self, PyObject *args)
24 {
25 char *filename;
26 char *format;
27 char *completefilename;
28 PyObject *returnvalue;
29 kpse_file_format_type kpse_file_format;
30
31 if (PyArg_ParseTuple(args, "ss", &filename, &format)) {
32
when PyArg_ParseTuple() succeeds
taking True path
33 /* if (!strcmp(format, "gf")) kpse_file_format = kpse_gf_format; else */
34 /* if (!strcmp(format, "pk")) kpse_file_format = kpse_pk_format; else */
35 /* if (!strcmp(format, "bitmap font")) kpse_file_format = kpse_any_glyph_format; else */
36 if (!strcmp(format, "tfm")) kpse_file_format = kpse_tfm_format; else
37 if (!strcmp(format, "afm")) kpse_file_format = kpse_afm_format; else
taking True path
when treating unknown const char * from pyx/pykpathsea.c:32 as non-NULL
when considering range: -255 <= value <= -1
taking False path
taking False path
38 /* if (!strcmp(format, "base")) kpse_file_format = kpse_base_format; else */
taking True path
when considering range: -255 <= value <= -1
taking False path
taking False path
39 /* if (!strcmp(format, "bib")) kpse_file_format = kpse_bib_format; else */
40 /* if (!strcmp(format, "bst")) kpse_file_format = kpse_bst_format; else */
41 /* if (!strcmp(format, "cnf")) kpse_file_format = kpse_cnf_format; else */
42 /* if (!strcmp(format, "ls-R")) kpse_file_format = kpse_db_format; else */
43 /* if (!strcmp(format, "fmt")) kpse_file_format = kpse_fmt_format; else */
44 if (!strcmp(format, "map")) kpse_file_format = kpse_fontmap_format; else
45 /* if (!strcmp(format, "mem")) kpse_file_format = kpse_mem_format; else */
taking True path
when considering range: -255 <= value <= -1
taking False path
taking False path
46 /* if (!strcmp(format, "mf")) kpse_file_format = kpse_mf_format; else */
47 /* if (!strcmp(format, "mfpool")) kpse_file_format = kpse_mfpool_format; else */
48 /* if (!strcmp(format, "mft")) kpse_file_format = kpse_mft_format; else */
49 /* if (!strcmp(format, "mp")) kpse_file_format = kpse_mp_format; else */
50 /* if (!strcmp(format, "mppool")) kpse_file_format = kpse_mppool_format; else */
51 /* if (!strcmp(format, "MetaPost support")) kpse_file_format = kpse_mpsupport_format; else */
52 /* if (!strcmp(format, "ocp")) kpse_file_format = kpse_ocp_format; else */
53 /* if (!strcmp(format, "ofm")) kpse_file_format = kpse_ofm_format; else */
54 /* if (!strcmp(format, "opl")) kpse_file_format = kpse_opl_format; else */
55 /* if (!strcmp(format, "otp")) kpse_file_format = kpse_otp_format; else */
56 /* if (!strcmp(format, "ovf")) kpse_file_format = kpse_ovf_format; else */
57 /* if (!strcmp(format, "ovp")) kpse_file_format = kpse_ovp_format; else */
58 if (!strcmp(format, "graphics/figure")) kpse_file_format = kpse_pict_format; else
59 /* if (!strcmp(format, "tex")) kpse_file_format = kpse_tex_format; else */
taking False path
when considering range: -0x80000000 <= value <= -1
taking False path
60 /* if (!strcmp(format, "TeX system documentation")) kpse_file_format = kpse_texdoc_format; else */
61 /* if (!strcmp(format, "texpool")) kpse_file_format = kpse_texpool_format; else */
62 /* if (!strcmp(format, "TeX system sources")) kpse_file_format = kpse_texsource_format; else */
63 if (!strcmp(format, "PostScript header")) kpse_file_format = kpse_tex_ps_header_format; else
64 /* if (!strcmp(format, "Troff fonts")) kpse_file_format = kpse_troff_font_format; else */
taking False path
when considering range: -0x80000000 <= value <= -1
taking False path
65 if (!strcmp(format, "type1 fonts")) kpse_file_format = kpse_type1_format; else
66 if (!strcmp(format, "vf")) kpse_file_format = kpse_vf_format; else
taking False path
when considering range: -0x80000000 <= value <= -1
taking False path
67 if (!strcmp(format, "dvips config")) kpse_file_format = kpse_dvips_config_format; else
taking True path
when considering value == (int)0 from pyx/pykpathsea.c:67
taking True path
when considering value == (int)0 from pyx/pykpathsea.c:67
taking True path
when considering range: 1 <= value <= 255
taking False path
taking False path
68 /* if (!strcmp(format, "ist")) kpse_file_format = kpse_ist_format; else */
taking False path
when considering range: -0x80000000 <= value <= -1
taking False path
69 /* if (!strcmp(format, "truetype fonts")) kpse_file_format = kpse_truetype_format; else */
70 /* if (!strcmp(format, "type42 fonts")) kpse_file_format = kpse_type42_format; else */
71 /* if (!strcmp(format, "web2c files")) kpse_file_format = kpse_web2c_format; else */
72 /* if (!strcmp(format, "other text files")) kpse_file_format = kpse_program_text_format; else */
73 /* if (!strcmp(format, "other binary files")) kpse_file_format = kpse_program_binary_format; else */
74 /* if (!strcmp(format, "misc fonts")) kpse_file_format = kpse_miscfonts_format; else */
75 return NULL;
76
77 completefilename = kpse_find_file(filename, kpse_file_format, 1);
78 returnvalue = Py_BuildValue("s", completefilename);
79 /* XXX: free(completefilename); */
80 return returnvalue;
81 }
82
83 return NULL;
84
85 }
86