summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--cache.c4
-rw-r--r--ui-plain.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/cache.c b/cache.c
index 57068a1..d7a8d5a 100644
--- a/cache.c
+++ b/cache.c
@@ -371,69 +371,69 @@ char *sprintftime(const char *format, time_t time)
if (!time)
return NULL;
tm = gmtime(&time);
strftime(buf, sizeof(buf)-1, format, tm);
return buf;
}
int cache_ls(const char *path)
{
DIR *dir;
struct dirent *ent;
int err = 0;
struct cache_slot slot;
char fullname[1024];
char *name;
if (!path) {
cache_log("[cgit] cache path not specified\n");
return -1;
}
if (strlen(path) > 1024 - 10) {
cache_log("[cgit] cache path too long: %s\n",
path);
return -1;
}
dir = opendir(path);
if (!dir) {
err = errno;
cache_log("[cgit] unable to open path %s: %s (%d)\n",
path, strerror(err), err);
return err;
}
strcpy(fullname, path);
name = fullname + strlen(path);
if (*(name - 1) != '/') {
*name++ = '/';
*name = '\0';
}
slot.cache_name = fullname;
while((ent = readdir(dir)) != NULL) {
if (strlen(ent->d_name) != 8)
continue;
strcpy(name, ent->d_name);
if ((err = open_slot(&slot)) != 0) {
cache_log("[cgit] unable to open path %s: %s (%d)\n",
fullname, strerror(err), err);
continue;
}
- printf("%s %s %10zd %s\n",
+ printf("%s %s %10"PRIuMAX" %s\n",
name,
sprintftime("%Y-%m-%d %H:%M:%S",
slot.cache_st.st_mtime),
- slot.cache_st.st_size,
+ (uintmax_t)slot.cache_st.st_size,
slot.buf);
close_slot(&slot);
}
closedir(dir);
return 0;
}
/* Print a message to stdout */
void cache_log(const char *format, ...)
{
va_list args;
va_start(args, format);
vfprintf(stderr, format, args);
va_end(args);
}
diff --git a/ui-plain.c b/ui-plain.c
index be559e0..5addd9e 100644
--- a/ui-plain.c
+++ b/ui-plain.c
@@ -1,69 +1,69 @@
/* ui-plain.c: functions for output of plain blobs by path
*
* Copyright (C) 2008 Lars Hjemli
*
* Licensed under GNU General Public License v2
* (see COPYING for full license text)
*/
#include "cgit.h"
#include "html.h"
#include "ui-shared.h"
char *curr_rev;
char *match_path;
int match;
static void print_object(const unsigned char *sha1, const char *path)
{
enum object_type type;
char *buf;
- size_t size;
+ unsigned long size;
type = sha1_object_info(sha1, &size);
if (type == OBJ_BAD) {
html_status(404, "Not found", 0);
return;
}
buf = read_sha1_file(sha1, &type, &size);
if (!buf) {
html_status(404, "Not found", 0);
return;
}
ctx.page.mimetype = "text/plain";
ctx.page.filename = fmt("%s", path);
ctx.page.size = size;
cgit_print_http_headers(&ctx);
html_raw(buf, size);
match = 1;
}
static int walk_tree(const unsigned char *sha1, const char *base, int baselen,
const char *pathname, unsigned mode, int stage,
void *cbdata)
{
if (S_ISDIR(mode))
return READ_TREE_RECURSIVE;
if (S_ISREG(mode))
print_object(sha1, pathname);
return 0;
}
void cgit_print_plain(struct cgit_context *ctx)
{
const char *rev = ctx->qry.sha1;
unsigned char sha1[20];
struct commit *commit;
const char *paths[] = {ctx->qry.path, NULL};
if (!rev)
rev = ctx->qry.head;
curr_rev = xstrdup(rev);
if (get_sha1(rev, sha1)) {
html_status(404, "Not found", 0);
return;
}