annotate lib/cache.c @ 1:8b1883341c6f

Initial revision
author masneyb
date Mon, 05 Aug 2002 19:46:57 +0000
parents
children c8ec7877432e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
1 /*****************************************************************************/
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
2 /* cache.c - contains the cache routines */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
3 /* Copyright (C) 1998-2002 Brian Masney <masneyb@gftp.org> */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
4 /* */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
5 /* This program is free software; you can redistribute it and/or modify */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
6 /* it under the terms of the GNU General Public License as published by */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
7 /* the Free Software Foundation; either version 2 of the License, or */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
8 /* (at your option) any later version. */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
9 /* */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
10 /* This program is distributed in the hope that it will be useful, */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
11 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
12 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
13 /* GNU General Public License for more details. */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
14 /* */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
15 /* You should have received a copy of the GNU General Public License */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
16 /* along with this program; if not, write to the Free Software */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
17 /* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
18 /*****************************************************************************/
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
19
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
20 #include "gftp.h"
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
21
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
22
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
23 char *
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
24 gftp_cache_get_url_prefix (gftp_request * request)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
25 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
26 if (strcmp (request->protocol_name, "HTTP") == 0 &&
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
27 strcmp (request->proxy_config, "ftp") == 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
28 return ("ftp");
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
29
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
30 return (request->url_prefix);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
31 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
32
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
33
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
34 FILE *
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
35 gftp_new_cache_entry (gftp_request * request)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
36 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
37 char *cachedir, tempstr[BUFSIZ];
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
38 int cache_fd;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
39 FILE *fd;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
40
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
41 if ((fd = gftp_find_cache_entry (request)) != NULL)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
42 return (fd);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
43
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
44 cachedir = expand_path (BASE_CONF_DIR "/cache");
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
45 if (access (cachedir, F_OK) == -1)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
46 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
47 if (mkdir (cachedir, 0x1C0) < 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
48 return (NULL);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
49 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
50
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
51 g_snprintf (tempstr, sizeof (tempstr), "%s/index.db", cachedir);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
52 if ((fd = fopen (tempstr, "ab+")) == NULL)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
53 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
54 g_free (cachedir);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
55 return (NULL);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
56 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
57
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
58 g_snprintf (tempstr, sizeof (tempstr), "%s/cache.XXXXXX", cachedir);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
59 if ((cache_fd = mkstemp (tempstr)) < 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
60 return (NULL);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
61 g_free (cachedir);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
62
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
63 fseek (fd, 0, SEEK_END);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
64 fprintf (fd, "%s://%s@%s:%d%s\t%s\n",
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
65 gftp_cache_get_url_prefix (request),
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
66 request->username == NULL ? "" : request->username,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
67 request->hostname == NULL ? "" : request->hostname,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
68 request->port,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
69 request->directory == NULL ? "" : request->directory,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
70 tempstr);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
71
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
72 if (fclose (fd) != 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
73 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
74 close (cache_fd);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
75 return (NULL);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
76 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
77
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
78 if ((fd = fdopen (cache_fd, "wb+")) == NULL)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
79 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
80 close (cache_fd);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
81 return (NULL);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
82 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
83
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
84 return (fd);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
85 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
86
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
87
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
88 FILE *
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
89 gftp_find_cache_entry (gftp_request * request)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
90 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
91 char *indexfile, *pos, buf[BUFSIZ], description[BUFSIZ];
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
92 FILE *indexfd, *cachefd;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
93 size_t len;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
94
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
95 g_snprintf (description, sizeof (description), "%s://%s@%s:%d%s",
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
96 gftp_cache_get_url_prefix (request),
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
97 request->username == NULL ? "" : request->username,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
98 request->hostname == NULL ? "" : request->hostname,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
99 request->port,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
100 request->directory == NULL ? "" : request->directory);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
101
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
102 indexfile = expand_path (BASE_CONF_DIR "/cache/index.db");
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
103 if ((indexfd = fopen (indexfile, "rb")) == NULL)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
104 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
105 g_free (indexfile);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
106 return (NULL);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
107 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
108 g_free (indexfile);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
109
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
110 while (fgets (buf, sizeof (buf), indexfd))
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
111 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
112 len = strlen (buf);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
113 if (buf[len - 1] == '\n')
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
114 buf[--len] = '\0';
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
115 if (buf[len - 1] == '\r')
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
116 buf[--len] = '\0';
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
117
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
118 if (!((pos = strrchr (buf, '\t')) != NULL && *(pos + 1) != '\0'))
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
119 continue;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
120
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
121 len = strlen (description);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
122 if (pos - buf != len)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
123 continue;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
124
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
125 if (strncmp (buf, description, len) == 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
126 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
127 pos++;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
128 if (fclose (indexfd) != 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
129 return (NULL);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
130
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
131 if ((cachefd = fopen (pos, "rb+")) == NULL)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
132 return (NULL);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
133
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
134 fseek (cachefd, 0, SEEK_END);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
135 if (ftell (cachefd) == 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
136 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
137 fclose (cachefd);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
138 return (NULL);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
139 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
140 fseek (cachefd, 0, SEEK_SET);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
141 return (cachefd);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
142 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
143 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
144 fclose (indexfd);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
145 return (NULL);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
146 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
147
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
148
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
149 void
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
150 gftp_clear_cache_files (void)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
151 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
152 char *indexfile, buf[BUFSIZ], *pos;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
153 FILE *indexfd;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
154 size_t len;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
155
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
156 indexfile = expand_path (BASE_CONF_DIR "/cache/index.db");
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
157 if ((indexfd = fopen (indexfile, "rb")) == NULL)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
158 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
159 g_free (indexfile);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
160 return;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
161 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
162
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
163 while (fgets (buf, sizeof (buf), indexfd))
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
164 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
165 len = strlen (buf);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
166 if (buf[len - 1] == '\n')
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
167 buf[--len] = '\0';
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
168 if (buf[len - 1] == '\r')
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
169 buf[--len] = '\0';
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
170
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
171 if (!((pos = strrchr (buf, '\t')) != NULL && *(pos + 1) != '\0'))
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
172 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
173 printf (_("Error: Invalid line %s in cache index file\n"), buf);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
174 continue;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
175 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
176 unlink (pos + 1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
177 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
178
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
179 fclose (indexfd);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
180 unlink (indexfile);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
181 g_free (indexfile);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
182 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
183
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
184
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
185 void
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
186 gftp_delete_cache_entry (gftp_request * request)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
187 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
188 char *oldindexfile, *newindexfile, *pos, buf[BUFSIZ], description[BUFSIZ];
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
189 FILE *indexfd, *newfd;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
190 size_t len, buflen;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
191
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
192 g_snprintf (description, sizeof (description), "%s://%s@%s:%d%s",
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
193 gftp_cache_get_url_prefix (request),
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
194 request->username == NULL ? "" : request->username,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
195 request->hostname == NULL ? "" : request->hostname,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
196 request->port,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
197 request->directory == NULL ? "" : request->directory);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
198
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
199 oldindexfile = expand_path (BASE_CONF_DIR "/cache/index.db");
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
200 if ((indexfd = fopen (oldindexfile, "rb")) == NULL)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
201 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
202 g_free (oldindexfile);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
203 return;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
204 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
205
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
206 newindexfile = expand_path (BASE_CONF_DIR "/cache/index.db.new");
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
207 if ((newfd = fopen (newindexfile, "wb")) == NULL)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
208 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
209 g_free (oldindexfile);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
210 g_free (newindexfile);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
211 return;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
212 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
213
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
214 buflen = strlen (description);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
215 while (fgets (buf, sizeof (buf) - 1, indexfd))
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
216 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
217 len = strlen (buf);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
218 if (buf[len - 1] == '\n')
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
219 buf[--len] = '\0';
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
220 if (buf[len - 1] == '\r')
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
221 buf[--len] = '\0';
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
222
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
223 if (!((pos = strrchr (buf, '\t')) != NULL && *(pos + 1) != '\0'))
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
224 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
225 printf (_("Error: Invalid line %s in cache index file\n"), buf);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
226 continue;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
227 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
228
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
229 if (buflen == pos - buf && strncmp (buf, description, pos - buf) == 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
230 unlink (pos + 1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
231 else
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
232 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
233 buf[strlen (buf)] = '\n';
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
234 fwrite (buf, 1, strlen (buf), newfd);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
235 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
236 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
237
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
238 fclose (indexfd);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
239 fclose (newfd);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
240
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
241 unlink (oldindexfile);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
242 rename (newindexfile, oldindexfile);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
243
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
244 g_free (oldindexfile);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
245 g_free (newindexfile);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
246 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
247