#include <termios.h>
#include <mntent.h>
#include <sys/stat.h>
-#include <sys/param.h> /* for PATH_MAX */
+#include <sys/param.h>
#include <linux/fs.h>
#include <linux/minix_fs.h>
/* File-name data */
#define MAX_DEPTH 32
static int name_depth = 0;
-// static char name_list[MAX_DEPTH][PATH_MAX + 1];
+// static char name_list[MAX_DEPTH][BUFSIZ + 1];
static char **name_list = NULL;
static char *inode_buffer = NULL;
static void recursive_check(unsigned int ino);
static void recursive_check2(unsigned int ino);
-#define inode_in_use(x) (bit(inode_map,(x)))
-#define zone_in_use(x) (bit(zone_map,(x)-FIRSTZONE+1))
+#define inode_in_use(x) (isset(inode_map,(x)))
+#define zone_in_use(x) (isset(zone_map,(x)-FIRSTZONE+1))
#define mark_inode(x) (setbit(inode_map,(x)),changed=1)
#define unmark_inode(x) (clrbit(inode_map,(x)),changed=1)
{
fprintf(stderr, "BusyBox v%s (%s) multi-call binary -- GPL2\n\n",
BB_VER, BB_BT);
- fprintf(stderr, "Usage: %s [-larvsmf] /dev/name\n\n", program_name);
+ fprintf(stderr, "Usage: %s [-larvsmf] /dev/name\n", program_name);
+#ifndef BB_FEATURE_TRIVIAL_HELP
fprintf(stderr,
- "Performs a consistency check for MINIX filesystems.\n\n");
+ "\nPerforms a consistency check for MINIX filesystems.\n\n");
fprintf(stderr, "OPTIONS:\n");
fprintf(stderr, "\t-l\tLists all filenames\n");
fprintf(stderr, "\t-r\tPerform interactive repairs\n");
fprintf(stderr,
"\t-m\tActivates MINIX-like \"mode not cleared\" warnings\n");
fprintf(stderr, "\t-f\tForce file system check.\n\n");
+#endif
leave(16);
}
name_list = xmalloc(sizeof(char *) * MAX_DEPTH);
for (i = 0; i < MAX_DEPTH; i++)
- name_list[i] = xmalloc(sizeof(char) * PATH_MAX + 1);
+ name_list[i] = xmalloc(sizeof(char) * BUFSIZ + 1);
}
+#if 0
/* execute this atexit() to deallocate name_list[] */
/* piptigger was here */
static void free_name_list(void)
free(name_list);
}
}
+#endif
extern int fsck_minix_main(int argc, char **argv)
{
int retcode = 0;
alloc_name_list();
- atexit(free_name_list);
+ /* Don't bother to free memory. Exit does
+ * that automagically, so we can save a few bytes */
+ //atexit(free_name_list);
if (argc && *argv)
program_name = *argv;