Aca va un parche que lo endecenta para el uso de hoy. Ojala funcione...

--- tarx.c.old  2005-08-23 13:22:12.000000000 -0400
+++ tarx.c      2005-08-23 13:37:24.000000000 -0400
@@ -2,25 +2,32 @@
  * tarx - manipulate damaged tar tapes heuristically
  */
 
+#include <unistd.h>
+#include <stdlib.h>
 #include <stdio.h>
+#include <errno.h>
 #include <string.h>
 
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+
 #define NAMSIZ 100             /* why isn't there a tar.h??? */
 #define        FLAG    (NAMSIZ+8+8+8+12+12+8)  /* offset of is-a-link flag */
 struct matches {
        int offset;
        char value;
 } matches[] = {                        /* pattern-match table for header 
blocks */
-       NAMSIZ+6,       ' ',
-       NAMSIZ+7,       '\0',
-       NAMSIZ+8+6,     ' ',
-       NAMSIZ+8+7,     '\0',
-       NAMSIZ+16+6,    ' ',
-       NAMSIZ+16+7,    '\0',
-       NAMSIZ+24+11,   ' ',
-       NAMSIZ+36+11,   ' ',
-       NAMSIZ+48+6,    '\0',
-       0,              0,
+       {NAMSIZ+6,      ' '},
+       {NAMSIZ+7,      '\0'},
+       {NAMSIZ+8+6,    ' '},
+       {NAMSIZ+8+7,    '\0'},
+       {NAMSIZ+16+6,   ' '},
+       {NAMSIZ+16+7,   '\0'},
+       {NAMSIZ+24+11,  ' '},
+       {NAMSIZ+36+11,  ' '},
+       {NAMSIZ+48+6,   '\0'},
+       {0,             0},
 };
 
 #ifndef MAXBLOCK
@@ -46,14 +53,13 @@
 
 #define        STREQ(a, b)     (*(a) == *(b) && strcmp((a), (b)) == 0)
 
-#ifndef lint
-static char RCSid[] = "$Header$";
-#endif
-
 int debug = 0;
 char *progname;
 
-extern void exit();
+extern void doblock(char *block, int argc, char **argv);
+extern int istar(char *block);
+extern int match(char *s, int argc, char **argv);
+
 #ifdef UTZOOERR
 extern char *mkprogname();
 #else
@@ -63,6 +69,7 @@
 /*
  - main - parse arguments and handle options
  */
+int
 main(argc, argv)
 int argc;
 char *argv[];
@@ -71,7 +78,6 @@
        int errflg = 0;
        register char *block;
        extern char *readblock();
-       extern char *malloc();
        extern int optind;
        extern char *optarg;
 
@@ -102,14 +108,14 @@
        if (errflg) {
                fprintf(stderr, "usage: %s ", progname);
                fprintf(stderr, "[-t] [-b blockf] [-e errs] [-E eofs] [name] 
...\n");
-               exit(2);
+               exit(EXIT_FAILURE);
        }
 
        buf = malloc(maxblock*BLOCK);
        if (buf == NULL) {
                fprintf(stderr, "%s: cannot allocate buffer of %d blocks\n",
                                                        progname, maxblock);
-               exit(1);
+               exit(EXIT_FAILURE);
        }
 
        for(;;) {
@@ -129,9 +135,6 @@
 int desc;
 {
        register int count;
-       extern int errno;
-       extern int sys_nerr;
-       extern char *sys_errlist[];
 
        if (nleft > 0) {
                whichnow++;
@@ -149,16 +152,14 @@
                        printf("---! bad block size (%d) - treated as bad\n", 
count);
                        nbad++;
                } else {
-                       if (errno >= 0 && errno < sys_nerr)
-                               printf("---! error (%s)\n", sys_errlist[errno]);
-                       else
-                               printf("---! error %d\n", errno);
+                       if (errno >= 0)
+                               perror("---! error");
                        nbad++;
                }
                if (nbad >= badlimit)
-                       exit(1);
+                       exit(EXIT_FAILURE);
                if (neof >= eoflimit)
-                       exit(0);
+                       exit(EXIT_SUCCESS);
                return(NULL);
        }
 
@@ -173,6 +174,7 @@
 /*
  - doblock - process a block
  */
+void
 doblock(block, argc, argv)
 char *block;
 int argc;
From [EMAIL PROTECTED]  Tue Aug 23 13:10:24 2005
From: [EMAIL PROTECTED] (Ernesto del Campo)
Date: Tue Aug 23 13:45:28 2005
Subject: Alternativa a Exchange en Linux
In-Reply-To: <[EMAIL PROTECTED]>
Message-ID: 
<!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAaYIbMOXeF0CmHcAJm0kR5MKAAAAQAAAAGXj1ikHq2k6Fh/[EMAIL
 PROTECTED]>

Estimada lista,

Tengo un problema que me aqueja desde ya hace un par de semanas.
Una empresa X quiere sacar Exchange de su empresa, pero no desea perder la
utilidad de compartir calendario, contactos, etc. todas esas herramientas
que da este software.
A ellos no les interesa meterse a una web y de ahí coordinar una reunión,
sino que desean seguir mas o menos como están hasta ahora.


Hasta hora he probado las siguientes alternativas: 
- OpengGroupware.org (Necesita un plug-in para Outlook que es MUY caro)
- Citadle (Por IMAP es muy penca, ya que me crea carpetas)

¿alguna sugerencia?

Ernesto del Campo C.


  • tarx Horst von Brand
    • tarx Astor Giacomo
      • tarx Astor Giacomo
        • tarx Horst von Brand
          • tarx Horst von Brand

Responder a