summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/mar/mar-extract-only.c
diff options
context:
space:
mode:
authorGuillaume Cottenceau <gc@mandriva.com>2000-11-16 19:44:12 +0000
committerGuillaume Cottenceau <gc@mandriva.com>2000-11-16 19:44:12 +0000
commit6b687da36f3ddcf2635349d95d9e07b889b731eb (patch)
tree66a43c991d7e829cee3248a477c1604f00722228 /mdk-stage1/mar/mar-extract-only.c
parentc7d7c61b80356709e01e411d3459f104bb219897 (diff)
downloaddrakx-backup-do-not-use-6b687da36f3ddcf2635349d95d9e07b889b731eb.tar
drakx-backup-do-not-use-6b687da36f3ddcf2635349d95d9e07b889b731eb.tar.gz
drakx-backup-do-not-use-6b687da36f3ddcf2635349d95d9e07b889b731eb.tar.bz2
drakx-backup-do-not-use-6b687da36f3ddcf2635349d95d9e07b889b731eb.tar.xz
drakx-backup-do-not-use-6b687da36f3ddcf2635349d95d9e07b889b731eb.zip
- fix bug of not actually writing down the `0' char to end filetable
- use stat to compute file lengths - test NULL pointers directly on their value
Diffstat (limited to 'mdk-stage1/mar/mar-extract-only.c')
-rw-r--r--mdk-stage1/mar/mar-extract-only.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/mdk-stage1/mar/mar-extract-only.c b/mdk-stage1/mar/mar-extract-only.c
index 013631ce2..097ac4cb0 100644
--- a/mdk-stage1/mar/mar-extract-only.c
+++ b/mdk-stage1/mar/mar-extract-only.c
@@ -27,12 +27,14 @@
#include "mar.h"
-void gzerr(gzFile f) /* decrease code size */
+void
+gzerr(gzFile f) /* decrease code size */
{
fprintf(stderr, gzerror(f, &gz_errnum));
}
-int calc_integrity(mar_stream *s)
+int
+calc_integrity(mar_stream *s)
{
char buf[4096];
int current_crc = 0;
@@ -61,10 +63,11 @@ int calc_integrity(mar_stream *s)
}
-int extract_file(mar_stream *s, char *filename, char *dest_dir)
+int
+extract_file(mar_stream *s, char *filename, char *dest_dir)
{
mar_element * elem = s->first_element;
- while (elem != NULL)
+ while (elem)
{
if (strcmp(elem->filename, filename) == 0)
{
@@ -81,7 +84,7 @@ int extract_file(mar_stream *s, char *filename, char *dest_dir)
return -1;
}
buf = (char *) malloc(elem->file_length);
- if (buf == NULL)
+ if (!buf)
{
perror(dest_file);
return -1;
@@ -110,7 +113,8 @@ int extract_file(mar_stream *s, char *filename, char *dest_dir)
}
-mar_stream * open_marfile(char *filename)
+mar_stream *
+open_marfile(char *filename)
{
int end_filetable = 0;
mar_stream * s = (mar_stream *) malloc(sizeof(mar_stream));
@@ -118,7 +122,7 @@ mar_stream * open_marfile(char *filename)
/* mar_gzfile */
s->mar_gzfile = gzopen(filename, "rb");
- if (s->mar_gzfile == NULL)
+ if (!s->mar_gzfile)
{
perror(filename);
return NULL;
@@ -178,10 +182,10 @@ mar_stream * open_marfile(char *filename)
return NULL;
}
/* write down chaining */
- if (previous_element == NULL)
- s->first_element = e;
- else
+ if (previous_element)
previous_element->next_element = e;
+ else
+ s->first_element = e;
previous_element = e;
}
else