-static int expand_search_path(size_t need)
-{
- size_t want = search_path_sz;
- if (want == 0) want = 1;
-
- while (want < need)
- want *= 2;
-
- if (want > search_path_sz) {
- char *new = realloc(search_path, want);
- if (!new) {
- return -1;
- }
-
- search_path = new;
- search_path_sz = want;
- }
-
- return 0;
-}
-
-const char *u_pkg_get_search_path(void)
-{
- return search_path ? search_path : "";
-}
-
-int u_pkg_set_search_path(const char *path)
-{
- if (expand_search_path(strlen(path)+1) != 0)
- return -1;
- strcpy(search_path, path);
- return 0;
-}
-
-int u_pkg_add_search_dir(const char *path)
-{
- size_t end = search_path ? strlen(search_path) : 0;
-
- if (end == 0) {
- return u_pkg_set_search_path(path);
- }
-
- if (expand_search_path(end + strlen(path) + 2) != 0)
- return -1;
- search_path[end] = LT_PATHSEP_CHAR;
- strcpy(search_path+end+1, path);
- return 0;
-}
-