2005-10-31 15:28:19 +01:00
|
|
|
#include <lib.h>
|
|
|
|
#define lstat _lstat
|
2005-06-10 17:12:03 +02:00
|
|
|
#include <sys/stat.h>
|
2005-10-31 15:28:19 +01:00
|
|
|
#include <string.h>
|
2005-06-10 17:12:03 +02:00
|
|
|
|
2005-10-31 15:28:19 +01:00
|
|
|
PUBLIC int lstat(name, buffer)
|
|
|
|
_CONST char *name;
|
|
|
|
struct stat *buffer;
|
2005-06-10 17:12:03 +02:00
|
|
|
{
|
2005-10-31 15:28:19 +01:00
|
|
|
message m;
|
2005-11-07 14:15:09 +01:00
|
|
|
int r;
|
2005-10-31 15:28:19 +01:00
|
|
|
|
|
|
|
m.m1_i1 = strlen(name) + 1;
|
|
|
|
m.m1_p1 = (char *) name;
|
|
|
|
m.m1_p2 = (char *) buffer;
|
2005-11-07 14:15:09 +01:00
|
|
|
if((r = _syscall(FS, LSTAT, &m)) >= 0 || errno != ENOSYS)
|
|
|
|
return r;
|
|
|
|
return _stat(name, buffer);
|
2005-06-10 17:12:03 +02:00
|
|
|
}
|