Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
45
Src/nde/osx/FilenameField.cpp
Normal file
45
Src/nde/osx/FilenameField.cpp
Normal file
|
@ -0,0 +1,45 @@
|
|||
#include "FilenameField.h"
|
||||
#include "nde.h"
|
||||
|
||||
/*
|
||||
Mac OS X implementation of FilenameField
|
||||
only the equals operator will be case-sensitive. substring search, ends, starts, etc. will be case-insensitive,
|
||||
to make things like "filename ends .mp3" easier
|
||||
|
||||
TODO: it'd be massive overhead, but it'd be more correct to check if the file system is actually case sensitive (for the path being searched)
|
||||
*/
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
FilenameField::FilenameField(CFStringRef Str) : StringField(Str)
|
||||
{
|
||||
Type = FIELD_FILENAME;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
FilenameField::FilenameField()
|
||||
{
|
||||
Type = FIELD_FILENAME;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
int FilenameField::Compare(Field *Entry)
|
||||
{
|
||||
if (!Entry) return -1;
|
||||
if (Entry->GetType() != GetType()) return 0;
|
||||
|
||||
CFStringRef compareString = ((StringField*)Entry)->GetString();
|
||||
if (!String && !compareString) return 0;
|
||||
if (!String && compareString) return 1;
|
||||
if (!compareString) return -1;
|
||||
|
||||
return CFStringCompare(String, compareString, 0);
|
||||
}
|
||||
|
||||
Field *FilenameField::Clone(Table *pTable)
|
||||
{
|
||||
FilenameField *clone = new FilenameField(String);
|
||||
clone->Pos = FIELD_CLONE;
|
||||
clone->ID = ID;
|
||||
clone->MaxSizeOnDisk = GetDataSize();
|
||||
return clone;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue