summaryrefslogtreecommitdiffabout
path: root/shared.c
authorLars Hjemli <hjemli@gmail.com>2008-04-08 19:11:36 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2008-04-08 19:11:36 (UTC)
commite87e89633383b8b75c68c98be3e0c14212109de2 (patch) (unidiff)
treef57e131ab854b58023387aee8efc0e4ee54653b5 /shared.c
parent20a33548b9a87a6eb23162ee5d137daa46d78613 (diff)
downloadcgit-e87e89633383b8b75c68c98be3e0c14212109de2.zip
cgit-e87e89633383b8b75c68c98be3e0c14212109de2.tar.gz
cgit-e87e89633383b8b75c68c98be3e0c14212109de2.tar.bz2
Move cgit_parse_query() from parsing.c to html.c as http_parse_querystring()
This is a generic http-function. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'shared.c') (more/less context) (ignore whitespace changes)
-rw-r--r--shared.c12
1 files changed, 0 insertions, 12 deletions
diff --git a/shared.c b/shared.c
index 48002ac..f5875e4 100644
--- a/shared.c
+++ b/shared.c
@@ -60,76 +60,64 @@ struct cgit_repo *cgit_add_repo(const char *url)
60 ret->enable_log_linecount = ctx.cfg.enable_log_linecount; 60 ret->enable_log_linecount = ctx.cfg.enable_log_linecount;
61 ret->module_link = ctx.cfg.module_link; 61 ret->module_link = ctx.cfg.module_link;
62 ret->readme = NULL; 62 ret->readme = NULL;
63 return ret; 63 return ret;
64} 64}
65 65
66struct cgit_repo *cgit_get_repoinfo(const char *url) 66struct cgit_repo *cgit_get_repoinfo(const char *url)
67{ 67{
68 int i; 68 int i;
69 struct cgit_repo *repo; 69 struct cgit_repo *repo;
70 70
71 for (i=0; i<cgit_repolist.count; i++) { 71 for (i=0; i<cgit_repolist.count; i++) {
72 repo = &cgit_repolist.repos[i]; 72 repo = &cgit_repolist.repos[i];
73 if (!strcmp(repo->url, url)) 73 if (!strcmp(repo->url, url))
74 return repo; 74 return repo;
75 } 75 }
76 return NULL; 76 return NULL;
77} 77}
78 78
79void *cgit_free_commitinfo(struct commitinfo *info) 79void *cgit_free_commitinfo(struct commitinfo *info)
80{ 80{
81 free(info->author); 81 free(info->author);
82 free(info->author_email); 82 free(info->author_email);
83 free(info->committer); 83 free(info->committer);
84 free(info->committer_email); 84 free(info->committer_email);
85 free(info->subject); 85 free(info->subject);
86 free(info->msg); 86 free(info->msg);
87 free(info->msg_encoding); 87 free(info->msg_encoding);
88 free(info); 88 free(info);
89 return NULL; 89 return NULL;
90} 90}
91 91
92int hextoint(char c)
93{
94 if (c >= 'a' && c <= 'f')
95 return 10 + c - 'a';
96 else if (c >= 'A' && c <= 'F')
97 return 10 + c - 'A';
98 else if (c >= '0' && c <= '9')
99 return c - '0';
100 else
101 return -1;
102}
103
104char *trim_end(const char *str, char c) 92char *trim_end(const char *str, char c)
105{ 93{
106 int len; 94 int len;
107 char *s, *t; 95 char *s, *t;
108 96
109 if (str == NULL) 97 if (str == NULL)
110 return NULL; 98 return NULL;
111 t = (char *)str; 99 t = (char *)str;
112 len = strlen(t); 100 len = strlen(t);
113 while(len > 0 && t[len - 1] == c) 101 while(len > 0 && t[len - 1] == c)
114 len--; 102 len--;
115 103
116 if (len == 0) 104 if (len == 0)
117 return NULL; 105 return NULL;
118 106
119 c = t[len]; 107 c = t[len];
120 t[len] = '\0'; 108 t[len] = '\0';
121 s = xstrdup(t); 109 s = xstrdup(t);
122 t[len] = c; 110 t[len] = c;
123 return s; 111 return s;
124} 112}
125 113
126char *strlpart(char *txt, int maxlen) 114char *strlpart(char *txt, int maxlen)
127{ 115{
128 char *result; 116 char *result;
129 117
130 if (!txt) 118 if (!txt)
131 return txt; 119 return txt;
132 120
133 if (strlen(txt) <= maxlen) 121 if (strlen(txt) <= maxlen)
134 return txt; 122 return txt;
135 result = xmalloc(maxlen + 1); 123 result = xmalloc(maxlen + 1);