1#include "git-compat-util.h"
2#include "version.h"
3#include "strbuf.h"
4
5const char git_version_string[] = GIT_VERSION;
6const char git_built_from_commit_string[] = GIT_BUILT_FROM_COMMIT;
7
8const char *git_user_agent(void)
9{
10 static const char *agent = NULL;
11
12 if (!agent) {
13 agent = getenv("GIT_USER_AGENT");
14 if (!agent)
15 agent = GIT_USER_AGENT;
16 }
17
18 return agent;
19}
20
21const char *git_user_agent_sanitized(void)
22{
23 static const char *agent = NULL;
24
25 if (!agent) {
26 struct strbuf buf = STRBUF_INIT;
27 int i;
28
29 strbuf_addstr(&buf, git_user_agent());
30 strbuf_trim(&buf);
31 for (i = 0; i < buf.len; i++) {
32 if (buf.buf[i] <= 32 || buf.buf[i] >= 127)
33 buf.buf[i] = '.';
34 }
35 agent = buf.buf;
36 }
37
38 return agent;
39}