2 * Copyright (c) 2005 Novell, Inc.
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of version 2 of the GNU General Public License as
7 * published by the Free Software Foundation.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, contact Novell, Inc.
17 * To contact Novell about this file by physical or electronic mail,
18 * you may find current contact information at www.novell.com
20 * Author : Rohit Kumar
21 * Email ID : rokumar@novell.com
22 * Date : 14th July 2005
28 #include "filelistinfo.h"
31 /* This method is used for debugging purpose */
33 DisplayFileList(FileListInfo fli)
36 if((fli.pEntries == NULL) || (fli.numEntries == 0)) return;
38 rfbLog("DISPLAYING FILE NAMES IN THE LIST ...START\n\n");
39 rfbLog("Numer of entries:: %d\n", fli.numEntries);
40 for(i = 0; i < fli.numEntries; i++)
41 rfbLog("file[%d]\t<%s>\n", i, fli.pEntries[i].name);
42 rfbLog("DISPLAYING FILE NAMES IN THE LIST ...END\n\n");
46 #define __FUNCTION__ "unknown"
50 AddFileListItemInfo(FileListInfoPtr fileListInfoPtr, char* name,
51 unsigned int size, unsigned int data)
53 FileListItemInfoPtr fileListItemInfoPtr = (FileListItemInfoPtr)
54 calloc((fileListInfoPtr->numEntries + 1),
55 sizeof(FileListItemInfo));
56 if(fileListItemInfoPtr == NULL) {
57 rfbLog("File [%s]: Method [%s]: fileListItemInfoPtr is NULL\n",
58 __FILE__, __FUNCTION__);
62 if(fileListInfoPtr->numEntries != 0) {
63 memcpy(fileListItemInfoPtr, fileListInfoPtr->pEntries,
64 fileListInfoPtr->numEntries * sizeof(FileListItemInfo));
67 strcpy(fileListItemInfoPtr[fileListInfoPtr->numEntries].name, name);
68 fileListItemInfoPtr[fileListInfoPtr->numEntries].size = size;
69 fileListItemInfoPtr[fileListInfoPtr->numEntries].data = data;
71 if(fileListInfoPtr->pEntries != NULL) {
72 free(fileListInfoPtr->pEntries);
73 fileListInfoPtr->pEntries = NULL;
76 fileListInfoPtr->pEntries = fileListItemInfoPtr;
77 fileListItemInfoPtr = NULL;
78 fileListInfoPtr->numEntries++;
85 GetFileNameAt(FileListInfo fileListInfo, int number)
88 if(number >= 0 && number < fileListInfo.numEntries)
89 name = fileListInfo.pEntries[number].name;
95 GetFileSizeAt(FileListInfo fileListInfo, int number)
97 unsigned int size = 0;
98 if(number >= 0 && number < fileListInfo.numEntries)
99 size = fileListInfo.pEntries[number].size;
105 GetFileDataAt(FileListInfo fileListInfo, int number)
107 unsigned int data = 0;
108 if(number >= 0 && number < fileListInfo.numEntries)
109 data = fileListInfo.pEntries[number].data;
115 GetSumOfFileNamesLength(FileListInfo fileListInfo)
117 int i = 0, sumLen = 0;
118 for(i = 0; i < fileListInfo.numEntries; i++)
119 sumLen += strlen(fileListInfo.pEntries[i].name);
125 FreeFileListInfo(FileListInfo fileListInfo)
127 if(fileListInfo.pEntries != NULL) {
128 free(fileListInfo.pEntries);
129 fileListInfo.pEntries = NULL;
131 fileListInfo.numEntries = 0;