smbclient 2.8.8 bugs

ai26 at sternwarte.uni-erlangen.de ai26 at sternwarte.uni-erlangen.de
Mon Aug 16 17:58:30 GMT 2004


In a message of 16 Aug 2004 11:31:28 -0500
Received on Mon, 16 Aug 2004 18:32:15 +0200

John E. Malmberg <wb8tyw at qsl.net> wrote to samba-vms at lists.samba.org

>In article <CF0913E9C3D53D4E94DE47FDE25C633D048FD44A at hermes.cofiroute.com>,
>COLLOT Jean-Yves <jean-yves.collot at cofiroute.fr> writes:
>> Hi.
>>
>> Well, in this case, my opinion is that "bugs" is quite an over-reacting
>> word. I would have said "unsatisfactory defaults", or "erroneous =
>> message".
>
>A politically correct way of saying a bug?  :-)
>
>> going to change "Control-D" with "Control-Z" in the message.
>
>If I get working actively on getting the current UNIX builds of SAMBA to work
>on OpenVMS, I will again lobby the SAMBA team to fix their code, as they are
>making the assumption that no one has changed the TERMINFO database.
>
>Unlike VMS, UNIX can change the character from Control-D to almost any
>character that they want.
>
>You can even change the control characters for to work a lot like OpenVMS.  I
>do not know anyone that has actually done that.

I routinely do.  My tcsh works (almost) like EDT.  Here's my piece of
code in which I handle this on Unix:

#include <termio.h>
#ifdef __GNUC__
#define term_cc_ term_cc__
#endif
int term_cc_( void ) {

   struct termio term;
   int status;
   
   if( (status = ioctl( 0, TCGETA, &term )) != 0 ) {
      perror( "term_cc" );
      exit( status );
   }
   
   return term.c_cc[VEOF];
   
}

To be used like here:


	character*(*) function eofchar()
C ***
C ******************************************************************************
C ***
C ***	Returns current EOF character.
C ***
C ***	19-OCT-1993 17:01:14.00		ML / IoA Cambridge
C ***
C ******************************************************************************
C ***
	implicit none

	integer term_cc
        integer cc

	if( len(eofchar) .ge. 6 ) then

	   cc = term_cc()
	   if( cc.lt. 32 ) then
	      eofchar = 'CTRL/'//char( cc + 64 )
	   else
	      eofchar = char( cc )
	   end if

	else
	   eofchar = '>err<'

	end if

	end


And for chuckles:


#ifdef CURSES
#include <curses.h>
#include <term.h>
#else
#include <termcap.h>
#endif
#include <stdio.h>
#include <stdlib.h>
void eofexit_( void ) {
   
   char bp[1024], *escstr[1], Escstr[30], *term;
   
   escstr[0] = Escstr;
   
   term = getenv("TERM");
   if( term != NULL && *term != '\0' && tgetent( bp, term ) != 0 ) {
      tputs( tgetstr( "mr", escstr ), 1, &putchar );
      printf( " Exit " );
      tputs( tgetstr( "me", escstr ), 1, &putchar );

   } else {
      printf( "*Exit*" );
   }
   printf( "\n" );
   fflush( stdout );
}



Michael


--
Michael Lemke
Sternwarte Bamberg, University of Erlangen-Nürnberg, Germany
(lemke at sternwarte.uni-erlangen.de)


More information about the samba-vms mailing list