diff options
author | Junio C Hamano <gitster@pobox.com> | 2023-07-06 21:54:46 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-07-06 21:54:46 +0300 |
commit | 67e7305e64fea8d15879e9dc3831fc8e31cfe619 (patch) | |
tree | d8ed9ee0a2b54f3df4619af5757d938bb5247986 /abspath.h | |
parent | da269af9207e38e820daad8aa993caa7d2fad76c (diff) | |
parent | 787cb8a48ae24ff07fa7c763909bb204bfdc84a7 (diff) |
Merge branch 'cw/strbuf-cleanup'
Move functions that are not about pure string manipulation out of
strbuf.[ch]
* cw/strbuf-cleanup:
strbuf: remove global variable
path: move related function to path
object-name: move related functions to object-name
credential-store: move related functions to credential-store file
abspath: move related functions to abspath
strbuf: clarify dependency
strbuf: clarify API boundary
Diffstat (limited to 'abspath.h')
-rw-r--r-- | abspath.h | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -30,4 +30,25 @@ static inline int is_absolute_path(const char *path) return is_dir_sep(path[0]) || has_dos_drive_prefix(path); } +/** + * Add a path to a buffer, converting a relative path to an + * absolute one in the process. Symbolic links are not + * resolved. + */ +void strbuf_add_absolute_path(struct strbuf *sb, const char *path); + +/** + * Canonize `path` (make it absolute, resolve symlinks, remove extra + * slashes) and append it to `sb`. Die with an informative error + * message if there is a problem. + * + * The directory part of `path` (i.e., everything up to the last + * dir_sep) must denote a valid, existing directory, but the last + * component need not exist. + * + * Callers that don't mind links should use the more lightweight + * strbuf_add_absolute_path() instead. + */ +void strbuf_add_real_path(struct strbuf *sb, const char *path); + #endif /* ABSPATH_H */ |