- ret = stat(argv[i], &statbuf);
- if (ret < 0)
- return -E_AFS_STAT;
- if (S_ISDIR(statbuf.st_mode)) {
- ret = for_each_file_in_dir(argv[i],
- add_one_audio_file, &pad);
- if (ret < 0)
- return ret;
- continue;
- }
- ret = add_one_audio_file(argv[i], &pad);
+ char *path = para_strdup(argv[i]);
+ size_t len = strlen(path);
+ while (len > 1 && path[--len] == '/')
+ path[len] = '\0';
+ ret = stat(path, &statbuf);