*** typeck.c.orig 2007-08-16 11:02:22.000000000 -0400 --- typeck.c 2007-08-16 11:02:34.000000000 -0400 *************** *** 3867,3890 **** memset (buff, '0', (size_t)diff); memcpy (buff + diff, l->data, (size_t)l->size); } ! if (cb_display_sign == COB_DISPLAY_SIGN_EBCDIC) { ! p = &buff[f->size - 1]; ! cob_put_sign_ebcdic (p, l->sign); ! } else if (l->sign < 0) { ! p = &buff[f->size - 1]; ! switch (cb_display_sign) { ! case COB_DISPLAY_SIGN_ASCII: ! *p += 0x40; ! break; ! case COB_DISPLAY_SIGN_ASCII10: ! *p += 0x10; ! break; ! case COB_DISPLAY_SIGN_ASCII20: ! *p += 0x20; ! break; ! default: ! fprintf (stderr, "Unexpected display sign %d\n", cb_display_sign); ! ABORT (); } } } else { --- 3867,3892 ---- memset (buff, '0', (size_t)diff); memcpy (buff + diff, l->data, (size_t)l->size); } ! if (f->pic->have_sign) { ! if (cb_display_sign == COB_DISPLAY_SIGN_EBCDIC) { ! p = &buff[f->size - 1]; ! cob_put_sign_ebcdic (p, l->sign); ! } else if (l->sign < 0) { ! p = &buff[f->size - 1]; ! switch (cb_display_sign) { ! case COB_DISPLAY_SIGN_ASCII: ! *p += 0x40; ! break; ! case COB_DISPLAY_SIGN_ASCII10: ! *p += 0x10; ! break; ! case COB_DISPLAY_SIGN_ASCII20: ! *p += 0x20; ! break; ! default: ! fprintf (stderr, "Unexpected display sign %d\n", cb_display_sign); ! ABORT (); ! } } } } else {