37 for (lp =
list->first; lp !=
NULL; ) {
67 nextLine = killMe->
next;
68 prevLine = killMe->
prev;
70 killMe->
line[0] =
'\0';
74 if (
list->first == killMe)
75 list->first = nextLine;
76 if (
list->last == killMe)
77 list->last = prevLine;
80 nextLine->
prev = prevLine;
82 prevLine->
next = nextLine;
132 for (lp =
src->first; lp !=
NULL; ) {
156 for (lp =
list->first; lp !=
NULL; ) {
164 lp2->
lname[0] =
'\0';
168 lp2->
rname[0] =
'\0';
208 if ((**fipb).mdtm == (**fipa).mdtm)
210 else if ((**fipb).mdtm < (**fipa).mdtm)
225 if ((**fipa).mdtm == (**fipb).mdtm)
227 else if ((**fipa).mdtm < (**fipb).mdtm)
242 if ((**fipb).size == (**fipa).size)
244 else if ((**fipb).size < (**fipa).size)
259 if ((**fipa).size == (**fipb).size)
261 else if ((**fipa).size < (**fipb).size)
276 #ifdef HAVE_SETLOCALE 277 return (
strcoll((**fipb).relname, (**fipa).relname));
279 return (
strcmp((**fipb).relname, (**fipa).relname));
293 #ifdef HAVE_SETLOCALE 294 return (
strcoll((**fipa).relname, (**fipb).relname));
296 return (
strcmp((**fipa).relname, (**fipb).relname));
307 char *
cp, *cpa, *cpb;
308 int depth, deptha, depthb;
315 cpb = (**fipb).relname;
321 if ((
c ==
'/') || (
c ==
'\\')) {
331 if ((
c ==
'/') || (
c ==
'\\')) {
339 else if (deptha > depthb)
342 #ifdef HAVE_SETLOCALE 345 return (
strcmp(cpa, cpb));
363 if (
list->sortKey == sortKey) {
364 if (
list->sortOrder == sortOrder)
368 n =
list->nFileInfos;
371 for (
i=0;
i<
n2;
i++) {
379 list->sortOrder = sortOrder;
380 }
else if ((sortKey ==
'n') && (sortOrder ==
'a')) {
383 list->sortKey = sortKey;
384 list->sortOrder = sortOrder;
385 }
else if ((sortKey ==
'n') && (sortOrder ==
'd')) {
388 list->sortKey = sortKey;
389 list->sortOrder = sortOrder;
390 }
else if ((sortKey ==
't') && (sortOrder ==
'a')) {
393 list->sortKey = sortKey;
394 list->sortOrder = sortOrder;
395 }
else if ((sortKey ==
't') && (sortOrder ==
'd')) {
398 list->sortKey = sortKey;
399 list->sortOrder = sortOrder;
400 }
else if ((sortKey ==
's') && (sortOrder ==
'a')) {
403 list->sortKey = sortKey;
404 list->sortOrder = sortOrder;
405 }
else if ((sortKey ==
's') && (sortOrder ==
'd')) {
408 list->sortKey = sortKey;
409 list->sortOrder = sortOrder;
410 }
else if (sortKey ==
'b') {
412 list->sortKey = sortKey;
413 list->sortOrder = sortOrder;
449 list->first = fiv[0];
450 n =
list->nFileInfos;
452 list->last = fiv[
n - 1];
456 for (
i = 1;
i <
n;
i++) {
458 fip->
prev = fiv[
i - 1];
459 fip->
next = fiv[
i + 1];
487 nextFileInfo = killMe->
next;
488 prevFileInfo = killMe->
prev;
490 killMe->
lname[0] =
'\0';
498 killMe->
rname[0] =
'\0';
506 killMe->
plug[0] =
'\0';
510 if (
list->first == killMe)
511 list->first = nextFileInfo;
512 if (
list->last == killMe)
513 list->last = prevFileInfo;
515 if (nextFileInfo !=
NULL)
516 nextFileInfo->
prev = prevFileInfo;
517 if (prevFileInfo !=
NULL)
518 prevFileInfo->
next = nextFileInfo;
522 return (nextFileInfo);
541 list->nFileInfos = 1;
561 for (lp =
src->first; lp !=
NULL; lp = lp2) {
588 for (lp =
dst->first; lp !=
NULL; lp = lp2) {
593 if ((dstdir[0] !=
'\0') && (
strcmp(dstdir,
"."))) {
613 if ((dstdir[0] !=
'\0') && (
strcmp(dstdir,
"."))) {
669 if (srcdir !=
NULL) {
679 for (lp =
dst->first; lp !=
NULL; lp = lp2) {
684 if ((dstdir[0] !=
'\0') && (
strcmp(dstdir,
"."))) {
691 }
else if (srcdir !=
NULL) {
698 if ((dstdir[0] !=
'\0') && (
strcmp(dstdir,
"."))) {
763 for (lp =
src->first; lp !=
NULL; lp = lp2) {
int ComputeRNames(FileInfoListPtr dst, const char *dstdir, int pflag, int nochop)
void SortFileInfoList(FileInfoListPtr list, int sortKey, int sortOrder)
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
ACPI_SIZE strlen(const char *String)
#define LocalPathToTVFSPath(s)
void InitFileInfo(FileInfoPtr fip)
static int TimeCmp(const void *a, const void *b)
void VectorizeFileInfoList(FileInfoListPtr list)
struct FileInfo ** FileInfoVec
_Check_return_ _CRTIMP _CONST_RETURN char *__cdecl strrchr(_In_z_ const char *_Str, _In_ int _Ch)
static int ReverseSizeCmp(const void *a, const void *b)
int LineListToFileInfoList(LineListPtr src, FileInfoListPtr dst)
int ConcatFileInfoList(FileInfoListPtr dst, FileInfoListPtr src)
GLenum GLuint GLenum GLsizei const GLchar * buf
void UnvectorizeFileInfoList(FileInfoListPtr list)
int ConcatFileToFileInfoList(FileInfoListPtr dst, char *rfile)
struct FileInfo * FileInfoPtr
void __cdecl qsort(_Inout_updates_bytes_(_NumOfElements *_SizeOfElements) void *_Base, _In_ size_t _NumOfElements, _In_ size_t _SizeOfElements, _In_ int(__cdecl *_PtFuncCompare)(const void *, const void *))
static int NameCmp(const void *a, const void *b)
static int SizeCmp(const void *a, const void *b)
FileInfoPtr AddFileInfo(FileInfoListPtr list, FileInfoPtr src)
void InitFileInfoList(FileInfoListPtr list)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
GLboolean GLboolean GLboolean b
int ComputeLNames(FileInfoListPtr dst, const char *srcdir, const char *dstdir, int nochop)
LinePtr AddLine(LineListPtr list, const char *buf1)
int CopyLineList(LineListPtr dst, LineListPtr src)
static int BreadthFirstCmp(const void *a, const void *b)
char * Dynscat(char **dst,...)
GLint GLint GLsizei GLsizei GLsizei depth
#define memcpy(s1, s2, n)
int LineToFileInfoList(LinePtr lp, FileInfoListPtr dst)
char * StrDup(const char *buf)
void DisposeFileInfoListContents(FileInfoListPtr list)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static int ReverseNameCmp(const void *a, const void *b)
LinePtr RemoveLine(LineListPtr list, LinePtr killMe)
void InitLineList(LineListPtr list)
FileInfoPtr RemoveFileInfo(FileInfoListPtr list, FileInfoPtr killMe)
int strcmp(const char *String1, const char *String2)
#define TVFSPathToLocalPath(s)
void DisposeLineListContents(LineListPtr list)
static int ReverseTimeCmp(const void *a, const void *b)
GLboolean GLboolean GLboolean GLboolean a