- Updated UFA:Plugin (mattn2)
[xonotic/netradiant.git] / contrib / bobtoolz / lists.cpp
1 /*
2 BobToolz plugin for GtkRadiant
3 Copyright (C) 2001 Gordon Biggans
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with this library; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18 */
19
20 #include "lists.h"
21
22 #ifdef WIN32
23 #pragma warning(disable : 4786)
24 #endif
25
26 #include <glib/glist.h>
27
28 #include "misc.h"
29
30 bool LoadExclusionList(char* filename, std::list<Str>* exclusionList)
31 {
32         FILE* eFile = fopen(filename, "r");
33         if(eFile)
34         {
35                 char buffer[256];
36                 int cnt = 0;
37                 while(!feof(eFile))
38                 {
39                         memset(buffer, 0, 256);
40                         fscanf(eFile, "%s\n", buffer);
41
42                         if(strlen(buffer) > 0)
43                                 exclusionList->push_back(buffer);
44                         else
45                                 cnt++;
46                 }
47
48                 fclose(eFile);
49
50                 return TRUE;
51         }
52
53         globalErrorStream() << "Failed To Load Exclusion List: " << filename << "\n";
54         return FALSE;
55 }
56
57 bool LoadGList(char* filename, GList** loadlist)
58 {
59         FILE* eFile = fopen(filename, "r");
60         if(eFile)
61         {
62                 char buffer[256];
63                 int cnt = 0;
64                 while(!feof(eFile))
65                 {
66                         memset(buffer, 0, 256);
67                         fscanf(eFile, "%s\n", buffer);
68
69                         if(strlen(buffer) > 0)
70                         {
71                                 char* buffer2 = new char[strlen(buffer) + 1];
72                                 strcpy(buffer2, buffer);
73                                 *loadlist = g_list_append(*loadlist, buffer2);
74                         }
75                         else
76                                 cnt++;
77                 }
78
79                 fclose(eFile);
80
81                 return TRUE;
82         }
83
84         globalErrorStream() << "Failed To Load GList: " << filename << "\n";
85         return FALSE;
86 }