VDR developer version 1.3.47 is now available at
ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.3.47.tar.bz2
A 'diff' against the previous version is available at
ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.3.46-47.diff
Except for a few version numbers in the man pages etc., this is pretty much what will become the final version 1.4.
Those who have translated the OSD texts should please check whether there are any untranslated texts in their language left, and send me a patch (diff -u) against this version of the i18n.c file.
Please test this version intensively and report bugs as soon as possible to this list, or directly to me via email.
The changes since version 1.3.46
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). - Fixed a crash when setting the time transponder in the Setup menu, caused by the new 'noneString' in cMenuEditChanItem (reported by Thomas Günther). - Added NULL checks to some strdup() calls in menuitems.c (suggested by Darren Salt). - Removed the unnecessary 'value' member from cMenuEditItem. - Fixed the initial setting of the time transponder setup parameter (reported by Thomas Günther). - Fixed unnecessary Set() calls in cMenuEditIntItem::ProcessKey(). - Allowing a tolerance for symbol rate values that are off by one (thanks to Richard Lithvall). - Added VBITeletextDescriptorTag, TeletextDescriptorTag, LocalTimeOffsetDescriptorTag and PremiereContentTransmissionDescriptor to 'libsi' (thanks to Marco Schlüßler). - Using geteuid() to check whether VDR is running as user 'root' (suggested by Tobias Grimm). - Added a missing "Key$" in skincurses.c (reported by Darren Salt). - Reintroduced the log message "deleting plugin: ..." when shutting down VDR (upon request by Ville Skyttä, as in the initial patch from Christoph Haubrich). - Fixed the vdr.1 man page (a single DVB card can record and do live tv). - The preferred audio language is now automatically selected when starting replay. - Updated the Danish OSD texts (thanks to Mogens Elneff). - The new function cPlugin::Active() can be used by a plugin to indicate that it is still busy and the system should not shut down or restart (based on a patch from Peter Dittmann). See PLUGINS.html for details. - Fixed setting the 'Delta' parameter when calling the shutdown script with no active timer (reported by Helge Lenz). - In order to make sure that plugins are compiled with the same DVB driver header files as VDR itself, the definition of DVBDIR has been removed from the VDR Makefile. If you are using a driver version that has its header files at a location other than /usr/include/linux/dvb, you can define DVBDIR in the Make.config file (see also INSTALL). Any reference to DVBDIR should be removed from all plugins' Makefiles, like this:
------------------------------------------------------------ --- PLUGINS/src/hello/Makefile 2005/11/11 13:20:14 1.10 +++ PLUGINS/src/hello/Makefile 2006/04/15 11:58:46 1.11 @@ -20,7 +20,6 @@
### The directory environment:
-DVBDIR = ../../../../DVB VDRDIR = ../../.. LIBDIR = ../../lib TMPDIR = /tmp @@ -40,7 +39,7 @@
### Includes and Defines (add further entries here):
-INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include +INCLUDES += -I$(VDRDIR)/include
DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' ------------------------------------------------------------
Thanks to Marco Schlüßler for pointing out this problem. - Implemented kNext and kPrev keys (based on a patch from Peter Juszack). See MANUAL for details. - Implemented kChanPrev (from a patch from Darren Salt). - The "Update channels" parameter in the "Setup/DVB" menu has been extended to allow updating only the PIDs (see MANUAL for details). When updating to this version of VDR, please verify that the setting is as you want it to be, because the values have been shifted. - The new APIVERSION (see config.h) now allows existing compiled plugins to be used with newer versions of VDR, as long as there have been no changes to the VDR header files since the last APIVERSION. Existing plugins' Makefiles should have all references to VDRVERSION changed to APIVERSION, like this:
------------------------------------------------------------ --- PLUGINS/src/hello/Makefile 2006/04/15 11:58:46 1.11 +++ PLUGINS/src/hello/Makefile 2006/04/16 09:03:50 1.12 @@ -28,9 +28,9 @@
-include $(VDRDIR)/Make.config
-### The version number of VDR (taken from VDR's "config.h"): +### The version number of VDR's plugin API (taken from VDR's "config.h"):
-VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') +APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
### The name of the distribution archive:
@@ -67,7 +67,7 @@
libvdr-$(PLUGIN).so: $(OBJS) $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ - @cp $@ $(LIBDIR)/$@.$(VDRVERSION) + @cp $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean @-rm -rf $(TMPDIR)/$(ARCHIVE) ------------------------------------------------------------ - If a timer is newly created from within the "Schedule" menu, and its event is already running or has its start time within the next two minutes, it now goes directly into the "Edit timer" menu in order to allow the user to make further changes to timer parameters before the actual recording starts (inspired by Christian Wieninger's "epgsearch" plugin). - Added format check to syslog_with_tid(). - Updated the INSTALL file's section about non-VDR files in the video directory (since version 1.3.38 disk access is done in a separate thread, so the watchdog timer won't hit). - Changed the behaviour of the "Use small font" setup option to *always* use the small font if set to '3' - even if it would have been a fixed font (suggested by Ronny Kornexl). - No longer using characters 0x01 and 0x02 for mapping single quote and slash in recording names (thanks to Patrick Fischer for reporting that this was a problem with XML). The single quote is not mapped at all, and the slash is interchanged with the tilde. Existing recordings will be handled like before, so there is no need to actually rename them. - The cRemote::CallPlugin() function now has a boolean return value that tells the caller whether initiating the plugin call was successful (suggested by Reinhard Nissl). If it returns false, another plugin call is currently pending and the caller should try again later. This also means that the SVDRP command PLUG can now return an error code is the call fails. - The new function cPlugin::MainThreadHook() can be used by plugins to perform actions in the context of the main program thread. Use this function with great care and only of you absolutely have to! See also PLUGINS.html.
Have fun!
Klaus
Here is an update for Polish translation.
-- Jaroslaw Swierczynski swiergot@gmail.com www.archlinux.org | www.juvepoland.com
Am 17.04.2006 um 17:06 schrieb Klaus Schmidinger:
In order to make sure that plugins are compiled with the same DVB driver header files as VDR itself, the definition of DVBDIR has been removed from the VDR Makefile. If you are using a driver version that has its header files at a location other than /usr/include/linux/dvb, you can define DVBDIR in the Make.config file (see also INSTALL). Any reference to DVBDIR should be removed from all plugins' Makefiles, like this:
--- PLUGINS/src/hello/Makefile 2005/11/11 13:20:14 1.10 +++ PLUGINS/src/hello/Makefile 2006/04/15 11:58:46 1.11 @@ -20,7 +20,6 @@
### The directory environment:
-DVBDIR = ../../../../DVB VDRDIR = ../../.. LIBDIR = ../../lib TMPDIR = /tmp @@ -40,7 +39,7 @@
### Includes and Defines (add further entries here):
-INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include +INCLUDES += -I$(VDRDIR)/include
DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
VDR compiled fine before 1.3.47 with my Kernel DVB Headers. Now VDR can't "find" them. I needed to set DVBDIR=/usr/src/linux as in the old days but still got compiler errors not finding the dvb headers. Maybe you should keep the:
ifdef DVBDIR INCLUDES += -I$(DVBDIR)/include endif
in the Makefile, so if one sets "DVBDIR" VDR finds the Headers/Includes.
Ciao, Dominique
Dominique Simon wrote:
Am 17.04.2006 um 17:06 schrieb Klaus Schmidinger:
In order to make sure that plugins are compiled with the same DVB driver header files as VDR itself, the definition of DVBDIR has been removed from the VDR Makefile. If you are using a driver version that has its header files at a location other than /usr/include/linux/dvb, you can define DVBDIR in the Make.config file (see also INSTALL). Any reference to DVBDIR should be removed from all plugins' Makefiles, like this:
--- PLUGINS/src/hello/Makefile 2005/11/11 13:20:14 1.10 +++ PLUGINS/src/hello/Makefile 2006/04/15 11:58:46 1.11 @@ -20,7 +20,6 @@
### The directory environment:
-DVBDIR = ../../../../DVB VDRDIR = ../../.. LIBDIR = ../../lib TMPDIR = /tmp @@ -40,7 +39,7 @@
### Includes and Defines (add further entries here):
-INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include +INCLUDES += -I$(VDRDIR)/include
DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
VDR compiled fine before 1.3.47 with my Kernel DVB Headers. Now VDR can't "find" them. I needed to set DVBDIR=/usr/src/linux as in the old days but still got compiler errors not finding the dvb headers. Maybe you should keep the:
ifdef DVBDIR INCLUDES += -I$(DVBDIR)/include endif
in the Makefile, so if one sets "DVBDIR" VDR finds the Headers/Includes.
This is now in Make.config.template. Just rename it to Make.config and it should work.
Klaus
Klaus Schmidinger wrote:
The new APIVERSION (see config.h) now allows existing compiled plugins to be used with newer versions of VDR, as long as there have been no changes to the VDR header files since the last APIVERSION. Existing plugins' Makefiles should have all references to VDRVERSION changed to APIVERSION, like this:
-VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h |
awk '{ print $$3 }' | sed -e 's/"//g') +APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
For backwards compatibility, I suggest this:
VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') ifeq ($(strip $(APIVERSION)),) APIVERSION = $(VDRVERSION) endif
(and the @cp $@ $(LIBDIR)/$@.$(APIVERSION) like Klaus suggested.)
That way all pre-1.3.47 versions will continue to use VDRVERSION, and all newer versions will use APIVERSION.
Cheers,
Udo
Udo Richter udo_richter@gmx.de writes:
Hi !
Klaus Schmidinger wrote:
- The new APIVERSION (see config.h) now allows existing compiled plugins to be used with newer versions of VDR, as long as there have been no changes to the VDR header files since the last APIVERSION. Existing plugins' Makefiles should have all references to VDRVERSION changed to APIVERSION, like this: -VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h
| awk '{ print $$3 }' | sed -e 's/"//g') +APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
For backwards compatibility, I suggest this:
VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') ifeq ($(strip $(APIVERSION)),) APIVERSION = $(VDRVERSION) endif
grep|awk|sed in one sed: sed -ne '/define VDRVERSION/ { s/^.*"(.*)".*$/\1/; p }' config.h
anyway, THANKS A LOT for your work guys !
syrius.ml@no-log.org wrote:
Udo Richter udo_richter@gmx.de writes:
Hi !
Klaus Schmidinger wrote:
- The new APIVERSION (see config.h) now allows existing compiled plugins to be
used with newer versions of VDR, as long as there have been no changes to the VDR header files since the last APIVERSION. Existing plugins' Makefiles should have all references to VDRVERSION changed to APIVERSION, like this: -VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') +APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
For backwards compatibility, I suggest this:
VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') ifeq ($(strip $(APIVERSION)),) APIVERSION = $(VDRVERSION) endif
grep|awk|sed in one sed: sed -ne '/define VDRVERSION/ { s/^.*"(.*)".*$/\1/; p }' config.h
I like this!
If you'd like to be mentioned in VDR/CONTRIBUTORS, please provide your real name and email address.
Klaus
Udo Richter udo_richter@gmx.de writes:
syrius.ml@no-log.org wrote:
grep|awk|sed in one sed: sed -ne '/define VDRVERSION/ { s/^.*"(.*)".*$/\1/; p }' config.h
Mine is shorter! :P
sed -ne '/define VDRVERSION/s/.*"(.*)".*/\1/p' config.h
awk -F '"' '/define VDRVERSION/ {print $2}' config.h
mine ! ;-)
syrius.ml@no-log.org wrote:
sed -ne '/define VDRVERSION/ { s/^.*"(.*)".*$/\1/; p }' config.h
Mine is shorter! :P
sed -ne '/define VDRVERSION/s/.*"(.*)".*/\1/p' config.h
awk -F '"' '/define VDRVERSION/ {print $2}' config.h
mine ! ;-)
sed -ne"/define VDRVERSION/s/[^0-9.]//gp" config.h
Gotcha! ;D
Cheers,
Udo
Udo Richter udo_richter@gmx.de writes:
syrius.ml@no-log.org wrote:
sed -ne '/define VDRVERSION/ { s/^.*"(.*)".*$/\1/; p }' config.h
Mine is shorter! :P
sed -ne '/define VDRVERSION/s/.*"(.*)".*/\1/p' config.h
awk -F '"' '/define VDRVERSION/ {print $2}' config.h mine ! ;-)
sed -ne"/define VDRVERSION/s/[^0-9.]//gp" config.h
Gotcha! ;D
awk -F'"' '/define VDRVERSION/{print$2}' config.h na ! ;-)
syrius.ml@no-log.org wrote:
Udo Richter udo_richter@gmx.de writes:
syrius.ml@no-log.org wrote:
sed -ne '/define VDRVERSION/ { s/^.*"(.*)".*$/\1/; p }' config.h
Mine is shorter! :P
sed -ne '/define VDRVERSION/s/.*"(.*)".*/\1/p' config.h
awk -F '"' '/define VDRVERSION/ {print $2}' config.h mine ! ;-)
sed -ne"/define VDRVERSION/s/[^0-9.]//gp" config.h Gotcha! ;D
awk -F'"' '/define VDRVERSION/{print$2}' config.h na ! ;-)
Ok, I confess thats the end of sed optimizing in my eyes, awk wins. But it wins with this: awk -F" '/define VDRVERSION/{print$2}' config.h
ha! ;D
Cheers,
Udo
PS: I think we're a little bit annoying off-topic. :)
On Thu, 27 Apr 2006 02:12:05 +0200, in boerde.lists.vdr you wrote:
awk -F" '/define VDRVERSION/{print$2}' config.h
grep "define VDRVERSION" config.h|cut -d" -f2
Chris 'grep wins in team with cut' tian
Hi,
attached is an update for the romanian strings.
Lucian
Common subdirectories: vdr-1.3.47_orig/PLUGINS and vdr-1.3.47/PLUGINS diff -u vdr-1.3.47_orig/i18n.c vdr-1.3.47/i18n.c --- vdr-1.3.47_orig/i18n.c 2006-04-15 16:13:45.000000000 +0200 +++ vdr-1.3.47/i18n.c 2006-04-18 01:20:40.000000000 +0200 @@ -472,7 +472,7 @@ "Este evento - %s", "",//TODO "Ta audycja - %s", - "",//TODO + "Aceastã emisiune - %s", "",//TODO "",//TODO "ÍâÐ ßÕàÕÔÐçÐ - %s", @@ -494,7 +494,7 @@ "Este evento - todos los canales", "",//TODO "Ta audycja - wszystkie kana³y", - "",//TODO + "Aceastã emisiune - toate canalele", "",//TODO "",//TODO "ÍâÐ ßÕàÕÔÐçÐ - ÒáÕ ÚÐÝÐÛë", @@ -516,7 +516,7 @@ "Todos los eventos - todos los canales", "",//TODO "Wszystkie audycje - wszystkie kana³y", - "",//TODO + "Toate emisiunile - toate canalele", "",//TODO "",//TODO "²áÕ ßÕàÕÔÐçØ - ÒáÕ ÚÐÝÐÛë", @@ -693,7 +693,7 @@ "Programa", "",// TODO "",// TODO - "",// TODO + "Timer", "",// TODO "",// TODO "ÂÐÙÜÕà", @@ -847,7 +847,7 @@ "Continuar", "ÅðáíáöïñÜ", "Fortsätt", - "Revenire", + "Continuare", "Tovább", "Continuar", "¿àÞÔÞÛÖØâì", @@ -1685,7 +1685,7 @@ "en abierto", "",//TODO "otwarty przekaz", - "",//TODO + "FTA (necriptat)", "",//TODO "",//TODO "FTA (ÝÕ×ÐÚÞÔØàÞÒÐÝÞ)", @@ -1707,7 +1707,7 @@ "cifrado", "",//TODO "szyfrowany", - "",//TODO + "criptat", "",//TODO "",//TODO "×ÐÚÞÔØàÞÒÐÝÞ", @@ -1861,7 +1861,7 @@ "Transmisión", "ÌåôÜäïóç", "Transmission", - "Transmisiune", + "Transmisie", "Transmission", "Transmissió", "¿ÕàÕÔÐçÐ", @@ -2281,7 +2281,7 @@ "",//TODO "",//TODO "",//TODO - "",//TODO + "Urmeazã o înregistrare VPS!", "",//TODO "",//TODO "",//TODO @@ -2501,7 +2501,7 @@ "",//TODO "",//TODO "",//TODO - "",//TODO + "Insuficient spaþiul pe disc pentru înregistrare!", "",//TODO "",//TODO "œÕÔÞáâÐâÞçÝÞ ÜÕáâÐ ÝÐ ÔØáÚÕ ÔÛï ÝÐçÐÛÐ ×ÐßØáØ", @@ -2545,7 +2545,7 @@ "Abriendo el menú CAM...", "",//TODO "Åßóïäïò CAM Ìåíïý", - "",//TODO + "Deschid meniul CAM...", "",//TODO "",//TODO "ŸâÚàëÒÐî ÜÕÝî ÜÞÔãÛï ãáÛÞÒÝÞÓÞ ÔÞáâãßÐ (CAM)", @@ -2589,7 +2589,7 @@ "Reiniciando CAM...", "",//TODO "ÅðáíáöïñÜ CAM", - "",//TODO + "Se reseteazã CAM...", "",//TODO "",//TODO "¿ÕàÕÓàã×ÚÐ CAM...", @@ -2655,7 +2655,7 @@ "¡Escriba %d dígitos!", "",//TODO "Ðáñáêáëü ðëçêôñïëïãÞóåôå %d íïýìåñá", - "",//TODO + "Vã rog introduceþi %d cifre!", "",//TODO "",//TODO "œÐÖÜØâÕ %d æØäàë", @@ -3273,7 +3273,7 @@ "Auto-cerrar al solicitar info de canal", "", // TODO "", // TODO - "", // TODO + "Durata afiºãrii informaþii canal", "", // TODO "", // TODO "žÝäÞàÜÐæØî Þ ÚÐÝÐÛÕ ×ÐÚàëâì", @@ -3339,7 +3339,7 @@ "Cerrar al pulsar botón de menú", "",// TODO "Klawisz Menu zamyka", - "",// TODO + "Tasta 'Meniu' închide", "",// TODO "",// TODO "ºÝÞßÚã ŒÕÝî ×ÐÚàëâì", @@ -3735,7 +3735,7 @@ "",// TODO "",// TODO "",// TODO - "",// TODO + "Numai PID-uri", "",// TODO "",// TODO "",// TODO @@ -4461,7 +4461,7 @@ "",// TODO "",// TODO "",// TODO - "",// TODO + "Canalul de pornire", "",// TODO "",// TODO "",// TODO @@ -4483,7 +4483,7 @@ "",// TODO "",// TODO "",// TODO - "",// TODO + "Volumul la pornire", "",// TODO "",// TODO "",// TODO @@ -4505,7 +4505,7 @@ "",// TODO "",// TODO "",// TODO - "",// TODO + "ca mai înainte", "",// TODO "",// TODO "",// TODO @@ -4596,7 +4596,7 @@ " 0\t-.#~,/_@1\tabcáç2\tdefé3\tghií4\tjkl5\tmnoñó6\tpqrs7\ttuvú8\twxyz9", "",//TODO "",//TODO - "",//TODO + " 0\t-.#~,/_@1\taãâbc2\tdef3\tghiî4\tjkl5\tmno6\tpqrsº7\ttþuv8\twxyz9", "",//TODO "",//TODO "",//TODO @@ -5324,7 +5324,7 @@ "",// TODO "",// TODO "",// TODO - "",// TODO + "Urmãtor", "",// TODO "",// TODO "",// TODO @@ -5346,7 +5346,7 @@ "",// TODO "",// TODO "",// TODO - "",// TODO + "Anterior", "",// TODO "",// TODO "",// TODO @@ -5434,7 +5434,7 @@ "",// TODO "",// TODO "",// TODO - "",// TODO + "Canal anterior", "",// TODO "",// TODO "",// TODO @@ -5963,7 +5963,7 @@ "Iniciando grabación", "",//TODO "",//TODO - "",//TODO + "A început înregistrarea", "",//TODO "",//TODO "·ÐßØáì ÝÐçÐâÐ",
Hi,
beneath notice and sorry if already known, but:
g++ -fPIC -g -O2 -Wall -Woverloaded-virtual -c -DREMOTE_KBD -DLIRC_DEVICE="/dev/lircd" -DRCU_DEVICE="/dev/ttyS1" -D_GNU_SOURCE -DVIDEODIR="/video" -DPLUGINDIR="./PLUGINS/lib" recording.c recording.c: In constructor 'cIndexFile::cIndexFile(const char*, bool)': recording.c:1200: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int'
gcc version 4.0.2 20050901 (prerelease) (SUSE Linux)
BR,
Christian
Christian Wieninger wrote:
Hi,
beneath notice and sorry if already known, but:
g++ -fPIC -g -O2 -Wall -Woverloaded-virtual -c -DREMOTE_KBD -DLIRC_DEVICE="/dev/lircd" -DRCU_DEVICE="/dev/ttyS1" -D_GNU_SOURCE -DVIDEODIR="/video" -DPLUGINDIR="./PLUGINS/lib" recording.c recording.c: In constructor 'cIndexFile::cIndexFile(const char*, bool)': recording.c:1200: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int'
gcc version 4.0.2 20050901 (prerelease) (SUSE Linux)
Strange... I have the same compiler version here
kls@hawk:/home/kls/vdr/VDR > g++ -v Using built-in specs. Target: i586-suse-linux Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib --enable-languages=c,c++,objc,f95,java,ada --disable-checking --with-gxx-include-dir=/usr/include/c++/4.0.2 --enable-java-awt=gtk --disable-libjava-multilib --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit --without-system-libunwind --host=i586-suse-linux Thread model: posix gcc version 4.0.2 20050901 (prerelease) (SUSE Linux)
but I don't get that warning. I could change it to "%u" (which makes sense, since the value is actually unsigned), but when I change it to "%lu" I get
g++ -fPIC -g -O2 -Wall -Woverloaded-virtual -c -DREMOTE_KBD -DLIRC_DEVICE="/dev/lircd" -DRCU_DEVICE="/dev/ttyS1" -D_GNU_SOURCE -DVIDEODIR="/video" -DPLUGINDIR="./PLUGINS/lib" recording.c recording.c: In constructor 'cIndexFile::cIndexFile(const char*, bool)': recording.c:1200: warning: format '%lu' expects type 'long unsigned int', but argument 3 has type 'unsigned int'
Just in case, my kernel version is
Linux hawk 2.6.13-15.8-default #1 Fri Feb 10 16:26:01 CET 2006 i686 i686 i386 GNU/Linux
I'm not sure what to make of this...
Klaus
Am Samstag, 22. April 2006 12:17 schrieb Klaus Schmidinger:
Strange... I have the same compiler version here
I just notice, that I also don't get the warning on a machine at home, where I run the same system and compiler. The warning occures on a machine at office, where I just did a quick compile test. The only difference between the two systems is, that the office machine runs the 64-bit edition of Suse 10, while at home it's the 32-bit edition. Perhaps that's the reason.
I'm not sure what to make of this...
perhaps nothing ;-)
Christian
Hi,
Christian Wieninger wrote:
Strange... I have the same compiler version here
Me, too ;-)
I just notice, that I also don't get the warning on a machine at home, where I run the same system and compiler. The warning occures on a machine at office, where I just did a quick compile test. The only difference between the two systems is, that the office machine runs the 64-bit edition of Suse 10, while at home it's the 32-bit edition. Perhaps that's the reason.
It is.
I'm not sure what to make of this...
perhaps nothing ;-)
I've got a report of a similar warning in vdr-xine. I suggest this solution:
esyslog("ERROR: can't allocate %ld bytes for index '%s'", (long)(size * sizeof(tIndex)), fileName);
Bye.
Reinhard Nissl wrote:
Hi,
Christian Wieninger wrote:
Strange... I have the same compiler version here
Me, too ;-)
I just notice, that I also don't get the warning on a machine at home, where I run the same system and compiler. The warning occures on a machine at office, where I just did a quick compile test. The only difference between the two systems is, that the office machine runs the 64-bit edition of Suse 10, while at home it's the 32-bit edition. Perhaps that's the reason.
It is.
I'm not sure what to make of this...
perhaps nothing ;-)
I've got a report of a similar warning in vdr-xine. I suggest this solution:
esyslog("ERROR: can't allocate %ld bytes for index '%s'", (long)(size * sizeof(tIndex)), fileName);
To be honest, I don't like this. Shouldn't this work on both 32- and 64bit systems without the need of typecasting?
Klaus
Klaus Schmidinger wrote:
Reinhard Nissl wrote:
I've got a report of a similar warning in vdr-xine. I suggest this solution:
esyslog("ERROR: can't allocate %ld bytes for index '%s'", (long)(size
- sizeof(tIndex)), fileName);
To be honest, I don't like this. Shouldn't this work on both 32- and 64bit systems without the need of typecasting?
The return type of sizeof() is size_t. The size of size_t is implementation-defined. With GCC that's unsigned int on ix86 and unsigned long on x86_64.
Anssi Hannula wrote:
Klaus Schmidinger wrote:
Reinhard Nissl wrote:
I've got a report of a similar warning in vdr-xine. I suggest this solution:
esyslog("ERROR: can't allocate %ld bytes for index '%s'", (long)(size
- sizeof(tIndex)), fileName);
To be honest, I don't like this. Shouldn't this work on both 32- and 64bit systems without the need of typecasting?
The return type of sizeof() is size_t. The size of size_t is implementation-defined. With GCC that's unsigned int on ix86 and unsigned long on x86_64.
Does this mean that one would have to use different conversion specifiers on 32- and 64bit systems? Sounds like a compiler bug to me, because the source code should compile corretcly on both systems...
Klaus
On Sunday 23 April 2006 10:43, Klaus Schmidinger wrote:
Anssi Hannula wrote:
Klaus Schmidinger wrote:
Reinhard Nissl wrote:
I've got a report of a similar warning in vdr-xine. I suggest this solution:
esyslog("ERROR: can't allocate %ld bytes for index '%s'", (long)(size
- sizeof(tIndex)), fileName);
To be honest, I don't like this. Shouldn't this work on both 32- and 64bit systems without the need of typecasting?
The return type of sizeof() is size_t. The size of size_t is implementation-defined. With GCC that's unsigned int on ix86 and unsigned long on x86_64.
Does this mean that one would have to use different conversion specifiers on 32- and 64bit systems? Sounds like a compiler bug to me, because the source code should compile corretcly on both systems...
"man fprintf" says there is a special "z" length modifier for size_t arguments, so "...%zd..." should do the trick
/Werner
Am Sonntag, 23. April 2006 11:21 schrieb Werner Schweer:
On Sunday 23 April 2006 10:43, Klaus Schmidinger wrote:
Anssi Hannula wrote:
Klaus Schmidinger wrote:
Reinhard Nissl wrote:
I've got a report of a similar warning in vdr-xine. I suggest this solution:
esyslog("ERROR: can't allocate %ld bytes for index '%s'", (long)(size
- sizeof(tIndex)), fileName);
To be honest, I don't like this. Shouldn't this work on both 32- and 64bit systems without the need of typecasting?
The return type of sizeof() is size_t. The size of size_t is implementation-defined. With GCC that's unsigned int on ix86 and unsigned long on x86_64.
Does this mean that one would have to use different conversion specifiers on 32- and 64bit systems? Sounds like a compiler bug to me, because the source code should compile corretcly on both systems...
"man fprintf" says there is a special "z" length modifier for size_t arguments, so "...%zd..." should do the trick
"...%zd..." can be used, no compile error on a 64bit only system and 32bit system.
Gerald
/Werner
vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
vdr-bounces@linuxtv.org schrieb am 17.04.2006 17:06:58:
VDR developer version 1.3.47 is now available at
ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.3.47.tar.bz2
A 'diff' against the previous version is available at
ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.3.46-47.diff
Except for a few version numbers in the man pages etc., this is pretty much what will become the final version 1.4.
Those who have translated the OSD texts should please check whether there are any untranslated texts in their language left, and send me a patch (diff -u) against this version of the i18n.c file.
Please test this version intensively and report bugs as soon as possible to this list, or directly to me via email.
The changes since version 1.3.46
- The new function cPlugin::Active() can be used by a plugin to
indicate that it is still busy and the system should not shut down or restart (based on a patch from Peter Dittmann). See PLUGINS.html for details.
I would be honored by this, but it's supplied already with the burn-plugin 0.0.4a. So it was possibly Sacha Volkenandt from Xeatre who wrote this patch a while ago.
I was just pointing out again this forgotten jewel ;-))
Have fun!
Klaus
vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Hi,
On Mon, 2006-04-17 at 17:06 +0200, Klaus Schmidinger wrote:
Those who have translated the OSD texts should please check whether there are any untranslated texts in their language left, and send me a patch (diff -u) against this version of the i18n.c file.
here is small update for russian language support in VDR.
Ciao Oleg
Klaus Schmidinger wrote:
Those who have translated the OSD texts should please check whether there are any untranslated texts in their language left, and send me a patch (diff -u) against this version of the i18n.c file.
I've added missing Swedish texts and found some misplaced ones :(
I think those belongs to greek and polish translations. Could the "responsible" one double check on me and add them back where they belong (or flame me)?
BR /t
--- vdr-1.3.47/i18n.c 2006-04-15 16:13:45.000000000 +0200 +++ vdr-1.3.47-new/i18n.c 2006-04-22 07:41:13.000000000 +0200 @@ -471,7 +471,7 @@ "",//TODO "Este evento - %s", "",//TODO - "Ta audycja - %s", + "Den här sändningen - %s", "",//TODO "",//TODO "",//TODO @@ -493,7 +493,7 @@ "",//TODO "Este evento - todos los canales", "",//TODO - "Ta audycja - wszystkie kana³y", + "Den här sändningen - alla kanaler", "",//TODO "",//TODO "",//TODO @@ -515,7 +515,7 @@ "",//TODO "Todos los eventos - todos los canales", "",//TODO - "Wszystkie audycje - wszystkie kana³y", + "Alla tillfällen - alla kanaler", "",//TODO "",//TODO "",//TODO @@ -692,7 +692,7 @@ "Timer", "Programa", "",// TODO - "",// TODO + "Timer", "",// TODO "",// TODO "",// TODO @@ -1684,7 +1684,7 @@ "",//TODO "en abierto", "",//TODO - "otwarty przekaz", + "Okodad", "",//TODO "",//TODO "",//TODO @@ -1706,7 +1706,7 @@ "",//TODO "cifrado", "",//TODO - "szyfrowany", + "krypterad", "",//TODO "",//TODO "",//TODO @@ -2280,7 +2280,7 @@ "",//TODO "",//TODO "",//TODO - "",//TODO + "strax VPS inspelning...", "",//TODO "",//TODO "",//TODO @@ -2412,9 +2412,9 @@ "Nie zdefiniowano znaczników monta¿u!", "¡No se definieron marcas de edición!", "ÄÝí Ý÷ïõí ïñéóôåß óçìåßá åðåîåñãáóßáò", - "Det finns inga redigeringsmärken",//TODO + "Det finns inga redigeringsmärken", "Nu s-au pus marcaje de montaj pentru aceastã înregistrare", - "A vágópont nincs kijelölve",//TODO + "A vágópont nincs kijelölve", "No hi ha marques d'edició definides", "œÕ ×ÐÔÐÝë ÜÕâÚØ ÔÛï ÜÞÝâÐÖÐ!", "Nijedna prekidna toèka nije postavljena!", @@ -2500,7 +2500,7 @@ "Brak miejsca na dysku do nagrywania!", "",//TODO "",//TODO - "",//TODO + "Otillräcklingt diskutrymme för inspelning!", "",//TODO "",//TODO "",//TODO @@ -2544,7 +2544,7 @@ "Otwieram menu CAM...", "Abriendo el menú CAM...", "",//TODO - "Åßóïäïò CAM Ìåíïý", + "Öppnar CAM menyn...", "",//TODO "",//TODO "",//TODO @@ -2588,7 +2588,7 @@ "Resetujê CAM...", "Reiniciando CAM...", "",//TODO - "ÅðáíáöïñÜ CAM", + "Återställer CAM ...", "",//TODO "",//TODO "",//TODO @@ -2654,7 +2654,7 @@ "Proszê podaæ %d cyfr!", "¡Escriba %d dígitos!", "",//TODO - "Ðáñáêáëü ðëçêôñïëïãÞóåôå %d íïýìåñá", + "Mata in %d siffror!", "",//TODO "",//TODO "",//TODO @@ -3272,7 +3272,7 @@ "Czas oczekiwania na informacje", "Auto-cerrar al solicitar info de canal", "", // TODO - "", // TODO + "Timeout för kanalinformation", "", // TODO "", // TODO "", // TODO @@ -3338,7 +3338,7 @@ "",// TODO "Cerrar al pulsar botón de menú", "",// TODO - "Klawisz Menu zamyka", + "Menyknappen stänger", "",// TODO "",// TODO "",// TODO @@ -3734,7 +3734,7 @@ "",// TODO "",// TODO "",// TODO - "",// TODO + "bara PIDs", "",// TODO "",// TODO "",// TODO @@ -4460,7 +4460,7 @@ "",// TODO "",// TODO "",// TODO - "",// TODO + "Kanal vid uppstart", "",// TODO "",// TODO "",// TODO @@ -4482,7 +4482,7 @@ "",// TODO "",// TODO "",// TODO - "",// TODO + "Ljudstyrka vid uppstart", "",// TODO "",// TODO "",// TODO @@ -4504,7 +4504,7 @@ "",// TODO "",// TODO "",// TODO - "",// TODO + "som förut", "",// TODO "",// TODO "",// TODO @@ -4595,7 +4595,7 @@ " 0\t-.#~,/_@1\tabc2±æ\tdef3ê\tghi4\tjkl5³\tmno6ñó\tpqrs7¶\ttuv8\twxyz9Œ¿", " 0\t-.#~,/_@1\tabcáç2\tdefé3\tghií4\tjkl5\tmnoñó6\tpqrs7\ttuvú8\twxyz9", "",//TODO - "",//TODO + " 0\t-.#~,/_@1\tabcåä2\tdef3\tghi4\tjkl5\tmnoö6\tpqrs7\ttuv8\twxyz", "",//TODO "",//TODO "",//TODO @@ -5323,7 +5323,7 @@ "",// TODO "",// TODO "",// TODO - "",// TODO + "Nästa", "",// TODO "",// TODO "",// TODO @@ -5345,7 +5345,7 @@ "",// TODO "",// TODO "",// TODO - "",// TODO + "Bakåt", "",// TODO "",// TODO "",// TODO @@ -5433,7 +5433,7 @@ "",// TODO "",// TODO "",// TODO - "",// TODO + "Förra kanalen", "",// TODO "",// TODO "",// TODO @@ -5962,7 +5962,7 @@ "Rozpoczêto nagrywanie", "Iniciando grabación", "",//TODO - "",//TODO + "Inspelningen har startat", "",//TODO "",//TODO "",//TODO @@ -6072,7 +6072,7 @@ "Panel ST:TNG", "Paneles ST:TNG", "ÌïñöÝò ST:TNG", - "ST:TNG konsoll", + "ST:TNG konsol", "Cons. ST:TNG", "",// TODO "",// TODO
Tomas Prybil wrote:
Klaus Schmidinger wrote:
Those who have translated the OSD texts should please check whether there are any untranslated texts in their language left, and send me a patch (diff -u) against this version of the i18n.c file.
I've added missing Swedish texts and found some misplaced ones :(
I think those belongs to greek and polish translations. Could the "responsible" one double check on me and add them back where they belong (or flame me)?
I have uploaded the current version of VDR's i18n.c with all the patches I have received so far to
ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.3.47-i18n.c.gz
Just in case somebody would like to verify things...
Klaus