aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/npass/npass.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/npass/npass.c b/src/npass/npass.c
index 4ad0015..dce293c 100644
--- a/src/npass/npass.c
+++ b/src/npass/npass.c
@@ -23,7 +23,7 @@ void print_usage(void);
int cat(const char *path);
int add(const char *path);
int gen(int argc, char *argv[]);
-int ls(const char *path, size_t depth, depth_state_t *depth_state);
+int ls(const char *path, size_t depth);
void print_usage(void)
{
@@ -57,12 +57,13 @@ int cat(const char *path)
return r;
}
-int ls(const char *path, size_t depth, depth_state_t *depth_state) {
+int ls(const char *path, size_t depth) {
void *p;
char *prefix;
int i, j, len;
struct store *stor;
char new_path[PATH_MAX];
+ static depth_state_t *depth_state;
static size_t depth_state_len = DEF_DEPTTH;
len = readstore_all(path, &stor);
@@ -98,7 +99,7 @@ int ls(const char *path, size_t depth, depth_state_t *depth_state) {
snprintf(new_path, sizeof(new_path), "%s/%s",
(path) ? path : "", stor[i].name);
- ls(new_path, depth + 1, depth_state);
+ ls(new_path, depth + 1);
} else {
printf("%s %s\n", prefix, stor[i].name);
}
@@ -207,7 +208,7 @@ int main(int argc, char *argv[])
++argv;
if (!--argc) {
- r = ls(NULL, 0, NULL);
+ r = ls(NULL, 0);
} else if (!strcmp("help", *argv)) {
print_usage();
} else if (!strcmp("init", *argv)) {
@@ -219,7 +220,7 @@ int main(int argc, char *argv[])
if (argc > 2)
invalid_usage_err_ret();
- r = ls(argv[1], 0, NULL);
+ r = ls(argv[1], 0);
} else if (!strcmp("cat", *argv)) {
if (argc != 2)
invalid_usage_err_ret();
@@ -245,7 +246,7 @@ int main(int argc, char *argv[])
switch (store_type) {
case PASS_STORE_DIR:
- r = ls(*argv, 0, NULL);
+ r = ls(*argv, 0);
break;
case PASS_STORE_ENC:
r = cat(*argv);