× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: Re: assertion fails on DSPF
  • From: Scott Klement <klemscot@xxxxxxxxxxxx>
  • Date: Thu, 27 Apr 2000 00:37:48 -0500 (CDT)


Mike/Steve,

The attached patches for cursesterm.c and utility.c will fix a number of
the "non-display" character problems.   It doesnt fix them all (by a 
long shot) but it works for many of them (at least, on my system)

Perhaps you guys could try them out, and if they're an improvement, add 
them to the CVS source?

Thanks...

Scott


On Wed, 26 Apr 2000, Mike Madore wrote:

> Hi Steve,
> 
> Thanks for the info.  This is part of a more general problem where we
> don't handle non-display characters correctly.  I need to come up with a
> more generic approach.  Will put this on my to-do list.
> 
> Mike
> 
> On Wed, 26 Apr 2000 stevefx@us.ibm.com wrote:
> 
> > I am having problems with an assertion failing when DSPF is used on a
> > OS/400 development release, it blows up right away. I contacted the owner
> > of the DSPF command to see what had changed, and below is his response.
> > 
> > Thanks!
> > 
> > ------------------------------------------------------------------
> > Steve,
> > 
> > I think I figured what is causing your emulator to fail.  From the trace
> > file it looks like the emulator dies when it tries to read EBCDIC codepoint
> > 0x09.  This character is the result of one of the changes that was made to
> > DSPF/EDTF.  The program is designed to take all characters less than 0x40
> > and replace them with a 0x09 for the purpose of being displayed to the
> > screen.  There is a control character at the end of the each file name, in
> > this case "/dev/qsh-stdin-null", that is being replace with a 0x09.
> > Previously the value was 0x16, but we were having problems with the
> > character being displayed so we changed it to 0x09.  It looks like the
> > emulator doesn't know how to handle codepoint 0x09.  Hopefully, this is
> > helpful.  If you have any more questions let me know.
> > ------------------------------------------------------------------
> > 
> > Steve Fox
> > http://w3.rchland.ibm.com/~sjfox (IBM Intranet)
> > http://k-lug.com (Rochester Linux Users Group)
> > 
--- utility.orig        Wed Apr 26 17:57:01 2000
+++ utility.c   Thu Apr 27 00:30:11 2000

@@ -196,20 +196,24 @@
 int tn5250_char_map_printable_p(Tn5250CharMap *map, Tn5250Char data)
 {
    switch (data) {
-   case 0x00:
-   case 0x0d: /* ? - appears in data submitted by Sean Porterfield */
-   case 0x0a: /* ? - ditto */
-   case 0x16: /* ? - ditto */
-   case 0x1c: /* DUP */
-   case 0x1e: /* Field Mark (?) */
-      return 1;
-
    case 0x0e: /* Ideographic Shift-In. */
    case 0x0f: /* Ideographic Shift-Out. */
       TN5250_ASSERT(0); /* FIXME: Not implemented. */
-      break;
+      return 0;

+   case 0x01:  /* These chars "cause an RNQ1251" on an IBM 3179-2 */

+   case 0x02:  

+   case 0x03:

+   case 0x04:

+   case 0x10:

+   case 0x11:

+   case 0x12:

+   case 0x13:

+   case 0x14:

+   case 0x15:

+   case 0x1d:

+      return 0;                                                               

    }
-   return (data >= 0x1C) && (data <= 0xFF);
+   return 1;

 }
 /*******/
 
--- cursesterm.orig     Wed Apr 26 17:56:43 2000
+++ cursesterm.c        Wed Apr 26 18:01:54 2000

@@ -569,9 +569,14 @@
            if (curs_attr == 0x00) {    /* NONDISPLAY */
               addch(attribute_map[0] | ' ');
            } else {
-              if ((c < 0x40 && c > 0x00) || c == 0xff) { /* UNPRINTABLE */
+               /* UNPRINTABLE -- print block */

+               if ((c==0x1f) || (c==0x3F)) {

                  c = ' ';
                  curs_attr ^= A_REVERSE;
+               }

+               /* UNPRINTABLE -- print blank */

+              else if ((c < 0x40 && c > 0x00) || c == 0xff) { 

+                 c = ' ';

               } else {
                  c = tn5250_char_map_to_local (tn5250_display_char_map 
(display), c);
               }

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.