[BRLTTY] patch for open as a macro
Stepan Kasal
kasal at ucw.cz
Tue Aug 28 07:04:05 EDT 2007
Hi again,
attached please find another patch written by Tomas.
So please cc him in any replies.
Thanks,
Stepan
-------------- next part --------------
Fix the calls to whatever->open to compile with newer glibc.
The glibc upstream has recently defined open as macro to check for incorrect
usage of the third parameter. This is correct, the POSIX standard says that it
may be declared in such a way. The attached patch redefines all those
> whatever->open(...)
calls to
> (whatever->open)(...)
. I also replaced the close calls, since close may be declared as macro too.
Signed-off-by: Tomas Janousek <tjanouse at redhat.com>
Reviewed-by: Stepan Kasal <skasal at redhat.com>
---
--- brltty-3.8/Programs/config.c.openmacro 2007-08-21 14:25:42.000000000 +0200
+++ brltty-3.8/Programs/config.c 2007-08-21 14:28:07.000000000 +0200
@@ -1383,13 +1383,13 @@
openBrailleDriver (void) {
initializeBraille();
- if (braille->open(&brl, brailleParameters, brailleDevice)) {
+ if ((braille->open)(&brl, brailleParameters, brailleDevice)) {
if (allocateBrailleBuffer(&brl)) {
brailleOpened = 1;
return 1;
}
- braille->close(&brl);
+ (braille->close)(&brl);
} else {
LogPrint(LOG_DEBUG, "%s: %s -> %s",
gettext("braille driver initialization failed"),
@@ -1403,7 +1403,7 @@
closeBrailleDriver (void) {
brailleOpened = 0;
drainBrailleOutput(&brl, 0);
- braille->close(&brl);
+ (braille->close)(&brl);
if (brl.isCoreBuffer) {
free(brl.buffer);
@@ -1657,7 +1657,7 @@
openSpeechDriver (void) {
initializeSpeech();
- if (speech->open(speechParameters)) {
+ if ((speech->open)(speechParameters)) {
return 1;
} else {
LogPrint(LOG_DEBUG, "speech driver initialization failed: %s",
@@ -1669,7 +1669,7 @@
void
closeSpeechDriver (void) {
- speech->close();
+ (speech->close)();
}
static int
--- brltty-3.8/Programs/tunes.c.openmacro 2007-08-21 14:25:42.000000000 +0200
+++ brltty-3.8/Programs/tunes.c 2007-08-21 14:28:54.000000000 +0200
@@ -480,7 +480,7 @@
}
if (!generator) return 0;
- if (noteGenerator) noteGenerator->close();
+ if (noteGenerator) (noteGenerator->close)();
closeTimer = 0;
noteGenerator = generator;
return 1;
@@ -490,7 +490,7 @@
closeTuneDevice (int force) {
if (closeTimer) {
if (force) closeTimer = 1;
- if (!--closeTimer) noteGenerator->close();
+ if (!--closeTimer) (noteGenerator->close)();
}
}
@@ -499,7 +499,7 @@
int tunePlayed = 0;
if (prefs.alertTunes && tune->elements) {
if (noteGenerator) {
- if (noteGenerator->open(openErrorLevel)) {
+ if ((noteGenerator->open)(openErrorLevel)) {
TuneElement *element = tune->elements;
tunePlayed = 1;
closeTimer = 2000 / updateInterval;
--- brltty-3.8/Programs/brltest.c.openmacro 2007-08-21 14:25:42.000000000 +0200
+++ brltty-3.8/Programs/brltest.c 2007-08-21 14:27:31.000000000 +0200
@@ -161,14 +161,14 @@
initializeBrailleDisplay(&brl);
brl.dataDirectory = opt_dataDirectory;
identifyBrailleDriver(braille, 0); /* start-up messages */
- if (braille->open(&brl, parameterSettings, opt_brailleDevice)) {
+ if ((braille->open)(&brl, parameterSettings, opt_brailleDevice)) {
if (allocateBrailleBuffer(&brl)) {
#ifdef ENABLE_LEARN_MODE
learnMode(&brl, updateInterval, 10000);
#else /* ENABLE_LEARN_MODE */
message("braille test", 0);
#endif /* ENABLE_LEARN_MODE */
- braille->close(&brl); /* finish with the display */
+ (braille->close)(&brl); /* finish with the display */
status = 0;
} else {
LogPrint(LOG_ERR, "can't allocate braille buffer.");
--- brltty-3.8/Programs/spktest.c.openmacro 2007-08-21 14:25:42.000000000 +0200
+++ brltty-3.8/Programs/spktest.c 2007-08-21 14:28:27.000000000 +0200
@@ -163,7 +163,7 @@
if (chdir(opt_dataDirectory) != -1) {
identifySpeechDriver(speech, 0); /* start-up messages */
- if (speech->open(parameterSettings)) {
+ if ((speech->open)(parameterSettings)) {
if (speech->rate) speech->rate(speechRate);
if (speech->volume) speech->volume(speechVolume);
@@ -172,7 +172,7 @@
} else {
processLines(stdin, sayLine, NULL);
}
- speech->close(); /* finish with the display */
+ (speech->close)(); /* finish with the display */
status = 0;
} else {
LogPrint(LOG_ERR, "can't initialize speech driver.");
More information about the BRLTTY
mailing list