Update mainfile
This commit is contained in:
@@ -1,12 +1,31 @@
|
|||||||
|
#include <stdint.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <sys/mman.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
|
||||||
#include "ldm.h"
|
#include "ldm.h"
|
||||||
|
|
||||||
#define BUF_SIZE 16*1024 // Block size
|
#define BUF_SIZE 16*1024 // Block size
|
||||||
#define LDM_HEADER_SIZE 8
|
#define LDM_HEADER_SIZE 8
|
||||||
|
|
||||||
|
/*
|
||||||
|
static size_t compress_file_mmap(FILE *in, FILE *out, size_t *size_in,
|
||||||
|
size_t *size_out) {
|
||||||
|
char *src, *dst;
|
||||||
|
struct stat statbuf;
|
||||||
|
|
||||||
|
if (fstat(in, &statbuf) < 0) {
|
||||||
|
printf("fstat error\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
static size_t compress_file(FILE *in, FILE *out, size_t *size_in,
|
static size_t compress_file(FILE *in, FILE *out, size_t *size_in,
|
||||||
size_t *size_out) {
|
size_t *size_out) {
|
||||||
char *src, *buf = NULL;
|
char *src, *buf = NULL;
|
||||||
@@ -26,7 +45,6 @@ static size_t compress_file(FILE *in, FILE *out, size_t *size_in,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
k = fread(src, 1, BUF_SIZE, in);
|
k = fread(src, 1, BUF_SIZE, in);
|
||||||
if (k == 0)
|
if (k == 0)
|
||||||
@@ -37,10 +55,8 @@ static size_t compress_file(FILE *in, FILE *out, size_t *size_in,
|
|||||||
|
|
||||||
// n = k;
|
// n = k;
|
||||||
// offset += n;
|
// offset += n;
|
||||||
offset = k;
|
offset = n;
|
||||||
count_out += k;
|
count_out += n;
|
||||||
|
|
||||||
// k = fwrite(src, 1, offset, out);
|
|
||||||
|
|
||||||
k = fwrite(buf, 1, offset, out);
|
k = fwrite(buf, 1, offset, out);
|
||||||
if (k < offset) {
|
if (k < offset) {
|
||||||
@@ -94,8 +110,6 @@ static size_t decompress_file(FILE *in, FILE *out) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO
|
|
||||||
|
|
||||||
/* Decompress:
|
/* Decompress:
|
||||||
* Continue while there is more input to read.
|
* Continue while there is more input to read.
|
||||||
*/
|
*/
|
||||||
@@ -220,7 +234,6 @@ int main(int argc, char *argv[]) {
|
|||||||
fclose(inpFp);
|
fclose(inpFp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user