diff options
author | Lennart Poettering <lennart@poettering.net> | 2003-09-04 18:56:27 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2003-09-04 18:56:27 +0000 |
commit | 17c3fd56afda2553a6f6ef614d150f2715338741 (patch) | |
tree | f7001fb57f3822a8a43769844333216e9110a559 /src/package.c | |
parent | f9a122387716a5c3fb3200e545c255c07235562f (diff) |
-This line, and those below, will be ignored--
M src/diff.c
M src/package.c
M src/syrep.ggo
M src/makepatch.c
git-svn-id: file:///home/lennart/svn/public/syrep/trunk@23 07ea20a6-d2c5-0310-9e02-9ef735347d72
Diffstat (limited to 'src/package.c')
-rw-r--r-- | src/package.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/package.c b/src/package.c index 63ca432..558b1be 100644 --- a/src/package.c +++ b/src/package.c @@ -397,6 +397,7 @@ static int read_item(struct package *p) { if (p->read_fd < 0) return 0; + name[PACKAGE_ITEMNAMELEN] = 0; if ((r = package_read(p, name, PACKAGE_ITEMNAMELEN)) != PACKAGE_ITEMNAMELEN) { if (r == 0) { close_read_fd(p); @@ -482,7 +483,7 @@ static int write_item(struct package *p, struct package_item *i) { strncpy(name, i->name, PACKAGE_ITEMNAMELEN); if (args.verbose_flag) - fprintf(stderr, "Writing %s (%llu bytes) to package.\n", name, l); + fprintf(stderr, "Writing %s (%llu bytes) to package.\n", i->name, l); if ((r = package_write(p, name, PACKAGE_ITEMNAMELEN)) != PACKAGE_ITEMNAMELEN) { if (r >= 0) @@ -613,8 +614,15 @@ static int load_complete(struct package *p) { if (p->read_fd < 0) return 0; - while ((r = read_item(p)) > 0) + while ((r = read_item(p)) > 0) { rotdash(); + + if (interrupted) { + rotdash_hide(); + fprintf(stderr, "Canceled.\n"); + return -1; + } + } rotdash_hide(); @@ -679,6 +687,11 @@ int package_save(struct package *p, const char *fn) { goto finish; rotdash(); + + if (interrupted) { + fprintf(stderr, "Canceled.\n"); + goto finish; + } } r = 0; |