+
+ scanpath = cargs['d'] ? cargs['d'] : "./";
+ errno = 0;
+ dirp = opendir(scanpath);
+ if (dirp == NULL || errno)
+ { fprintf(stderr, "Path %s could not be accessed\n", scanpath);
+ return -1;
+ }
+ if (chdir(scanpath))
+ { fprintf(stderr, "Could not change directory to %s \n", scanpath);
+ return -1;
+ }
+ apc_package_name = path_iter = getcwd(path_buf, APC_NAME_MAX - 1);
+ basename:
+ while (*path_iter != '\0')
+ { if (*path_iter == '/')
+ apc_package_name = path_iter + 1;
+ path_iter++;
+ }
+ if (apc_package_name == path_buf)
+ { fprintf(stderr, "Error resolving package name from path %s\n", path_buf);
+ free(cargs);
+ exit(EXIT_FAILURE);
+ }
+ if (apc_package_name == path_iter)
+ { *--path_iter = '\0';
+ goto basename;
+ }
+ if (scanner_scandir(dirp))