Package: xtel Version: 3.3.0-6 Severity: wishlist Tags: patch Hello,
Xtel has some support for teleinfo mode, but this is currently disabled in xtel.c. This is useful for e.g. the Sirene service. The attached patch enables it, and fixes a couple display glitches. Samuel -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.33 (SMP w/2 CPU cores) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages xtel depends on: ii lesstif2 1:0.95.2-1 OSF/Motif 2.1 implementation relea ii libc6 2.10.2-6 Embedded GNU C Library: Shared lib ii libice6 2:1.0.6-1 X11 Inter-Client Exchange library ii libjpeg62 6b-16.1 The Independent JPEG Group's JPEG ii libsm6 2:1.1.1-1 X11 Session Management library ii libx11-6 2:1.3.3-1 X11 client-side library ii libxext6 2:1.1.1-2 X11 miscellaneous extension librar ii libxp6 1:1.0.0.xsf1-2 X Printing Extension (Xprint) clie ii libxpm4 1:3.5.8-1 X11 pixmap library ii libxt6 1:1.0.7-1 X11 toolkit intrinsics library ii openbsd-inetd [inet-super 0.20080125-4 The OpenBSD Internet Superserver ii ppp 2.4.4rel-10.1 Point-to-Point Protocol (PPP) - da ii x11-common 1:7.5+3 X Window System (X.Org) infrastruc ii xbase-clients 1:7.5+3 miscellaneous X clients - metapack ii xfonts-utils 1:7.5+2 X Window System font utility progr ii xutils 1:7.5+3 X Window System utility programs m Versions of packages xtel recommends: ii logrotate 3.7.8-4 Log rotation utility xtel suggests no packages. -- debconf information excluded -- Samuel Thibault <samuel.thiba...@fnac.net> �Tiens, quand j'aurai un peu de temps et une partition libre, je crois que je vais essayer de remplacer mes scripts de d�marrage par des programmes Windows lanc�s via Wine et binfmt_misc :-)� -+- AGV in Guide du linuxien pervers - "J'sais pas quoi faire... (air connu)"
diff -ur xtel-3.3.0.original/lecteur.c xtel-3.3.0/lecteur.c --- xtel-3.3.0.original/lecteur.c 2001-02-11 01:01:00.000000000 +0100 +++ xtel-3.3.0/lecteur.c 2010-03-06 02:28:09.000000000 +0100 @@ -100,9 +100,13 @@ kill (pid_teleinfo, SIGKILL); close (fd_teleinfo); } else { + char s[8]; + int n; if (mode_emulation == MODE_TELEINFO_FR) c = conversion_teleinfo_fr (c,3); - write (fd_teleinfo, &c, 1); + n = snprintf (s, sizeof (s), "%lc", (unsigned char) c); + if (n != -1) + write (fd_teleinfo, s, n); } } else { diff -ur xtel-3.3.0.original/ligne.c xtel-3.3.0/ligne.c --- xtel-3.3.0.original/ligne.c 2001-02-11 01:01:34.000000000 +0100 +++ xtel-3.3.0/ligne.c 2010-03-06 02:27:59.000000000 +0100 @@ -172,9 +172,13 @@ selection_mode_emulation (ecran_minitel, "V", NULL); return; } else { + char s[8]; + int n; if (mode_emulation == MODE_TELEINFO_FR) c = conversion_teleinfo_fr (c,1); - write (fd_teleinfo, &c, 1); + n = snprintf (s, sizeof(s), "%lc", (unsigned char) c); + if (n != -1) + write (fd_teleinfo, s, n); } } else { videotexDecode (ecran_minitel, c); diff -ur xtel-3.3.0.original/teleinfo.c xtel-3.3.0/teleinfo.c --- xtel-3.3.0.original/teleinfo.c 2010-03-06 01:55:42.000000000 +0100 +++ xtel-3.3.0/teleinfo.c 2010-03-06 02:29:31.000000000 +0100 @@ -279,7 +279,8 @@ break; case 0x0e : - c = 0xef ; + //c = 0xef ; + c = 0; break ; case 0x1b : @@ -310,11 +311,17 @@ if (read (*fid, &c, 1) == 1) { if (mode_emulation == MODE_TELEINFO_FR) c = conversion_teleinfo_fr (c,2); - + if (flag_connexion) write (socket_xteld, &c, 1); - else - write (fd_teleinfo, &c, 1); + else { + char s[8]; + int n; + + n = sprintf(s, sizeof(s), "%lc", (unsigned char) c); + if (n != -1) + write (fd_teleinfo, s, n); + } } } diff -ur xtel-3.3.0.original/xtel.c xtel-3.3.0/xtel.c --- xtel-3.3.0.original/xtel.c 2001-02-13 10:49:30.000000000 +0100 +++ xtel-3.3.0/xtel.c 2010-03-06 02:13:28.000000000 +0100 @@ -42,6 +42,8 @@ #include "pixmaps/xtel.xpm" #endif /* NO_XPM */ +#include <locale.h> + static Colormap current_cmap; static Cursor teleph_cursor; static Pixmap pixmap_icone = None; @@ -446,6 +448,8 @@ int i; Widget topLevel; + setlocale(LC_ALL, ""); + if (prototype_xtel == 0) { if (PATCHLEVEL != 0) printf ("XTEL %d.%d.%d, Emulateur MINITEL/I-MINITEL\n", version_xtel, revision_xtel, PATCHLEVEL); @@ -639,9 +643,9 @@ XtRealizeWidget(topLevel); - /* XtAddCallback (ecran_minitel, XtNmodeCallback, (XtCallbackProc)selection_mode_emulation, (XtPointer)"A"); XtAddCallback (ecran_minitel, XtNmodefrCallback, (XtCallbackProc)selection_mode_emulation, (XtPointer)"F"); + /* XtAddCallback (ecran_minitel, XtNenregCallback, (XtCallbackProc)enregistre_caractere, (XtPointer)NULL); */ init_xtel ();