Portuguese-Language Kermit Manuals

The files in this area whose names start with PORT are Portuguese language
translations of Kermit documents.  The translator is Ricardo B. Ghirlanda of
Telecomunicacoes Brasileiras S.A. - TELEBRAS, Brasilia, Brazil (pardon the
omitted diacritical marks).

  PORTUG is the Portuguese User Guide (Fifth Edition).
  PORTPM is the Portuguese Protocol Manual (Fifth Edition).
  PORTTT is a manual describing a Kermit-based file transfer service

The original files were in 8-bit IBM PC WordStar (.WSD) format, which can't
be included in Kermit distribution.  The files of type .HEX are "hexified"
versions of the WordStar files, which can be dehexified back into the original
8-bit WordStar format by a program like the C-language one below.  The files of
type .TXT are 7-bit ASCII files produced from the WordStar files by stripping
the high-order bit of each 8-bit byte.  These are almost readable on a terminal
or printer; diacritics are mostly done with backspace-overstrike, etc.

Thanks to Mr. Ari Lopes Cunha of Brasilia for submitting this material.

----(cut here)----

/* UNHEX - Program to translate a hex file from standard input */
/* into 8-bit binary file on standard output.                  */
/* Christine M. Gianone, CUCCA, 1986                           */

#include <stdio.h>                    /* Include this for EOF symbol */

char a, b;                            /* High and low hex nibbles */

/* Main program reads each hex digit pair and outputs the 8-bit byte. */

main() {
    while ((a = getchar()) != EOF) {  /* Read first hex digit */
        if (a == '\n')                /* Ignore line terminators */
          continue;
        if ((b = getchar()) == EOF)   /* Read second hex digit */
          break;
        putchar( ((decode(a) * 16) & 0xF0) + (decode(b) & 0xF) );
    }
    exit(0)                           /* Done */
}

decode(x) char x; {                   /* Function to decode a hex character */
    if (x >= '0' && x <= '9')         /* 0-9 is offset by hex 30 */
      return (x - 0x30);
    else if (x >= 'A' && x <= 'F')    /* A-F offset by hex 37 */
      return(x - 0x37);
    else {                            /* Otherwise, an illegal hex digit */
        fprintf(stderr,"Input is not in legal hex format\n");
        exit(1);
    }
}

[End of PORTAA.HLP]
