version 1.15.2.1, 2013/06/04 12:19:54
|
version 1.17.8.1, 2016/08/10 13:59:44
|
Line 12 terms:
|
Line 12 terms:
|
All of the documentation and software included in the ELWIX and AITNET |
All of the documentation and software included in the ELWIX and AITNET |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
|
|
Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 | Copyright 2004 - 2016 |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
|
|
Redistribution and use in source and binary forms, with or without |
Redistribution and use in source and binary forms, with or without |
Line 563 ioRealFileName(const char *fname)
|
Line 563 ioRealFileName(const char *fname)
|
if (!fname) |
if (!fname) |
return NULL; |
return NULL; |
|
|
if (stat(fname, &sb) == -1) { |
|
LOGERR; |
|
return NULL; |
|
} |
|
str = e_malloc(MAXPATHLEN); |
str = e_malloc(MAXPATHLEN); |
if (!str) { |
if (!str) { |
io_SetErr(elwix_GetErrno(), "%s", elwix_GetError()); |
io_SetErr(elwix_GetErrno(), "%s", elwix_GetError()); |
return NULL; |
return NULL; |
} else |
} else |
memset(str, 0, MAXPATHLEN); |
memset(str, 0, MAXPATHLEN); |
if (sb.st_mode & S_IFLNK) { | if (readlink(fname, str, MAXPATHLEN) == -1) { |
if (readlink(fname, str, MAXPATHLEN) == -1) { | if (stat(fname, &sb) == -1) { |
LOGERR; |
LOGERR; |
e_free(str); |
e_free(str); |
return NULL; |
return NULL; |
} | } else |
} else | strlcpy(str, fname, MAXPATHLEN); |
strlcpy(str, fname, MAXPATHLEN); | } |
|
|
return str; |
return str; |
} |
} |