A fix for the F3 /var/log bug...
Alfie Costa (backup address)
agcosta at gmx.net
Thu May 29 20:00:56 UTC 2003
On Thu, 29 May 2003 11:31, Oswald Buddenhagen wrote:
> yep. it's [ double hashes ] a bash-ism (or a ksh-ism, fwiw).
It came from from Korn, but it's POSIX shell syntax now.
> other than that, i pretty much dislike this directory-based special-casing. i
> think my suggestion with "file -z" (or equivalent) is much cleaner.
I agree directory based conditionals are not ideal, but standard unix directory
structures are a poor man's file type, and it's fast and it works. The only
trouble is if you move a log file out of '/var/log' 'mc' would think the log
file was a man page. Better than nothing though, and no speed hit.
A 'file -z' clause wouldn't be locationally challenged, but it'd be slower.
Example:
file -z /var/log/syslog.1.gz
/var/log/syslog.1.gz: regular file,
file -z /usr/man/man1/debclean.1.gz
/usr/man/man1/debclean.1.gz: ASCII troff or preprocessor input text (gzip
compressed data, was "debclean.1", from Unix, max compression)
...then you've got to parse the output of that. Using substitutions like '##'
would make that quick, but if substitutions are taboo, then it'd have to be
'grep'. Sample compressed man code:
View=%view{ascii,nroff} t=`file -z %f | grep troff` ; if [ -z "$t" ] ;
then gzip -dc %f ; else gzip -dc %f | nroff -c -Tlatin1 -mandoc ; fi
This assumes 'troff' is a good magic word for man pages. Mostly it is, but how
do you parse for this?
file -z /usr/man/man1/sync.1.gz
/usr/man/man1/sync.1.gz: ASCII English text (gzip compressed data, was
"sync.1", from Unix, max compression)
Apart from the directory name, there ain't nuthin there! :(
Most efficient of all would be a new file type attribute created either when
the file is first made, or on some regular basis, (like the locate database).
"Never do at run time what you can do at compile time" goes the motto. The new
ReiserFS offers many possibilities for this sort of thing.
In the meantime, for those who prefer the 'file -z' way, attached is the same
patch, changed so it does it the 'file -z | grep' way.
-------------- next part --------------
The following section of this message contains a file attachment
prepared for transmission using the Internet MIME message format.
If you are using Pegasus Mail, or any another MIME-compliant system,
you should be able to save it or view it from within your mailer.
If you cannot, please ask your system administrator for assistance.
---- File information -----------
File: mc.ext.2nd.patch
Date: 27 May 2003, 2:02
Size: 1663 bytes.
Type: Unknown
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mc.ext.2nd.patch
Type: application/octet-stream
Size: 1663 bytes
Desc: not available
URL: <http://lists.midnight-commander.org/pipermail/mc-devel/attachments/20030529/f9ddce47/attachment.obj>
More information about the mc-devel
mailing list