Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
No need to provide src_len in absolutepath it can be computed
Baptiste Daroussin committed 14 years ago
commit bd45ea6a17899693330e5cf3e2d39e8e2b2979c5
parent 17a2183
3 files changed +8 -6
modified pkg/utils.c
@@ -31,7 +31,7 @@ query_yesno(const char *msg)
}

char *
-
absolutepath(const char *src, size_t src_len, char *dest, size_t dest_len) {
+
absolutepath(const char *src, char *dest, size_t dest_len) {
	char * res;
	size_t res_len, res_size, len;;
	char pwd[MAXPATHLEN];
@@ -39,16 +39,18 @@ absolutepath(const char *src, size_t src_len, char *dest, size_t dest_len) {
	const char *next;
	const char *slash;

-
	if (src_len != 0 && src[0] != '/') {
+
	len = strlen(src);
+

+
	if (len != 0 && src[0] != '/') {
		if (getcwd(pwd, sizeof(pwd)) == NULL)
			return NULL;

		res_len = strlen(pwd);
-
		res_size = res_len + 1 + src_len + 1;
+
		res_size = res_len + 1 + len + 1;
		res = malloc(res_size);
		strlcpy(res, pwd, res_size);
	} else {
-
		res_size = (src_len > 0 ? src_len : 1) + 1;
+
		res_size = (len > 0 ? len : 1) + 1;
		res = malloc(res_size);
		res_len = 0;
	}
modified pkg/utils.h
@@ -15,6 +15,6 @@

bool query_yesno(const char *msg);
int print_info(struct pkg * const pkg, unsigned int opt);
-
char *absolutepath(const char *src, size_t src_len, char *dest, size_t dest_len);
+
char *absolutepath(const char *src, char *dest, size_t dest_len);

#endif
modified pkg/which.c
@@ -39,7 +39,7 @@ exec_which(int argc, char **argv)
		return (EX_IOERR);
	}

-
	absolutepath(argv[1], strlen(argv[1]), pathabs, sizeof(pathabs));
+
	absolutepath(argv[1], pathabs, sizeof(pathabs));

	if ((it = pkgdb_query_which(db, pathabs)) == NULL) {
		return (EX_IOERR);