Change size to unsinged long long, so if -1 is passed it will read as much as possible.

This commit is contained in:
Glenn L McGrath 2001-04-12 13:47:12 +00:00
parent 6785b51280
commit c9cac5be23
3 changed files with 12 additions and 7 deletions

View File

@ -95,7 +95,7 @@ void reset_ino_dev_hashtable(void);
int copy_file(const char *src_name, const char *dst_name, int copy_file(const char *src_name, const char *dst_name,
int set_modes, int follow_links, int force_flag, int quiet_flag); int set_modes, int follow_links, int force_flag, int quiet_flag);
int copy_file_chunk(FILE *src_file, FILE *dst_file, off_t chunksize); int copy_file_chunk(FILE *src_file, FILE *dst_file, unsigned long long chunksize);
char *buildName(const char *dirName, const char *fileName); char *buildName(const char *dirName, const char *fileName);
int makeString(int argc, const char **argv, char *buf, int bufLen); int makeString(int argc, const char **argv, char *buf, int bufLen);
char *getChunk(int size); char *getChunk(int size);
@ -234,10 +234,11 @@ typedef enum extract_function_e {
extract_info = 4, extract_info = 4,
extract_extract = 8, extract_extract = 8,
extract_verbose_extract = 16, extract_verbose_extract = 16,
extract_list = 32 extract_list = 32,
extract_fsys_tarfile = 64
} extract_function_t; } extract_function_t;
extern int deb_extract(const char *package_filename, int function, char *target_dir); extern int deb_extract(const char *package_filename, int function, char *target_dir);
extern int untar(FILE *src_tar_file, int function, char *base_path); extern int untar(FILE *src_tar_file, int untar_function, char *base_path);
extern int unzip(FILE *l_in_file, FILE *l_out_file); extern int unzip(FILE *l_in_file, FILE *l_out_file);
extern void gz_close(int gunzip_pid); extern void gz_close(int gunzip_pid);

View File

@ -31,8 +31,11 @@
/* /*
* Copy chunksize bytes between two file descriptors * Copy chunksize bytes between two file descriptors
*
* unsigned long is used so that if -1 is passed as chunksize it will read as
* much as possible, and it will work with off_t or off64_t
*/ */
extern int copy_file_chunk(FILE *src_file, FILE *dst_file, off_t chunksize) extern int copy_file_chunk(FILE *src_file, FILE *dst_file, unsigned long long chunksize)
{ {
off_t size, amount_written; off_t size, amount_written;
char buffer[BUFSIZ]; /* BUFSIZ is declared in stdio.h */ char buffer[BUFSIZ]; /* BUFSIZ is declared in stdio.h */

View File

@ -95,7 +95,7 @@ void reset_ino_dev_hashtable(void);
int copy_file(const char *src_name, const char *dst_name, int copy_file(const char *src_name, const char *dst_name,
int set_modes, int follow_links, int force_flag, int quiet_flag); int set_modes, int follow_links, int force_flag, int quiet_flag);
int copy_file_chunk(FILE *src_file, FILE *dst_file, off_t chunksize); int copy_file_chunk(FILE *src_file, FILE *dst_file, unsigned long long chunksize);
char *buildName(const char *dirName, const char *fileName); char *buildName(const char *dirName, const char *fileName);
int makeString(int argc, const char **argv, char *buf, int bufLen); int makeString(int argc, const char **argv, char *buf, int bufLen);
char *getChunk(int size); char *getChunk(int size);
@ -234,10 +234,11 @@ typedef enum extract_function_e {
extract_info = 4, extract_info = 4,
extract_extract = 8, extract_extract = 8,
extract_verbose_extract = 16, extract_verbose_extract = 16,
extract_list = 32 extract_list = 32,
extract_fsys_tarfile = 64
} extract_function_t; } extract_function_t;
extern int deb_extract(const char *package_filename, int function, char *target_dir); extern int deb_extract(const char *package_filename, int function, char *target_dir);
extern int untar(FILE *src_tar_file, int function, char *base_path); extern int untar(FILE *src_tar_file, int untar_function, char *base_path);
extern int unzip(FILE *l_in_file, FILE *l_out_file); extern int unzip(FILE *l_in_file, FILE *l_out_file);
extern void gz_close(int gunzip_pid); extern void gz_close(int gunzip_pid);