summaryrefslogtreecommitdiff
path: root/cat-file.c
diff options
context:
space:
mode:
authorPetr Baudis <pasky@ucw.cz>2005-04-13 09:28:48 (GMT)
committerPetr Baudis <xpasky@machine>2005-04-13 09:28:48 (GMT)
commit2de381f919829aec1e35d6c7cc33519295dcd053 (patch)
tree3f703cd0cd32a4aa9892bda84c664c36e40f7921 /cat-file.c
parentbdd4da595a265a091a859754a22688f7351cddee (diff)
downloadgit-2de381f919829aec1e35d6c7cc33519295dcd053.zip
git-2de381f919829aec1e35d6c7cc33519295dcd053.tar.gz
git-2de381f919829aec1e35d6c7cc33519295dcd053.tar.bz2
[PATCH] Consolidate the error handling
Now there is error() for "library" errors and die() for fatal "application" errors. usage() is now used strictly only for usage errors. Signed-off-by: Petr Baudis <pasky@ucw.cz>
Diffstat (limited to 'cat-file.c')
-rw-r--r--cat-file.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/cat-file.c b/cat-file.c
index 3829fb6..3c47d79 100644
--- a/cat-file.c
+++ b/cat-file.c
@@ -13,20 +13,17 @@ int main(int argc, char **argv)
unsigned long size;
if (argc != 3 || get_sha1_hex(argv[2], sha1))
- usage("cat-file: cat-file [-t | tagname] <sha1>");
+ usage("cat-file [-t | tagname] <sha1>");
buf = read_sha1_file(sha1, type, &size);
- if (!buf) {
- fprintf(stderr, "cat-file %s: bad file\n", argv[2]);
- exit(1);
- }
+ if (!buf)
+ die("cat-file %s: bad file", argv[2]);
if (!strcmp("-t", argv[1])) {
buf = type;
size = strlen(type);
type[size] = '\n';
size++;
} else if (strcmp(type, argv[1])) {
- fprintf(stderr, "cat-file %s: bad tag\n", argv[2]);
- exit(1); /* bad tag */
+ die("cat-file %s: bad tag", argv[2]);
}
while (size > 0) {
@@ -37,12 +34,9 @@ int main(int argc, char **argv)
/* Ignore epipe */
if (errno == EPIPE)
break;
- fprintf(stderr, "cat-file: %s\n", strerror(errno));
- exit(1);
- }
- if (!ret) {
- fprintf(stderr, "cat-file: disk full?");
- exit(1);
+ die("cat-file: %s", strerror(errno));
+ } else if (!ret) {
+ die("cat-file: disk full?");
}
size -= ret;
buf += ret;