mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-12 11:10:07 +00:00
Better handling of executables.
This commit is contained in:
parent
db3f85b9fe
commit
adee16764b
1 changed files with 13 additions and 4 deletions
|
@ -637,8 +637,6 @@ struct FILE_STRING
|
|||
"!<arch>\n__.SYMDEF", "archive random library", 16, "application/octet-stream",
|
||||
"!<arch>\n", "archive", 8, "application/octet-stream",
|
||||
"070707", "cpio archive - ascii header", 6, "application/octet-stream",
|
||||
"#!/bin/rc", "rc executable file", 9, "text/plain",
|
||||
"#!/bin/sh", "sh executable file", 9, "text/plain",
|
||||
"%!", "postscript", 2, "application/postscript",
|
||||
"\004%!", "postscript", 3, "application/postscript",
|
||||
"x T post", "troff output for post", 8, "application/troff",
|
||||
|
@ -668,7 +666,7 @@ struct FILE_STRING
|
|||
int
|
||||
istring(void)
|
||||
{
|
||||
int i;
|
||||
int i, j;
|
||||
struct FILE_STRING *p;
|
||||
|
||||
for(p = file_string; p->key; p++) {
|
||||
|
@ -690,6 +688,17 @@ istring(void)
|
|||
print("%.*s picture\n", utfnlen((char*)buf+5, i-5), (char*)buf+5);
|
||||
return 1;
|
||||
}
|
||||
if(buf[0]=='#' && buf[1]=='!'){
|
||||
i=2;
|
||||
for(j=2; j < nbuf && buf[j] != ' ' && buf[j] != '\n' && buf[j] != '\r'; j++)
|
||||
if(buf[j] == '/')
|
||||
i = j+1;
|
||||
if(mime)
|
||||
print(PLAIN);
|
||||
else
|
||||
print("%.*s executable file script\n", utfnlen((char*)buf+i, j-i), (char*)buf+i);
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1245,7 +1254,7 @@ iself(void)
|
|||
};
|
||||
|
||||
|
||||
if (memcmp(buf, "\0177ELF", 4) == 0){
|
||||
if (memcmp(buf, "\177ELF", 4) == 0){
|
||||
/* gcc misparses \x7FELF as \x7FE L F */
|
||||
if (!mime){
|
||||
int n = (buf[19] << 8) | buf[18];
|
||||
|
|
Loading…
Reference in a new issue