]> git.llucax.com Git - z.facultad/75.06/jacu.git/commitdiff
buscar_z ahora parece funcionar
authorRicardo Markiewicz <gazer.arg@gmail.com>
Sat, 19 Jun 2004 22:06:39 +0000 (22:06 +0000)
committerRicardo Markiewicz <gazer.arg@gmail.com>
Sat, 19 Jun 2004 22:06:39 +0000 (22:06 +0000)
otros/mtf/mtf.c

index c89bfbe43a24905d725396145595cf98646201fa..6d59e9bd9f719cd8d63af5a5c5cf17b5f1e5958a 100644 (file)
@@ -1,7 +1,7 @@
 #include "mtf.h"
 
 /****privadas*****/
-int no_pertenece(char *z, char c);
+int no_pertenece(char *z, char c, int len);
 
 void pop_front(char *z, int pos);
 
@@ -43,12 +43,12 @@ int *jacu_mtf(char *datos, int len)
 char *jacu_buscar_z(char* datos, int len, int *size)
 {
        char *z;
-       int i, j=1;
+       int i, j=0;
        
-       z = (char*)malloc(1);
-       if (z==NULL) return NULL;
+       z = NULL; /*(char*)malloc(1);*/
+       /*if (z==NULL) return NULL;*/
        for(i=0; i<len; i++){
-               if( no_pertenece(z, datos[i]) ){
+               if( no_pertenece(z, datos[i], j) == -1 ){
                        j++;
                        z = realloc(z, j*sizeof(char));
                        z[j-1]=datos[i];
@@ -59,12 +59,12 @@ char *jacu_buscar_z(char* datos, int len, int *size)
 }
        
 
-int no_pertenece(char *z, char c)
+int no_pertenece(char *z, char c, int len)
 {
        int i;
        
        /* XXX Z NO TIENE 255 POSICIONES XXX */
-       for(i=0; i<255; i++)
+       for(i=0; i<len; i++)
                if (z[i] == c)
                        return 0;
        return -1;
@@ -84,6 +84,8 @@ void pop_front(char *z, int pos)
 int get_pos(char *z, int len, char c)
 {
        int pos;
+       if (z==NULL) return -1;
+
        for(pos=0; pos<len; pos++)
                if ( z[pos] == c )
                        return pos;