author | Lars Hjemli <hjemli@gmail.com> | 2008-04-08 19:29:21 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2008-04-08 19:29:21 (UTC) |
commit | 23296ad648c0e2a9e3cf40a3de322b10ad25cce3 (patch) (unidiff) | |
tree | 136493d8228b0ff4971feb06b0e8aee296367b00 /ui-blob.c | |
parent | e2a44cf0923398396b7a321d5ce894ad3bf6f580 (diff) | |
parent | c6f747649ace1a92ed5dfaae9cc1ea3affe0bf51 (diff) | |
download | cgit-23296ad648c0e2a9e3cf40a3de322b10ad25cce3.zip cgit-23296ad648c0e2a9e3cf40a3de322b10ad25cce3.tar.gz cgit-23296ad648c0e2a9e3cf40a3de322b10ad25cce3.tar.bz2 |
Merge branch 'lh/cleanup'
* lh/cleanup: (21 commits)
Reset ctx.repo to NULL when the config parser is finished
Move cgit_parse_query() from parsing.c to html.c as http_parse_querystring()
Move function for configfile parsing into configfile.[ch]
Add cache.h
Remove global and obsolete cgit_cmd
Makefile: copy the QUIET constructs from the Makefile in git.git
Move cgit_version from shared.c to cgit.c
Makefile: autobuild dependency rules
Initial Makefile cleanup
Move non-generic functions from shared.c to cgit.c
Add ui-shared.h
Add separate header-files for each page/view
Refactor snapshot support
Add command dispatcher
Remove obsolete cacheitem parameter to ui-functions
Add struct cgit_page to cgit_context
Introduce html.h
Improve initialization of git directory
Move cgit_repo into cgit_context
Add all config variables into struct cgit_context
...
-rw-r--r-- | ui-blob.c | 16 |
1 files changed, 14 insertions, 2 deletions
@@ -1,31 +1,43 @@ | |||
1 | /* ui-blob.c: show blob content | ||
2 | * | ||
3 | * Copyright (C) 2008 Lars Hjemli | ||
4 | * | ||
5 | * Licensed under GNU General Public License v2 | ||
6 | * (see COPYING for full license text) | ||
7 | */ | ||
8 | |||
1 | #include "cgit.h" | 9 | #include "cgit.h" |
10 | #include "html.h" | ||
11 | #include "ui-shared.h" | ||
2 | 12 | ||
3 | void cgit_print_blob(struct cacheitem *item, const char *hex, char *path) | 13 | void cgit_print_blob(const char *hex, char *path) |
4 | { | 14 | { |
5 | 15 | ||
6 | unsigned char sha1[20]; | 16 | unsigned char sha1[20]; |
7 | enum object_type type; | 17 | enum object_type type; |
8 | unsigned char *buf; | 18 | unsigned char *buf; |
9 | unsigned long size; | 19 | unsigned long size; |
10 | 20 | ||
11 | if (get_sha1_hex(hex, sha1)){ | 21 | if (get_sha1_hex(hex, sha1)){ |
12 | cgit_print_error(fmt("Bad hex value: %s", hex)); | 22 | cgit_print_error(fmt("Bad hex value: %s", hex)); |
13 | return; | 23 | return; |
14 | } | 24 | } |
15 | 25 | ||
16 | type = sha1_object_info(sha1, &size); | 26 | type = sha1_object_info(sha1, &size); |
17 | if (type == OBJ_BAD) { | 27 | if (type == OBJ_BAD) { |
18 | cgit_print_error(fmt("Bad object name: %s", hex)); | 28 | cgit_print_error(fmt("Bad object name: %s", hex)); |
19 | return; | 29 | return; |
20 | } | 30 | } |
21 | 31 | ||
22 | buf = read_sha1_file(sha1, &type, &size); | 32 | buf = read_sha1_file(sha1, &type, &size); |
23 | if (!buf) { | 33 | if (!buf) { |
24 | cgit_print_error(fmt("Error reading object %s", hex)); | 34 | cgit_print_error(fmt("Error reading object %s", hex)); |
25 | return; | 35 | return; |
26 | } | 36 | } |
27 | 37 | ||
28 | buf[size] = '\0'; | 38 | buf[size] = '\0'; |
29 | cgit_print_snapshot_start("text/plain", path, item); | 39 | ctx.page.mimetype = "text/plain"; |
40 | ctx.page.filename = path; | ||
41 | cgit_print_http_headers(&ctx); | ||
30 | write(htmlfd, buf, size); | 42 | write(htmlfd, buf, size); |
31 | } | 43 | } |