]> diplodocus.org Git - nmh/blob - m4/mimetype.m4
lock_file.c: close(2) file descriptor on failure, avoiding leak.
[nmh] / m4 / mimetype.m4
1 dnl
2 dnl Try to see if we have a program that can determine the MIME type
3 dnl of a particular file
4 dnl
5 dnl Assume that if file(1) doesn't support --mime-type, then it's
6 dnl unusable. The --mime option to file 4.17 on CentOS 5.9, for
7 dnl example, prints out a long description after the mime type. We
8 dnl don't want that.
9
10 AC_DEFUN([NMH_MIMETYPEPROC],
11 [AC_CACHE_CHECK([for a program to provide a MIME type string],
12 [nmh_cv_mimetype_proc],
13 [nmh_cv_mimetype_proc=
14 for mprog in 'file --brief --dereference --mime-type' \
15 'file --dereference --mime-type' \
16 'file --brief --mime-type' \
17 'file --mime-type'
18 do
19 AS_IF([$mprog "${srcdir}/configure" > /dev/null 2>&1],
20 [nmh_cv_mimetype_proc="$mprog"; break])
21 done])
22 AS_IF([test X"$nmh_cv_mimetype_proc" != X],
23 [mimetype_proc="\"${nmh_cv_mimetype_proc}\""
24 AC_DEFINE_UNQUOTED([MIMETYPEPROC], [$mimetype_proc],
25 [Program, with arguments, to provide MIME type.])])])
26
27 dnl The OpenBSD 5.4 file (4.24) reports --mime-encoding of text
28 dnl files as "binary". Detect that by only accepting "us-ascii".
29 AC_DEFUN([NMH_MIMEENCODINGPROC],
30 [AC_CACHE_CHECK([for a program to provide a MIME encoding string],
31 [nmh_cv_mimeencoding_proc],
32 [nmh_cv_mimeencoding_proc=
33 for mprog in 'file --brief --dereference --mime-encoding' \
34 'file --dereference --mime-encoding' \
35 'file --brief --mime-encoding' \
36 'file --mime-encoding'
37 do
38 AS_IF([$mprog "${srcdir}/DATE" > /dev/null 2>&1],
39 AS_CASE([`$mprog "${srcdir}/DATE"`],
40 [us-ascii],[nmh_cv_mimeencoding_proc="$mprog"; break]))
41 done])
42 AS_IF([test X"$nmh_cv_mimeencoding_proc" != X],
43 [mimeencoding_proc="\"${nmh_cv_mimeencoding_proc}\""
44 AC_DEFINE_UNQUOTED([MIMEENCODINGPROC], [$mimeencoding_proc],
45 [Program, with arguments, to provide MIME encoding.])])])