version: extend get_uname_info() to hide system details

Currently, get_uname_info() function provides the full OS information.
In a following commit, we will need it to provide only the OS name.

Let's extend it to accept a "full" flag that makes it switch between
providing full OS information and providing only the OS name.

We may need to refactor this function in the future if an
`osVersion.format` is added.

Mentored-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Usman Akinyemi <usmanakinyemi202@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Usman Akinyemi
2025-02-15 21:20:50 +05:30
committed by Junio C Hamano
parent 0a78d61247
commit 6aa09fd872
3 changed files with 11 additions and 9 deletions

View File

@ -24,7 +24,7 @@ static void get_system_info(struct strbuf *sys_info)
/* system call for other version info */
strbuf_addstr(sys_info, "uname: ");
get_uname_info(sys_info);
get_uname_info(sys_info, 1);
strbuf_addstr(sys_info, _("compiler info: "));
get_compiler_info(sys_info);

View File

@ -49,7 +49,7 @@ const char *git_user_agent_sanitized(void)
return agent;
}
int get_uname_info(struct strbuf *buf)
int get_uname_info(struct strbuf *buf, unsigned int full)
{
struct utsname uname_info;
@ -59,11 +59,13 @@ int get_uname_info(struct strbuf *buf)
errno);
return -1;
}
if (full)
strbuf_addf(buf, "%s %s %s %s\n",
uname_info.sysname,
uname_info.release,
uname_info.version,
uname_info.machine);
else
strbuf_addf(buf, "%s\n", uname_info.sysname);
return 0;
}

View File

@ -12,6 +12,6 @@ const char *git_user_agent_sanitized(void);
Return -1 and put an error message into 'buf' in case of uname()
error. Return 0 and put uname info into 'buf' otherwise.
*/
int get_uname_info(struct strbuf *buf);
int get_uname_info(struct strbuf *buf, unsigned int full);
#endif /* VERSION_H */