mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Version 1.4.1-1
- Added "-fPIC" to the compiler options in Make.config.template when compiling plugins (thanks to Udo Richter). If you use your own Make.config file, you may want to add these lines there, too. - Added some comment to cDevice::GetDevice() to explain how the individual conditions are put together to make a decision on which device to use. - Updated 'S13E' in 'sources.conf' (thanks to Antti Hartikainen). - Now making sure VPS timers don't get stuck with outdated events, and that the actual device isn't used for updating a VPS timer's event as long as other free devices are available. - Modified rcu.c to better handle RC5 codes. - Added a missing variable initialization in cRingBufferLinear::cRingBufferLinear() (thanks to Prakash Punnoor). - Fixed handling relative link targets in the ReadLink() function (reported by Patrick Cernko). - Now making sure a VPS timer has a schedule in case the epg.data file didn't contain one when VDR was started.
This commit is contained in:
22
tools.c
22
tools.c
@@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: tools.c 1.118 2006/05/26 10:10:31 kls Exp $
|
||||
* $Id: tools.c 1.119 2006/06/17 09:45:32 kls Exp $
|
||||
*/
|
||||
|
||||
#include "tools.h"
|
||||
@@ -480,22 +480,16 @@ int DirSizeMB(const char *DirName)
|
||||
|
||||
char *ReadLink(const char *FileName)
|
||||
{
|
||||
char RealName[PATH_MAX];
|
||||
const char *TargetName = NULL;
|
||||
int n = readlink(FileName, RealName, sizeof(RealName) - 1);
|
||||
if (n < 0) {
|
||||
if (errno == ENOENT || errno == EINVAL) // file doesn't exist or is not a symlink
|
||||
TargetName = FileName;
|
||||
if (!FileName)
|
||||
return NULL;
|
||||
char *TargetName = canonicalize_file_name(FileName);
|
||||
if (!TargetName) {
|
||||
if (errno == ENOENT) // file doesn't exist
|
||||
TargetName = strdup(FileName);
|
||||
else // some other error occurred
|
||||
LOG_ERROR_STR(FileName);
|
||||
}
|
||||
else if (n < int(sizeof(RealName))) { // got it!
|
||||
RealName[n] = 0;
|
||||
TargetName = RealName;
|
||||
}
|
||||
else
|
||||
esyslog("ERROR: symlink's target name too long: %s", FileName);
|
||||
return TargetName ? strdup(TargetName) : NULL;
|
||||
return TargetName;
|
||||
}
|
||||
|
||||
bool SpinUpDisk(const char *FileName)
|
||||
|
Reference in New Issue
Block a user