#include "bs.h"
+void print_v(char *txt, char *data, Uint32 len)
+{
+ Uint32 i;
+
+ printf("%s", txt);
+
+ for(i=0; i<len; i++) {
+ if (data[i] == '\n')
+ printf("#");
+ else
+ printf("%c", data[i]);
+ }
+ printf("\n");
+}
+
int main(int argc, char *argv[])
{
char *data;
}
data = malloc(sizeof(char)*len);
- salida = malloc(sizeof(char)*(len+1+sizeof(unsigned long int)*2));
+ salida = malloc(sizeof(char)*(len+1+sizeof(unsigned long int)));
orig = malloc(sizeof(char)*(len+1));
salida[len] = '\0';
bs = bs_create(len);
- c = fgetc(fp);
total = 0;
while (!feof(fp)) {
i = 0;
- while ((!feof(fp)) && (i < len)) {
- data[i++] = c;
- c = fgetc(fp);
- total++;
- }
+ i = bs_readblock(fp, data, len, 1);
+
+ total += i;
+
bs_solve(data, salida, bs, &k, i);
/* XXX ACA SALIDA DEBERIA PASAR A LA SIGUIENTE ETAPA XXX */
if (argc == 3) {
- printf("BS : %s -> %ld\n", salida, k);
- bs_restore(orig, salida, k, i);
- printf("Orig : %s\n", orig);
+ bs_restore(orig, salida+sizeof(Uint32), k, i);
+ print_v("Leido : ", data, i);
+ print_v("BS : ", salida+sizeof(Uint32), i);
+ /*print_v("Restorado : ", orig, i);*/
} else
fwrite(salida, 1, i, stdout);
}