#define O_BINARY 0
#endif
+static void ps_files_close(ps_files *data)
+{
+ if (data->fd != -1) {
+ close(data->fd);
+ data->fd = -1;
+ }
+}
+
static void ps_files_open(ps_files *data, const char *key)
{
char buf[MAXPATHLEN];
efree(data->lastkey);
data->lastkey = NULL;
}
- if (data->fd != -1) {
- close(data->fd);
- data->fd = -1;
- }
+
+ ps_files_close(data);
if (!ps_files_valid_key(key) ||
!ps_files_path_create(buf, sizeof(buf), data, key))
{
PS_FILES_DATA;
- if (data->fd > -1)
- close(data->fd);
+ ps_files_close(data);
+
if (data->lastkey)
efree(data->lastkey);
efree(data->basedir);
if (!ps_files_path_create(buf, sizeof(buf), data, key))
return FAILURE;
+ ps_files_close(data);
+
if (V_UNLINK(buf) == -1) {
return FAILURE;
}