vdr
1.7.31
|
#include "tools.h"
#include <ctype.h>
#include <dirent.h>
#include <errno.h>
#include <jpeglib.h>
#include <stdlib.h>
#include <sys/time.h>
#include <sys/vfs.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include "i18n.h"
#include "thread.h"
Go to the source code of this file.
Classes | |
struct | tJpegCompressData |
Macros | |
#define | MAXSYSLOGBUF 256 |
#define | MT(s, m, v) ((*(s) & (m)) == (v)) |
#define | JPEGCOMPRESSMEM 500000 |
#define | USE_FADVISE |
#define | WRITE_BUFFER KILOBYTE(800) |
#define | FADVGRAN KILOBYTE(4) |
#define | READCHUNK MEGABYTE(8) |
#define | LOCKFILENAME ".lock-vdr" |
#define | LOCKFILESTALETIME 600 |
Functions | |
void | syslog_with_tid (int priority, const char *format,...) |
int | BCD2INT (int x) |
ssize_t | safe_read (int filedes, void *buffer, size_t size) |
ssize_t | safe_write (int filedes, const void *buffer, size_t size) |
void | writechar (int filedes, char c) |
int | WriteAllOrNothing (int fd, const uchar *Data, int Length, int TimeoutMs, int RetryMs) |
char * | strcpyrealloc (char *dest, const char *src) |
char * | strn0cpy (char *dest, const char *src, size_t n) |
char * | strreplace (char *s, char c1, char c2) |
char * | strreplace (char *s, const char *s1, const char *s2) |
char * | stripspace (char *s) |
char * | compactspace (char *s) |
cString | strescape (const char *s, const char *chars) |
bool | startswith (const char *s, const char *p) |
bool | endswith (const char *s, const char *p) |
bool | isempty (const char *s) |
int | numdigits (int n) |
bool | isnumber (const char *s) |
int64_t | StrToNum (const char *s) |
bool | StrInArray (const char *a[], const char *s) |
cString | AddDirectory (const char *DirName, const char *FileName) |
cString | itoa (int n) |
bool | EntriesOnSameFileSystem (const char *File1, const char *File2) |
int | FreeDiskSpaceMB (const char *Directory, int *UsedMB) |
bool | DirectoryOk (const char *DirName, bool LogErrors) |
bool | MakeDirs (const char *FileName, bool IsDirectory) |
bool | RemoveFileOrDir (const char *FileName, bool FollowSymlinks) |
bool | RemoveEmptyDirectories (const char *DirName, bool RemoveThis, const char *IgnoreFiles[]) |
int | DirSizeMB (const char *DirName) |
char * | ReadLink (const char *FileName) |
bool | SpinUpDisk (const char *FileName) |
void | TouchFile (const char *FileName) |
time_t | LastModifiedTime (const char *FileName) |
off_t | FileSize (const char *FileName) |
int | Utf8CharLen (const char *s) |
uint | Utf8CharGet (const char *s, int Length) |
int | Utf8CharSet (uint c, char *s) |
int | Utf8SymChars (const char *s, int Symbols) |
int | Utf8StrLen (const char *s) |
char * | Utf8Strn0Cpy (char *Dest, const char *Src, int n) |
int | Utf8ToArray (const char *s, uint *a, int Size) |
int | Utf8FromArray (const uint *a, char *s, int Size, int Max) |
cString | WeekDayName (int WeekDay) |
cString | WeekDayName (time_t t) |
cString | WeekDayNameFull (int WeekDay) |
cString | WeekDayNameFull (time_t t) |
cString | DayDateTime (time_t t) |
cString | TimeToString (time_t t) |
cString | DateString (time_t t) |
cString | ShortDateString (time_t t) |
cString | TimeString (time_t t) |
static void | JpegCompressInitDestination (j_compress_ptr cinfo) |
static boolean | JpegCompressEmptyOutputBuffer (j_compress_ptr cinfo) |
static void | JpegCompressTermDestination (j_compress_ptr cinfo) |
uchar * | RgbToJpeg (uchar *Mem, int Width, int Height, int &Size, int Quality) |
static int | CompareListObjects (const void *a, const void *b) |
Variables | |
int | SysLogLevel = 3 |
static uint | SystemToUtf8 [128] = { 0 } |
#define FADVGRAN KILOBYTE(4) |
Definition at line 1648 of file tools.c.
Referenced by cUnbufferedFile::FadviseDrop().
#define JPEGCOMPRESSMEM 500000 |
Definition at line 1092 of file tools.c.
Referenced by JpegCompressEmptyOutputBuffer(), and JpegCompressInitDestination().
#define LOCKFILENAME ".lock-vdr" |
Definition at line 1791 of file tools.c.
Referenced by cLockFile::cLockFile().
#define LOCKFILESTALETIME 600 |
Definition at line 1792 of file tools.c.
Referenced by cLockFile::Lock().
#define MAXSYSLOGBUF 256 |
Definition at line 32 of file tools.c.
Referenced by syslog_with_tid().
#define MT | ( | s, | |
m, | |||
v | |||
) | ((*(s) & (m)) == (v)) |
#define READCHUNK MEGABYTE(8) |
Definition at line 1649 of file tools.c.
Referenced by cUnbufferedFile::Read().
#define WRITE_BUFFER KILOBYTE(800) |
Definition at line 1597 of file tools.c.
Referenced by cUnbufferedFile::Write().
cString AddDirectory | ( | const char * | DirName, |
const char * | FileName | ||
) |
Definition at line 300 of file tools.c.
References cString::sprintf().
Referenced by cLockFile::cLockFile(), cSVDRP::CmdGRAB(), cMenuRecordings::DirectoryName(), DirSizeMB(), GenerateIndex(), GetRecordingsSortMode(), HasRecordingsSortMode(), cDvbDevice::Initialize(), cPictureEntry::Load(), cThemes::Load(), cMarks::Load(), cFileNameList::Load(), main(), cPictureEntry::Path(), RemoveEmptyDirectories(), RemoveFileOrDir(), cRecordings::ScanVideoDir(), SetRecordingsSortMode(), and cRecordings::UpdateFileName().
int BCD2INT | ( | int | x | ) |
Definition at line 44 of file tools.c.
References BCDCHARTOINT.
Referenced by cNitFilter::Process().
char* compactspace | ( | char * | s | ) |
Definition at line 187 of file tools.c.
References skipspace(), and stripspace().
Referenced by cEvent::FixEpgBugs(), cSetupLine::Parse(), cSdtFilter::Process(), and cRecordingInfo::Read().
|
static |
Definition at line 2004 of file tools.c.
References cListObject::Compare().
Referenced by cListBase::Sort().
cString DateString | ( | time_t | t | ) |
Converts the given time to a string of the form "www dd.mm.yyyy".
Definition at line 1062 of file tools.c.
References WeekDayName().
Referenced by cEvent::GetDateString(), cSkinClassicDisplayMenu::SetRecording(), cSkinCursesDisplayMenu::SetRecording(), cSkinSTTNGDisplayMenu::SetRecording(), cSkinLCARSDisplayMenu::SetRecording(), and cPluginSvdrpdemo::SVDRPCommand().
cString DayDateTime | ( | time_t | t = 0 | ) |
Converts the given time to a string of the form "www dd.mm. hh:mm".
If no time is given, the current time is taken.
Definition at line 1041 of file tools.c.
References WeekDayName().
Referenced by cMenuEditRecording::cMenuEditRecording(), cPictureControl::DisplayCaption(), cSkinLCARSDisplayChannel::DrawDate(), cSkinLCARSDisplayMenu::DrawDate(), cSkinLCARSDisplayReplay::DrawDate(), cSkinLCARSDisplayMenu::DrawTimer(), cSkinClassicDisplayChannel::Flush(), cSkinSTTNGDisplayChannel::Flush(), cSkinClassicDisplayMenu::Flush(), cSkinCursesDisplayChannel::Flush(), cSkinCursesDisplayMenu::Flush(), cSkinSTTNGDisplayMenu::Flush(), and cSkinSTTNGDisplayMenu::SetButtons().
bool DirectoryOk | ( | const char * | DirName, |
bool | LogErrors | ||
) |
Definition at line 344 of file tools.c.
References esyslog, and LOG_ERROR_STR.
Referenced by cLockFile::cLockFile(), CutRecording(), GenerateIndex(), main(), cVideoDirectory::Next(), and SpinUpDisk().
int DirSizeMB | ( | const char * | DirName | ) |
returns the total size of the files in the given directory, or -1 in case of an error
Definition at line 502 of file tools.c.
References AddDirectory(), DirSizeMB(), LOG_ERROR_STR, MEGABYTE, cReadDir::Next(), and cReadDir::Ok().
Referenced by cCopyingThread::Action(), cMenuEditRecording::cMenuEditRecording(), DirSizeMB(), and cRecording::FileSizeMB().
bool endswith | ( | const char * | s, |
const char * | p | ||
) |
Definition at line 236 of file tools.c.
Referenced by cCopyingThread::cCopyingThread(), cRecording::Remove(), and cRecordings::ScanVideoDir().
bool EntriesOnSameFileSystem | ( | const char * | File1, |
const char * | File2 | ||
) |
Definition at line 312 of file tools.c.
References LOG_ERROR_STR.
Referenced by cCopyingThread::Action(), and IsOnVideoDirectoryFileSystem().
off_t FileSize | ( | const char * | FileName | ) |
returns the size of the given file, or -1 in case of an error (e.g. if the file doesn't exist)
Definition at line 594 of file tools.c.
Referenced by cCuttingThread::Action(), cIndexFileGenerator::Action(), and cIndexFile::cIndexFile().
int FreeDiskSpaceMB | ( | const char * | Directory, |
int * | UsedMB | ||
) |
Definition at line 327 of file tools.c.
References LOG_ERROR_STR.
Referenced by cCopyingThread::Action(), cVideoDirectory::FreeMB(), OpenVideoFile(), and cRecorder::RunningLowOnDiskSpace().
bool isempty | ( | const char * | s | ) |
Definition at line 247 of file tools.c.
References skipspace().
Referenced by cPluginManager::Active(), cMenuEditFolder::cMenuEditFolder(), cRecording::cRecording(), cTimer::cTimer(), cMenuFolder::Delete(), cMenuFolder::DescendPath(), cOsdMenu::Display(), cEvent::Dump(), cMenuCommands::Execute(), cTheme::FileNameOk(), cEvent::FixEpgBugs(), cSource::FromString(), tComponent::FromString(), cTheme::Load(), cConfig< cDiseqc >::Load(), cChannel::Name(), cNestedItemList::Parse(), cSkins::QueueMessage(), cMenuFolder::Select(), cMenuFolder::Set(), cComponents::SetComponent(), cRecordingInfo::SetData(), cSkinClassicDisplayMenu::SetEvent(), cSkinCursesDisplayMenu::SetEvent(), cSkinSTTNGDisplayMenu::SetEvent(), cSkinLCARSDisplayMenu::SetEvent(), cTimer::SetFile(), cMenuEditTimer::SetFolder(), cMenuEditRecording::SetFolder(), cChannel::SetName(), cChannel::SetPortalName(), cSkinClassicDisplayMenu::SetRecording(), cSkinCursesDisplayMenu::SetRecording(), cSkinSTTNGDisplayMenu::SetRecording(), cSkinLCARSDisplayMenu::SetRecording(), cChannel::ShortName(), and cChannel::ToText().
bool isnumber | ( | const char * | s | ) |
Definition at line 262 of file tools.c.
Referenced by cSVDRP::CmdCHAN(), cSVDRP::CmdCLRE(), cSVDRP::CmdDELC(), cSVDRP::CmdDELR(), cSVDRP::CmdDELT(), cSVDRP::CmdEDIT(), cSVDRP::CmdGRAB(), cSVDRP::CmdLSTC(), cSVDRP::CmdLSTE(), cSVDRP::CmdLSTR(), cSVDRP::CmdLSTT(), cSVDRP::CmdPLAY(), cSVDRP::CmdVOLU(), main(), and cTimer::Parse().
cString itoa | ( | int | n | ) |
Definition at line 305 of file tools.c.
Referenced by cDisplaySubtitleTracks::cDisplaySubtitleTracks(), cDisplayTracks::cDisplayTracks(), cResumeFile::cResumeFile(), DrawDeviceData(), cSkinLCARSDisplayMenu::DrawDisk(), cSkinLCARSDisplayMenu::DrawLive(), cSkinLCARSDisplayMenu::DrawTimers(), cMenuTimerItem::Set(), and cTimer::ToText().
|
static |
Definition at line 1108 of file tools.c.
References esyslog, JPEGCOMPRESSMEM, tJpegCompressData::mem, and tJpegCompressData::size.
Referenced by RgbToJpeg().
|
static |
Definition at line 1099 of file tools.c.
References JPEGCOMPRESSMEM, MALLOC, tJpegCompressData::mem, and tJpegCompressData::size.
Referenced by RgbToJpeg().
|
static |
Definition at line 1131 of file tools.c.
References esyslog, tJpegCompressData::mem, and tJpegCompressData::size.
Referenced by RgbToJpeg().
time_t LastModifiedTime | ( | const char * | FileName | ) |
Definition at line 586 of file tools.c.
Referenced by cRecording::FileSizeMB(), cRecordings::NeedsUpdate(), cRecording::NumFrames(), and cMarks::Update().
bool MakeDirs | ( | const char * | FileName, |
bool | IsDirectory | ||
) |
Definition at line 362 of file tools.c.
References dsyslog, and LOG_ERROR_STR.
Referenced by cCopyingThread::Action(), cPlugin::CacheDirectory(), cPlugin::ConfigDirectory(), cRecordControl::cRecordControl(), HardLinkVideoFile(), OpenVideoFile(), cPlugin::ResourceDirectory(), cThemes::SetThemesDirectory(), and cCutter::Start().
char* ReadLink | ( | const char * | FileName | ) |
returns a new string allocated on the heap, which the caller must delete (or NULL in case of an error)
Definition at line 534 of file tools.c.
References LOG_ERROR_STR.
Referenced by cCuttingThread::Action(), cSafeFile::cSafeFile(), and HardLinkVideoFile().
bool RemoveEmptyDirectories | ( | const char * | DirName, |
bool | RemoveThis = false , |
||
const char * | IgnoreFiles[] = NULL |
||
) |
Removes all empty directories under the given directory DirName.
If RemoveThis is true, DirName will also be removed if it is empty. IgnoreFiles can be set to an array of file names that will be ignored when considering whether a directory is empty. If IgnoreFiles is given, the array must end with a NULL pointer.
Definition at line 448 of file tools.c.
References AddDirectory(), dsyslog, LOG_ERROR_STR, cReadDir::Next(), cReadDir::Ok(), RemoveEmptyDirectories(), and StrInArray().
Referenced by cCopyingThread::Action(), RemoveEmptyDirectories(), and RemoveEmptyVideoDirectories().
bool RemoveFileOrDir | ( | const char * | FileName, |
bool | FollowSymlinks | ||
) |
Definition at line 390 of file tools.c.
References AddDirectory(), dsyslog, LOG_ERROR_STR, MALLOC, cReadDir::Next(), and cReadDir::Ok().
Referenced by cCopyingThread::Action(), and RemoveVideoFile().
Converts the given Memory to a JPEG image and returns a pointer to the resulting image.
Mem must point to a data block of exactly (Width * Height) triplets of RGB image data bytes. Upon return, Size will hold the number of bytes of the resulting JPEG data. Quality can be in the range 0..100 and controls the quality of the resulting image, where 100 is "best". The caller takes ownership of the result and has to delete it once it is no longer needed. The result may be NULL in case of an error.
Definition at line 1147 of file tools.c.
References JpegCompressEmptyOutputBuffer(), JpegCompressInitDestination(), JpegCompressTermDestination(), tJpegCompressData::mem, and tJpegCompressData::size.
Referenced by cDvbSdFfDevice::GrabImage().
ssize_t safe_read | ( | int | filedes, |
void * | buffer, | ||
size_t | size | ||
) |
Definition at line 52 of file tools.c.
References dsyslog.
Referenced by cLircRemote::Action(), cIndexFile::CatchUp(), cIndexFile::cIndexFile(), cSVDRP::Process(), cDvbCiAdapter::Read(), cResumeFile::Read(), cRingBufferLinear::Read(), cUnbufferedFile::Read(), cDevice::ReadFilter(), cKbdRemote::ReadKey(), and cRcuRemote::ReceiveByte().
ssize_t safe_write | ( | int | filedes, |
const void * | buffer, | ||
size_t | size | ||
) |
Definition at line 64 of file tools.c.
References dsyslog.
Referenced by cSVDRP::CmdGRAB(), cDevice::GrabImageFile(), cResumeFile::Save(), cSVDRP::Send(), cDvbCiAdapter::Write(), cIndexFile::Write(), cUnbufferedFile::Write(), and writechar().
cString ShortDateString | ( | time_t | t | ) |
Converts the given time to a string of the form "dd.mm.yy".
Definition at line 1073 of file tools.c.
Referenced by cSkinLCARSDisplayMenu::DrawPlay(), and cSkinLCARSDisplayReplay::SetRecording().
bool SpinUpDisk | ( | const char * | FileName | ) |
Definition at line 548 of file tools.c.
References DirectoryOk(), dsyslog, esyslog, LOG_ERROR_STR, and cString::sprintf().
Referenced by cRecorder::cRecorder().
char* strcpyrealloc | ( | char * | dest, |
const char * | src | ||
) |
Definition at line 113 of file tools.c.
References esyslog, and max().
Referenced by cEvent::FixEpgBugs(), cChannel::operator=(), cChannel::Parse(), cMenuEditChannel::ProcessKey(), cComponents::SetComponent(), cEvent::SetDescription(), cChannel::SetName(), cChannel::SetPortalName(), cEvent::SetShortText(), and cEvent::SetTitle().
cString strescape | ( | const char * | s, |
const char * | chars | ||
) |
Definition at line 204 of file tools.c.
References MALLOC.
Referenced by cShutdownHandler::CallShutdownCommand(), cMenuRecordings::Commands(), and cRecordingUserCommand::InvokeCommand().
bool StrInArray | ( | const char * | a[], |
const char * | s | ||
) |
Returns true if the string s is equal to one of the strings pointed to by the (NULL terminated) array a.
Definition at line 288 of file tools.c.
Referenced by RemoveEmptyDirectories().
char* stripspace | ( | char * | s | ) |
Definition at line 175 of file tools.c.
Referenced by compactspace(), cMenuEditStrItem::LeaveEditMode(), cTheme::Load(), cDll::Load(), cConfig< cDiseqc >::Load(), cMenuCommands::Parse(), cNestedItemList::Parse(), cTextWrapper::Set(), and cRecording::Title().
char* strn0cpy | ( | char * | dest, |
const char * | src, | ||
size_t | n | ||
) |
Definition at line 130 of file tools.c.
Referenced by cEIT::cEIT(), cMenuEditChannel::cMenuEditChannel(), cMenuEditFolder::cMenuEditFolder(), cMenuSetupPictures::cMenuSetupPictures(), cRecordingInfo::cRecordingInfo(), cSkinLCARSDisplayChannel::DrawTrack(), cSkinLCARSDisplayReplay::DrawTrack(), cSkinSTTNGDisplayChannel::Flush(), cMenuCommands::Parse(), cTimer::Parse(), cChannel::Parse(), cSetup::Parse(), cSetup::ParseLanguages(), cPatPmtParser::ParsePmt(), cPatFilter::Process(), cPluginPictures::ProcessArgs(), cMenuSetupOSD::ProcessKey(), cDevice::SetAvailableTrack(), cComponents::SetComponent(), cMenuEditTimer::SetFolder(), cMenuEditRecording::SetFolder(), cSkinClassicDisplayReplay::SetMode(), cSkinCursesDisplayReplay::SetMode(), cChannel::SetPids(), cPluginPictures::SetupParse(), cMenuSetupPictures::Store(), cRecording::Title(), Utf8Strn0Cpy(), and WeekDayName().
char* strreplace | ( | char * | s, |
char | c1, | ||
char | c2 | ||
) |
Definition at line 138 of file tools.c.
Referenced by CopyString(), cRecording::cRecording(), cSetupLine::cSetupLine(), cEvent::Dump(), cEvent::FixEpgBugs(), cFont::GetAvailableFontNames(), cFont::GetFontFileName(), HandleUnderscores(), cTimer::Parse(), cEvent::Parse(), cChannel::Parse(), cRecording::SortName(), cTimer::ToText(), and cChannel::ToText().
char* strreplace | ( | char * | s, |
const char * | s1, | ||
const char * | s2 | ||
) |
int64_t StrToNum | ( | const char * | s | ) |
Converts the given string to a number.
The numerical part of the string may be followed by one of the letters K, M, G or T to abbreviate Kilo-, Mega-, Giga- or Terabyte, respectively (based on 1024). Everything after the first non-numeric character is silently ignored, as are any characters other than the ones mentioned here.
Definition at line 273 of file tools.c.
Referenced by main().
void syslog_with_tid | ( | int | priority, |
const char * | format, | ||
... | |||
) |
Definition at line 34 of file tools.c.
References MAXSYSLOGBUF, and cThread::ThreadId().
cString TimeString | ( | time_t | t | ) |
Converts the given time to a string of the form "hh:mm".
Definition at line 1082 of file tools.c.
Referenced by cSkinLCARSDisplayMenu::DrawPlay(), cSkinLCARSDisplayMenu::DrawTimer(), cEvent::GetEndTimeString(), cEvent::GetTimeString(), cSkinClassicDisplayMenu::SetRecording(), cSkinCursesDisplayMenu::SetRecording(), cSkinSTTNGDisplayMenu::SetRecording(), cSkinLCARSDisplayMenu::SetRecording(), cSkinLCARSDisplayReplay::SetRecording(), and cPluginSvdrpdemo::SVDRPCommand().
cString TimeToString | ( | time_t | t | ) |
Converts the given time to a string of the form "www mmm dd hh:mm:ss yyyy".
Definition at line 1052 of file tools.c.
Referenced by cSVDRP::CmdNEXT(), cTDT::cTDT(), cShutdownHandler::DoShutdown(), and cSVDRP::Process().
void TouchFile | ( | const char * | FileName | ) |
Definition at line 580 of file tools.c.
References LOG_ERROR_STR.
Referenced by cRecordings::TouchUpdate().
uint Utf8CharGet | ( | const char * | s, |
int | Length = 0 |
||
) |
Returns the UTF-8 symbol at the beginning of the given string.
Length can be given from a previous call to Utf8CharLen() to avoid calculating it again. If no Length is given, Utf8CharLen() will be called.
Definition at line 688 of file tools.c.
References cCharSetConv::SystemCharacterTable(), SystemToUtf8, and Utf8CharLen().
Referenced by cHdffOsd::DrawText(), cFreetypeFont::DrawText(), cTextWrapper::Set(), cCharSetConv::SetSystemCharacterTable(), Utf8ToArray(), and cFreetypeFont::Width().
int Utf8CharLen | ( | const char * | s | ) |
Returns the number of character bytes at the beginning of the given string that form a UTF-8 symbol.
Definition at line 674 of file tools.c.
References MT, and cCharSetConv::SystemCharacterTable().
Referenced by cHdffOsd::DrawText(), cFreetypeFont::DrawText(), cTimer::PrintDay(), cTextWrapper::Set(), cCharSetConv::SetSystemCharacterTable(), StripControlCharacters(), Utf8CharGet(), Utf8StrLen(), Utf8Strn0Cpy(), Utf8SymChars(), Utf8ToArray(), and cFreetypeFont::Width().
int Utf8CharSet | ( | uint | c, |
char * | s = NULL |
||
) |
Converts the given UTF-8 symbol to a sequence of character bytes and copies them to the given string.
Returns the number of bytes written. If no string is given, only the number of bytes is returned and nothing is copied.
Definition at line 703 of file tools.c.
References cCharSetConv::SystemCharacterTable().
Referenced by Utf8FromArray().
int Utf8FromArray | ( | const uint * | a, |
char * | s, | ||
int | Size, | ||
int | Max = -1 |
||
) |
Converts the given array of UTF-8 symbols (including the terminating 0) into a sequence of character bytes of at most Size length.
Returns the number of character bytes written (without the terminating 0). If Max is given, only that many symbols will be converted. The resulting string is always zero-terminated if Size is big enough.
Definition at line 799 of file tools.c.
References cCharSetConv::SystemCharacterTable(), and Utf8CharSet().
Referenced by cMenuEditStrItem::LeaveEditMode(), and cMenuEditStrItem::Set().
int Utf8StrLen | ( | const char * | s | ) |
Returns the number of UTF-8 symbols formed by the given string of character bytes.
Definition at line 750 of file tools.c.
References cCharSetConv::SystemCharacterTable(), and Utf8CharLen().
Referenced by cTimer::cTimer(), cSubtitleObject::DecodeCharacterString(), cSkinCursesDisplayChannel::Flush(), cSkinCursesDisplayMenu::Flush(), cChannels::MaxChannelNameLength(), cChannels::MaxShortChannelNameLength(), cTimer::Parse(), cSkinCursesDisplayReplay::SetCurrent(), cSkinCursesDisplayMenu::SetEvent(), cSkinCursesDisplayMenu::SetRecording(), cSkinCursesDisplayReplay::SetTotal(), cSkinCursesDisplayVolume::SetVolume(), cSubtitleRegion::UpdateTextData(), and cCursesFont::Width().
char* Utf8Strn0Cpy | ( | char * | Dest, |
const char * | Src, | ||
int | n | ||
) |
Copies at most n character bytes from Src to Dest, making sure that the resulting copy ends with a complete UTF-8 symbol.
The copy is guaranteed to be zero terminated. Returns a pointer to Dest.
Definition at line 762 of file tools.c.
References strn0cpy(), cCharSetConv::SystemCharacterTable(), and Utf8CharLen().
Referenced by cMenuEditRecording::cMenuEditRecording(), cRecording::cRecording(), cTimer::cTimer(), cSubtitleObject::DecodeCharacterString(), cTimer::Parse(), cSetup::Parse(), cMenuSetupOSD::ProcessKey(), cDevice::SetAvailableTrack(), and cTimer::SetFile().
int Utf8SymChars | ( | const char * | s, |
int | Symbols | ||
) |
Returns the number of character bytes at the beginning of the given string that form at most the given number of UTF-8 symbols.
Definition at line 737 of file tools.c.
References cCharSetConv::SystemCharacterTable(), and Utf8CharLen().
Referenced by cTimer::cTimer(), cTimer::Parse(), cMenuScheduleItem::Update(), and WeekDayName().
int Utf8ToArray | ( | const char * | s, |
uint * | a, | ||
int | Size | ||
) |
Converts the given character bytes (including the terminating 0) into an array of UTF-8 symbols of the given Size.
Returns the number of symbols in the array (without the terminating 0).
Definition at line 781 of file tools.c.
References cCharSetConv::SystemCharacterTable(), Utf8CharGet(), and Utf8CharLen().
Referenced by cMenuEditStrItem::EnterEditMode().
cString WeekDayName | ( | int | WeekDay | ) |
Converts the given WeekDay (0=Sunday, 1=Monday, ...) to a three letter day name.
Definition at line 999 of file tools.c.
References min(), strn0cpy(), tr, and Utf8SymChars().
Referenced by DateString(), DayDateTime(), cSkinLCARSDisplayMenu::DrawTimer(), cMenuEditDateItem::Set(), cMenuTimerItem::Set(), and WeekDayName().
cString WeekDayName | ( | time_t | t | ) |
Converts the week day of the given time to a three letter day name.
Definition at line 1014 of file tools.c.
References WeekDayName().
cString WeekDayNameFull | ( | int | WeekDay | ) |
Converts the given WeekDay (0=Sunday, 1=Monday, ...) to a full day name.
Definition at line 1020 of file tools.c.
References tr.
Referenced by WeekDayNameFull().
cString WeekDayNameFull | ( | time_t | t | ) |
Converts the week day of the given time to a full day name.
Definition at line 1035 of file tools.c.
References WeekDayNameFull().
int WriteAllOrNothing | ( | int | fd, |
const uchar * | Data, | ||
int | Length, | ||
int | TimeoutMs = 0 , |
||
int | RetryMs = 0 |
||
) |
Writes either all Data to the given file descriptor, or nothing at all.
If TimeoutMs is greater than 0, it will only retry for that long, otherwise it will retry forever. RetryMs defines the time between two retries.
Definition at line 89 of file tools.c.
References cTimeMs::Elapsed(), FATALERRNO, and cPoller::Poll().
Referenced by cDvbSdFfDevice::PlayAudio(), cDvbHdFfDevice::PlayAudio(), cDvbSdFfDevice::PlayTsAudio(), cDvbHdFfDevice::PlayTsAudio(), cDvbSdFfDevice::PlayTsVideo(), cDvbHdFfDevice::PlayTsVideo(), cDvbSdFfDevice::PlayVideo(), and cDvbHdFfDevice::PlayVideo().
void writechar | ( | int | filedes, |
char | c | ||
) |
Definition at line 84 of file tools.c.
References safe_write().
Referenced by cIndexFile::cIndexFile().
|
static |
Definition at line 672 of file tools.c.
Referenced by cCharSetConv::SetSystemCharacterTable(), and Utf8CharGet().