Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > La Taberna
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-02-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Parches

Hola,

Tengo una determinada biblioteca escrita en C que debemos compilar para Solaris. La biblioteca es muy antigua y ya no compila con las nuevas versiones.

En la red encontré algo así como un parche (y digo "algo así" porque además de no entender muy bien de qué va la cosa, está en ruso). El parche es este:

Código:
--- ./templates.orig/tmpl_lib.c 2011-06-17 00:39:42.312591830 +0400
+++ ./templates/tmpl_lib.c      2011-06-17 00:40:32.342594981 +0400
@@ -214,7 +214,7 @@
        buf_alloc = TMPL_MAX_TAG_LEN+4;
        buf = (uchar*)emalloc(buf_alloc);
        /* Searching algorythm will require larger buffer */
-       ZV(tmpl->original) = (char*)erealloc(ZV(tmpl->original),
+       Z_STRVAL_P(tmpl->original) = (char*)erealloc(ZV(tmpl->original),
                ZL(tmpl->original) + MAX(
                        ZL(tmpl->tag_left), MAX(
                                ZL(tmpl->tag_right), MAX(
@@ -697,7 +697,7 @@
                                        /* Make a recursive call */
                                        if(buf_alloc <= (unsigned)(ZL(path)+1+ZL(tag->name)+1)) {
                                                while(buf_alloc <= (unsigned)(ZL(path)+1+ZL(tag->name)+1)) buf_alloc <<= 1;
-                                               ZV(new_path) = (char*)erealloc(ZV(new_path), buf_alloc);
+                                               Z_STRVAL_P(new_path) = (char*)erealloc(ZV(new_path), buf_alloc);
                                        }
                                        sprintf(ZV(new_path), (1 == ZL(path) && '/' == ZV(path)[0]) ? "%s%s" : "%s/%s", ZV(path), ZV(tag->name));
                                        ZL(new_path) = ZL(path) + ZL(tag->name) + ((1 == ZL(path) && '/' == ZV(path)[0]) ? 0 : 1);
@@ -877,7 +877,10 @@
                        } else p = key;
                        ZVAL_STRINGL(new_value, p, (TMPL_LONG == mod) ? key_len-1 : key_len-1-(p-key), 1);
                        if((TMPL_TAG | TMPL_CONTEXT) == mask && TMPL_CONTEXT == tag->typ) {
-                               ZV(new_value) = (char*)erealloc(ZV(new_value), ZL(new_value)+2);
+                               Z_STRVAL_P(new_value) = (char*)erealloc(ZV(new_value), ZL(new_value)+2);
+
+
+
                                memcpy(ZV(new_value)+ZL(new_value), "/", 2);
                                ZL(new_value) += 1;
                        }
Donde quiero suponer que la líneas precedidas por un signo - hay que quitarlas y agregar las precedidas por un signo +.

La pregunta es: ¿hay que hacer esto a mano en un editor de texto o hay alguna herramienta para aplicar el parche al código?

// Gracias
Responder Con Cita
  #2  
Antiguo 29-02-2012
Avatar de Julián
Julián Julián is offline
Merodeador
 
Registrado: may 2003
Ubicación: en mi casa
Posts: 2.029
Poder: 10
Julián Va por buen camino
Lo que tienes es un patch, archivo generado con el comando diff, que puedes aplicar con el comando patch.



Un saludo!
__________________
"la única iglesia que ilumina es la que arde"
Anonimo
Responder Con Cita
  #3  
Antiguo 29-02-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Gracias Julián. Ahora me estaba peleando con eso y me marcaba algunos errores. Pero la administradora ya hizo los cambios a pie (eran pocos) y ya pudo compilar.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Parches de actualización ElDuc Varios 3 02-02-2007 19:12:51
Restringirá Microsoft parches de seguridad marcoszorrilla Noticias 17 03-02-2005 01:14:12
Parches Delphi 5 virola Varios 2 26-04-2004 16:07:13
Fallos en parches de seguridad, ¿adivinan de quién? andres1569 Noticias 3 03-11-2003 13:21:42


La franja horaria es GMT +2. Ahora son las 00:56:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi