/*
- * Copyright (C) 1994, Index Data I/S
+ * Copyright (C) 1995, Index Data I/S
* All rights reserved.
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: dir.c,v $
- * Revision 1.1 1995-09-01 10:34:51 adam
+ * Revision 1.3 1995-09-01 14:06:35 adam
+ * Split of work into more files.
+ *
+ * Revision 1.2 1995/09/01 10:57:07 adam
+ * Minor changes.
+ *
+ * Revision 1.1 1995/09/01 10:34:51 adam
* Added dir.c
*
*/
}
while ((dent = readdir (dir)))
{
+ if (strcmp (dent->d_name, ".") == 0 ||
+ strcmp (dent->d_name, "..") == 0)
+ continue;
if (idx == entry_max-1)
{
struct dir_entry *entry_n;
log (LOG_FATAL|LOG_ERRNO, "malloc");
exit (1);
}
- memcpy (entry_n, entry, entry_max * sizeof(*entry));
+ memcpy (entry_n, entry, idx * sizeof(*entry));
free (entry);
entry = entry_n;
entry_max += 100;
exit (1);
}
strcpy (entry[idx].name, dent->d_name);
+ idx++;
}
entry[idx].name = NULL;
closedir (dir);
return entry;
}
-int dir_cmp (const void *p1, const void *p2)
+static int dir_cmp (const void *p1, const void *p2)
{
return strcmp (((struct dir_entry *) p1)->name,
((struct dir_entry *) p2)->name);
assert (e);
while (e[i].name)
- free (e[i].name);
+ free (e[i++].name);
free (e);
*e_p = NULL;
}