diff options
-rwxr-xr-x | converter/other/anytopnm | 37 | ||||
-rw-r--r-- | doc/HISTORY | 9 | ||||
-rw-r--r-- | version.mk | 2 |
3 files changed, 39 insertions, 9 deletions
diff --git a/converter/other/anytopnm b/converter/other/anytopnm index f3a00793..397faae5 100755 --- a/converter/other/anytopnm +++ b/converter/other/anytopnm @@ -47,18 +47,39 @@ putInputIntoTempfile() { setMimeType() { +#------------------------------------------------------------------------------ +# Set variable 'mimeType' to the mime type string (e.g. "application/binary") +# +# If we can't tell, set it to "unknown". +#------------------------------------------------------------------------------ # $1 is the file name - # Christos Zoulas's current 'file' (see Freshmeat) has the --mime option. + # Old versions of 'file' cannot tell us the mime type; they lack any option + # to do so. + # + # Newer ones have a --mime option for that. + # + # Still newer ones (ca 2008) have a --mime option, but it does something + # different - it prints the mime type plus the mime encoding. And they + # have --mime-type to print just the mime type. - file --mime /dev/null >/dev/null 2>/dev/null + file --mime-type /dev/null >/dev/null 2>/dev/null if [ $? -eq 0 ]; then - # Now that we know the --mime option exists, use it. - mimeType=`file --mime "$1" | cut -d: -f2- | cut -c2-` + # Now that we know the --mime-type option exists, use it. + mimeType=`file --mime-type "$1" | cut -d: -f2- | cut -c2-` else - # file --mime failed; we don't know why, but we assume it's because it - # is a traditional 'file' program that doesn't have a --mime option. - mimeType="unknown" + # file --mime-type failed; we don't know why, but we assume it's + # because it is an older 'file' program that doesn't have a --mime-type + # option. + file --mime /dev/null >/dev/null 2>/dev/null + if [ $? -eq 0 ]; then + # Now that we know the --mime option exists, use it. + mimeType=`file --mime "$1" | cut -d: -f2- | cut -c2-` + else + # file --mime failed; we don't know why, but we assume it's because + # it is an older 'file' program that doesn't have a --mime option. + mimeType="unknown" + fi fi } @@ -109,7 +130,7 @@ computeTypeFromTypeDescription () { case "$1" in - *PBM* | *PGM* | *PPM* ) + *PBM* | *PGM* | *PPM* | *Netpbm*PAM*) filetype=pnm ;; diff --git a/doc/HISTORY b/doc/HISTORY index 01a90510..730c412e 100644 --- a/doc/HISTORY +++ b/doc/HISTORY @@ -4,6 +4,15 @@ Netpbm. CHANGE HISTORY -------------- +15.10.31 BJH Release 10.72.02 + + anytopnm: use --mime-type option instead of --mime on newer + 'file' program (on which --mime has a new meaning so that + 'anytopnm' cannot recognize some file types). + + anytopnm: recognize "Netpbm PAM" non-mime output from 'file' + program as indicating PAM. + 15.10.14 BJH Release 10.72.01 Build: fix undefined reference to parse_printf_format etc. on diff --git a/version.mk b/version.mk index 06fbe7f7..b93f4048 100644 --- a/version.mk +++ b/version.mk @@ -1,3 +1,3 @@ NETPBM_MAJOR_RELEASE = 10 NETPBM_MINOR_RELEASE = 72 -NETPBM_POINT_RELEASE = 1 +NETPBM_POINT_RELEASE = 2 |