[BRLTTY] Bindings

Samuel Thibault samuel.thibault at ens-lyon.org
Sun Aug 17 19:39:04 EDT 2008


Jean-Philippe MENGUAL, le Mon 18 Aug 2008 01:30:49 +0200, a écrit :
> :( I get:
> 
> gcc -Wall -Wl,-export-dynamic -o read_config read_config.o 
> ./../../Programs/cmd.
> o ./../../Programs/charset.o ./../../Programs/lock.o 
> ./../../Programs/misc.o -ld
> l -lpthread -lsupc++
> ./../../Programs/cmd.o: In function `cmdWCharToBrlapi':
> /home/jp/Programmes/brltty/brl2/brltty-3.8/Programs/./cmd.c:222: 
> undefined refer
> ence to `untextTable'


> I precise that patching with your current patch says:
> patching file BrailleDrivers/Papenmeier/Makefile.in
> Hunk #1 FAILED at 29.
> 1 out of 1 hunk FAILED -- saving rejects to file 
> BrailleDrivers/Papenmeier/Makef
> ile.in.rej
> patching file Programs/cmd.c

Ah, I didn't refresh that part indeed, here is a fixed version.

Samuel
-------------- next part --------------
--- BrailleDrivers/Papenmeier/Makefile.in.orig	2008-08-18 00:37:41.000000000 +0100
+++ BrailleDrivers/Papenmeier/Makefile.in	2008-08-18 00:38:19.000000000 +0100
@@ -28,7 +28,7 @@
 braille.$O:
 	$(CC) $(BRL_CFLAGS) $(YACC_CFLAGS) -c $(SRC_DIR)/braille.c
 
-READ_CONFIG_OBJECTS = read_config.$O $(BLD_TOP)$(PGM_DIR)/cmd.$O $(BLD_TOP)$(PGM_DIR)/charset.$O $(BLD_TOP)$(PGM_DIR)/lock.$O $(BLD_TOP)$(PGM_DIR)/misc.$O
+READ_CONFIG_OBJECTS = read_config.$O $(BLD_TOP)$(PGM_DIR)/cmd.$O $(BLD_TOP)$(PGM_DIR)/brl.$O $(BLD_TOP)$(PGM_DIR)/charset.$O $(BLD_TOP)$(PGM_DIR)/lock.$O $(BLD_TOP)$(PGM_DIR)/misc.$O
 read_config$X: $(READ_CONFIG_OBJECTS)
 	$(HOSTCC) $(HOSTLDFLAGS) -o $@ $(READ_CONFIG_OBJECTS) $(LDLIBS)
 
--- Programs/cmd.c.orig	2008-08-17 23:36:28.000000000 +0100
+++ Programs/cmd.c	2008-08-17 23:41:47.000000000 +0100
@@ -23,6 +23,7 @@
 #include "misc.h"
 #include "brldefs.h"
 #include "cmd.h"
+#include "brl.h"
 
 #include "Programs/charset.h"
 
@@ -214,20 +215,27 @@
   }
 }
 
+static brlapi_keyCode_t
+cmdWCharToBrlapi(wchar_t wc) {
+  if (wc < 0x100) {
+    /* latin1 character */
+    return BRLAPI_KEY_TYPE_SYM | wc;
+  } else {
+    /* unicode character */
+    return BRLAPI_KEY_TYPE_SYM | BRLAPI_KEY_SYM_UNICODE | wc;
+  }
+}
+
 brlapi_keyCode_t
 cmdBrlttyToBrlapi (int command) {
   brlapi_keyCode_t code;
   switch (command & BRL_MSK_BLK) {
-  case BRL_BLK_PASSCHAR: {
-    wchar_t wc = convertCharToWchar(command & BRL_MSK_ARG);
-    if (wc < 0x100)
-      /* latin1 character */
-      code = wc;
-    else
-      /* unicode character */
-      code = BRLAPI_KEY_SYM_UNICODE | wc;
+  case BRL_BLK_PASSCHAR:
+    code = cmdWCharToBrlapi(convertCharToWchar(command & BRL_MSK_ARG));
+    break;
+  case BRL_BLK_PASSDOTS:
+    code = cmdWCharToBrlapi(untextTable[command & BRL_MSK_ARG]);
     break;
-  }
   case BRL_BLK_PASSKEY:
     switch (command & BRL_MSK_ARG) {
     case BRL_KEY_ENTER:		code = BRLAPI_KEY_SYM_LINEFEED;	 break;


More information about the BRLTTY mailing list