]> git.llucax.com Git - z.facultad/75.06/jacu.git/blobdiff - src/blocksorting/main.c
el _z estaba alocando mas memoria de la que necesitaba, pero creo que eso no producia...
[z.facultad/75.06/jacu.git] / src / blocksorting / main.c
index c3ae3026eae0f336b4588c63b0886872c8bb2fe8..91582a92ccd7c6607a99b64f1e4f14a14917c62c 100644 (file)
@@ -23,7 +23,7 @@ int main(int argc, char *argv[])
        }
 
        data = malloc(sizeof(char)*len);
-       salida = malloc(sizeof(char)*(len+1));
+       salida = malloc(sizeof(char)*(len+1+sizeof(unsigned long int)*2));
        orig = malloc(sizeof(char)*(len+1));
 
        salida[len] = '\0';
@@ -40,15 +40,20 @@ int main(int argc, char *argv[])
                        c = fgetc(fp);
                        total++;
                }
+               /* lleno data mano! */
+               srand(time(NULL));
+               {
+                       size_t jj;
+                       for(jj=0; jj<i;jj++)
+                               data[jj] = rand()%255;
+               }
                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)*2, k, i);
                } else
-                       fwrite(salida, 1, i, fp);
+                       fwrite(salida, 1, i, stdout);
        }
        fclose(fp);
        bs_destroy(bs);