author | Lars Hjemli <hjemli@gmail.com> | 2007-05-20 12:33:59 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-05-20 12:33:59 (UTC) |
commit | 977a0b173df6fe1a4d362fe4c70f9badff1fd46c (patch) (unidiff) | |
tree | 8bd383fff396bb1790c03ab5b461d899af997568 /html.c | |
parent | d4dbfdfbaea3aa93e824ea484787de10e73eae65 (diff) | |
parent | de69ce020c4ccd7146d6ac72bbd8f417088e8c03 (diff) | |
download | cgit-977a0b173df6fe1a4d362fe4c70f9badff1fd46c.zip cgit-977a0b173df6fe1a4d362fe4c70f9badff1fd46c.tar.gz cgit-977a0b173df6fe1a4d362fe4c70f9badff1fd46c.tar.bz2 |
Merge branch 'index-header'
* index-header:
Teach cgit howto include an external file on index page.
Add html_include()
-rw-r--r-- | html.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -145,24 +145,38 @@ void html_link_close(void) | |||
145 | { | 145 | { |
146 | html("</a>"); | 146 | html("</a>"); |
147 | } | 147 | } |
148 | 148 | ||
149 | void html_fileperm(unsigned short mode) | 149 | void html_fileperm(unsigned short mode) |
150 | { | 150 | { |
151 | htmlf("%c%c%c", (mode & 4 ? 'r' : '-'), | 151 | htmlf("%c%c%c", (mode & 4 ? 'r' : '-'), |
152 | (mode & 2 ? 'w' : '-'), (mode & 1 ? 'x' : '-')); | 152 | (mode & 2 ? 'w' : '-'), (mode & 1 ? 'x' : '-')); |
153 | } | 153 | } |
154 | 154 | ||
155 | void html_filemode(unsigned short mode) | 155 | void html_filemode(unsigned short mode) |
156 | { | 156 | { |
157 | if (S_ISDIR(mode)) | 157 | if (S_ISDIR(mode)) |
158 | html("d"); | 158 | html("d"); |
159 | else if (S_ISLNK(mode)) | 159 | else if (S_ISLNK(mode)) |
160 | html("l"); | 160 | html("l"); |
161 | else if (S_ISDIRLNK(mode)) | 161 | else if (S_ISDIRLNK(mode)) |
162 | html("m"); | 162 | html("m"); |
163 | else | 163 | else |
164 | html("-"); | 164 | html("-"); |
165 | html_fileperm(mode >> 6); | 165 | html_fileperm(mode >> 6); |
166 | html_fileperm(mode >> 3); | 166 | html_fileperm(mode >> 3); |
167 | html_fileperm(mode); | 167 | html_fileperm(mode); |
168 | } | 168 | } |
169 | |||
170 | int html_include(const char *filename) | ||
171 | { | ||
172 | FILE *f; | ||
173 | char buf[4096]; | ||
174 | size_t len; | ||
175 | |||
176 | if (!(f = fopen(filename, "r"))) | ||
177 | return -1; | ||
178 | while((len = fread(buf, 1, 4096, f)) > 0) | ||
179 | write(htmlfd, buf, len); | ||
180 | fclose(f); | ||
181 | return 0; | ||
182 | } | ||