You can subscribe to this list here.
2006 |
Jan
|
Feb
(47) |
Mar
(43) |
Apr
(26) |
May
(1) |
Jun
(12) |
Jul
(29) |
Aug
(12) |
Sep
|
Oct
(27) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
(31) |
Jul
|
Aug
|
Sep
|
Oct
(55) |
Nov
(4) |
Dec
|
2008 |
Jan
(7) |
Feb
(29) |
Mar
|
Apr
(3) |
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(4) |
Oct
|
Nov
(1) |
Dec
|
From: Nicolas B. <nbo...@us...> - 2006-02-22 22:16:45
|
Update of /cvsroot/ddccontrol/ddccontrol-db/db In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7457/db Modified Files: Makefile.in options.xml options.xml.in Log Message: Database version 3 (add VESA generic profile). Index: options.xml =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol-db/db/options.xml,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- options.xml 14 Feb 2006 14:46:04 -0000 1.26 +++ options.xml 22 Feb 2006 22:16:39 -0000 1.27 @@ -1,6 +1,6 @@ <?xml version="1.0"?> <!---Do not edit this file, edit options.xml.in instead.--> -<options date="20050813" dbversion="2"> +<options date="20050813" dbversion="3"> <group name="Color settings"> <subgroup name="Brightness and Contrast" pattern="brightnesscontrast"> <control id="brightness" type="value" name="Brightness" address="0x10"/> Index: Makefile.in =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol-db/db/Makefile.in,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- Makefile.in 14 Nov 2005 17:59:25 -0000 1.9 +++ Makefile.in 22 Feb 2006 22:16:38 -0000 1.10 @@ -38,7 +38,8 @@ DIST_COMMON = $(nobase_dist_data_DATA) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs Index: options.xml.in =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol-db/db/options.xml.in,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- options.xml.in 14 Feb 2006 14:46:04 -0000 1.11 +++ options.xml.in 22 Feb 2006 22:16:39 -0000 1.12 @@ -1,5 +1,5 @@ <?xml version="1.0"?> -<options date="$DATE" dbversion="2"> +<options date="$DATE" dbversion="3"> <group name="Color settings"> <subgroup name="Brightness and Contrast" pattern="brightnesscontrast"> <control id="brightness" type="value" name="Brightness" address="0x10"/> |
From: Nicolas B. <nbo...@us...> - 2006-02-22 22:16:44
|
Update of /cvsroot/ddccontrol/ddccontrol-db/po In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7457/po Modified Files: Makefile.in.in Log Message: Database version 3 (add VESA generic profile). Index: Makefile.in.in =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol-db/po/Makefile.in.in,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Makefile.in.in 12 Nov 2005 22:12:01 -0000 1.4 +++ Makefile.in.in 22 Feb 2006 22:16:40 -0000 1.5 @@ -1,384 +1,263 @@ -# Makefile for PO directory in any package using GNU gettext. -# Copyright (C) 1995-1997, 2000-2005 by Ulrich Drepper <dr...@gn...> +# Makefile for program source directory in GNU NLS utilities package. +# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <dr...@gn...> # -# This file can be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU General Public -# License but which still want to provide support for the GNU gettext -# functionality. -# Please note that the actual code of GNU gettext is covered by the GNU -# General Public License and is *not* in the public domain. +# This file file be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU Public License +# but which still want to provide support for the GNU gettext functionality. +# Please note that the actual code is *not* freely available. # -# Origin: gettext-0.14.4 +# - Modified by Owen Taylor <ot...@re...> to use GETTEXT_PACKAGE +# instead of PACKAGE and to look for po2tbl in ./ not in intl/ +# +# - Modified by jacob berkman <ja...@xi...> to install +# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize +# +# - Modified by Rodney Dawes <do...@no...> for use with intltool +# +# We have the following line for use by intltoolize: +# INTLTOOL_MAKEFILE +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ PACKAGE = @PACKAGE@ VERSION = @VERSION@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ +top_builddir = .. VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datadir = @datadir@ -localedir = $(datadir)/locale -gettextsrcdir = $(datadir)/gettext/po +datarootdir = @datarootdir@ +libdir = @libdir@ +localedir = $(libdir)/locale +gnulocaledir = $(datadir)/locale +gettextsrcdir = $(datadir)/glib-2.0/gettext/po +subdir = po +install_sh = @install_sh@ +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -mkinstalldirs = $(SHELL) $(MKINSTALLDIRS) +CC = @CC@ +GENCAT = gencat GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ XGETTEXT = @XGETTEXT@ -MSGMERGE = msgmerge -MSGMERGE_UPDATE = @MSGMERGE@ --update -MSGINIT = msginit -MSGCONV = msgconv -MSGFILTER = msgfilter +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist +GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot + +DEFS = @DEFS@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ + +INCLUDES = -I.. -I$(top_srcdir)/intl +COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) + +SOURCES = POFILES = @POFILES@ GMOFILES = @GMOFILES@ -UPDATEPOFILES = @UPDATEPOFILES@ -DUMMYPOFILES = @DUMMYPOFILES@ -DISTFILES.common = Makefile.in.in remove-potcdate.sin \ -$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) -DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ -$(POFILES) $(GMOFILES) \ -$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) +DISTFILES = ChangeLog Makefile.in.in POTFILES.in \ +$(POFILES) $(SOURCES) +EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS POTFILES = \ CATALOGS = @CATALOGS@ - -# Makevars gets inserted here. (Don't remove this line!) +CATOBJEXT = .gmo +INSTOBJEXT = .mo .SUFFIXES: -.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update +.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat + +.c.o: + $(COMPILE) $< + +.po.pox: + $(MAKE) $(GETTEXT_PACKAGE).pot + $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox .po.mo: - @echo "$(MSGFMT) -c -o $@ $<"; \ - $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + $(MSGFMT) -o $@ $< .po.gmo: - @lang=`echo $* | sed -e 's,.*/,,'`; \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ - cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + file=`echo $* | sed 's,.*/,,'`.gmo \ + && rm -f $$file && $(GMSGFMT) -o $$file $< -.sin.sed: - sed -e '/^#/d' $< > t-$@ - mv t-$@ $@ +.po.cat: + sed -f ../intl/po2msg.sed < $< > $*.msg \ + && rm -f $@ && $(GENCAT) $@ $*.msg all: all-@USE_NLS@ -all-yes: stamp-po +all-yes: $(CATALOGS) all-no: -# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no -# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because -# we don't want to bother translators with empty POT files). We assume that -# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. -# In this case, stamp-po is a nop (i.e. a phony target). - -# stamp-po is a timestamp denoting the last time at which the CATALOGS have -# been loosely updated. Its purpose is that when a developer or translator -# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, -# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent -# invocations of "make" will do nothing. This timestamp would not be necessary -# if updating the $(CATALOGS) would always touch them; however, the rule for -# $(POFILES) has been designed to not touch files that don't need to be -# changed. -stamp-po: $(srcdir)/$(DOMAIN).pot - test ! -f $(srcdir)/$(DOMAIN).pot || \ - test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) - @test ! -f $(srcdir)/$(DOMAIN).pot || { \ - echo "touch stamp-po" && \ - echo timestamp > stamp-poT && \ - mv stamp-poT stamp-po; \ - } - -# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', -# otherwise packages like GCC can not be built if only parts of the source -# have been downloaded. - -# This target rebuilds $(DOMAIN).pot; it is an expensive operation. -# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. -$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed - if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ - msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ - else \ - msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ - fi; \ - $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ - --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ - --files-from=$(srcdir)/POTFILES.in \ - --copyright-holder='$(COPYRIGHT_HOLDER)' \ - --msgid-bugs-address="$$msgid_bugs_address" - test ! -f $(DOMAIN).po || { \ - if test -f $(srcdir)/$(DOMAIN).pot; then \ - sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ - sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ - if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ - rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ - else \ - rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ - mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ - fi; \ - else \ - mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ - fi; \ - } - -# This rule has no dependencies: we don't need to update $(DOMAIN).pot at -# every "make" invocation, only create it when it is missing. -# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. -$(srcdir)/$(DOMAIN).pot: - $(MAKE) $(DOMAIN).pot-update - -# This target rebuilds a PO file if $(DOMAIN).pot has changed. -# Note that a PO file is not touched if it doesn't need to be changed. -$(POFILES): $(srcdir)/$(DOMAIN).pot - @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ - if test -f "$(srcdir)/$${lang}.po"; then \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ - cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ - else \ - $(MAKE) $${lang}.po-create; \ - fi - +$(GETTEXT_PACKAGE).pot: $(POTFILES) + $(GENPOT) install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext-tools"; then \ - $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ - for file in $(DISTFILES.common) Makevars.template; do \ - $(INSTALL_DATA) $(srcdir)/$$file \ - $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - for file in Makevars; do \ - rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - else \ - : ; \ - fi install-data-no: all install-data-yes: all - $(mkinstalldirs) $(DESTDIR)$(datadir) + if test -n "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \ + fi @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ - lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ - dir=$(localedir)/$$lang/LC_MESSAGES; \ - $(mkinstalldirs) $(DESTDIR)$$dir; \ - if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ - $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ - echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ - for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ - if test -n "$$lc"; then \ - if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ - link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ - mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ - for file in *; do \ - if test -f $$file; then \ - ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ - fi; \ - done); \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - else \ - if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ - :; \ - else \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - fi; \ - fi; \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ - ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ - ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ - cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ - echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + case "$$cat" in \ + *.gmo) destdir=$(gnulocaledir);; \ + *) destdir=$(localedir);; \ + esac; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \ + if test -n "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $$dir; \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \ + fi; \ + if test -r $$cat; then \ + $(INSTALL_DATA) $$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ + else \ + $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + echo "installing $(srcdir)/$$cat as" \ + "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ + fi; \ + if test -r $$cat.m; then \ + $(INSTALL_DATA) $$cat.m $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + echo "installing $$cat.m as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ + else \ + if test -r $(srcdir)/$$cat.m ; then \ + $(INSTALL_DATA) $(srcdir)/$$cat.m \ + $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + echo "installing $(srcdir)/$$cat as" \ + "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ + else \ + true; \ fi; \ - done; \ + fi; \ done - -install-strip: install - -installdirs: installdirs-exec installdirs-data -installdirs-exec: -installdirs-data: installdirs-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext-tools"; then \ - $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ + if test "$(PACKAGE)" = "glib"; then \ + if test -n "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \ + fi; \ + $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ + $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ else \ : ; \ fi -installdirs-data-no: -installdirs-data-yes: - $(mkinstalldirs) $(DESTDIR)$(datadir) - @catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ - dir=$(localedir)/$$lang/LC_MESSAGES; \ - $(mkinstalldirs) $(DESTDIR)$$dir; \ - for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ - if test -n "$$lc"; then \ - if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ - link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ - mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ - for file in *; do \ - if test -f $$file; then \ - ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ - fi; \ - done); \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - else \ - if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ - :; \ - else \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - fi; \ - fi; \ - fi; \ - done; \ - done # Define this as empty until I found a useful application. installcheck: -uninstall: uninstall-exec uninstall-data -uninstall-exec: -uninstall-data: uninstall-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext-tools"; then \ - for file in $(DISTFILES.common) Makevars.template; do \ - rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - else \ - : ; \ - fi -uninstall-data-no: -uninstall-data-yes: +uninstall: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ - lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ - for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ - done; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ done + if test "$(PACKAGE)" = "glib"; then \ + rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ + fi -check: all +check: all $(GETTEXT_PACKAGE).pot -info dvi ps pdf html tags TAGS ctags CTAGS ID: +dvi info tags TAGS ID: mostlyclean: - rm -f remove-potcdate.sed - rm -f stamp-poT - rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po + rm -f core core.* *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp rm -fr *.o + rm -f .intltool-merge-cache clean: mostlyclean distclean: clean - rm -f Makefile Makefile.in POTFILES *.mo + rm -f Makefile Makefile.in POTFILES + rm -f *.mo *.msg *.cat *.cat.m $(GMOFILES) maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." - rm -f stamp-po $(GMOFILES) + rm -f Makefile.in.in -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) -dist distdir: - $(MAKE) update-po - @$(MAKE) dist2 -# This is a separate target because 'update-po' must be executed before. -dist2: stamp-po $(DISTFILES) +distdir = ../$(GETTEXT_PACKAGE)-$(VERSION)/$(subdir) +dist distdir: $(DISTFILES) dists="$(DISTFILES)"; \ - if test "$(PACKAGE)" = "gettext-tools"; then \ - dists="$$dists Makevars.template"; \ - fi; \ - if test -f $(srcdir)/$(DOMAIN).pot; then \ - dists="$$dists $(DOMAIN).pot stamp-po"; \ - fi; \ - if test -f $(srcdir)/ChangeLog; then \ - dists="$$dists ChangeLog"; \ - fi; \ - for i in 0 1 2 3 4 5 6 7 8 9; do \ - if test -f $(srcdir)/ChangeLog.$$i; then \ - dists="$$dists ChangeLog.$$i"; \ - fi; \ + extra_dists="$(EXTRA_DISTFILES)"; \ + for file in $$extra_dists; do \ + test -f $$file && dists="$$dists $$file"; \ done; \ - if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ - if test -f $$file; then \ - cp -p $$file $(distdir) || exit 1; \ - else \ - cp -p $(srcdir)/$$file $(distdir) || exit 1; \ - fi; \ + ln $(srcdir)/$$file $(distdir) 2> /dev/null \ + || cp -p $(srcdir)/$$file $(distdir); \ done update-po: Makefile - $(MAKE) $(DOMAIN).pot-update - test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) - $(MAKE) update-gmo - -# General rule for creating PO files. - -.nop.po-create: - @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ - echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ - exit 1 - -# General rule for updating PO files. - -.nop.po-update: - @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ - if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ + $(MAKE) $(GETTEXT_PACKAGE).pot tmpdir=`pwd`; \ - echo "$$lang:"; \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ - cd $(srcdir); \ - if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ - if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ - rm -f $$tmpdir/$$lang.new.po; \ - else \ - if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ - :; \ - else \ - echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ - exit 1; \ + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + echo "$$lang:"; \ + result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \ + if $$result; then \ + if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + exit 1; \ + fi; \ fi; \ + else \ + echo "msgmerge for $$cat failed!"; \ + rm -f $$tmpdir/$$lang.new.po; \ fi; \ - else \ - echo "msgmerge for $$lang.po failed!" 1>&2; \ - rm -f $$tmpdir/$$lang.new.po; \ - fi - -$(DUMMYPOFILES): + done -update-gmo: Makefile $(GMOFILES) - @: +# POTFILES is created from POTFILES.in by stripping comments, empty lines +# and Intltool tags (enclosed in square brackets), and appending a full +# relative path to them +POTFILES: POTFILES.in + ( posrcprefix='$(top_srcdir)/'; \ + rm -f $@-t $@ \ + && (sed -e '/^#/d' \ + -e 's/^[[].*] *//' \ + -e '/^[ ]*$$/d' \ + -e "s@^@ $$posrcprefix@" $(srcdir)/$@.in \ + | sed -e '$$!s/$$/ \\/') > $@-t \ + && chmod a-w $@-t \ + && mv $@-t $@ ) -Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ - cd $(top_builddir) \ +Makefile: Makefile.in.in ../config.status POTFILES + cd .. \ && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ $(SHELL) ./config.status -force: - # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: |
From: Nicolas B. <nbo...@us...> - 2006-02-22 22:16:41
|
Update of /cvsroot/ddccontrol/ddccontrol-db In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7457 Modified Files: configure.ac Log Message: Database version 3 (add VESA generic profile). Index: configure.ac =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol-db/configure.ac,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- configure.ac 14 Nov 2005 17:59:25 -0000 1.7 +++ configure.ac 22 Feb 2006 22:16:37 -0000 1.8 @@ -1,4 +1,4 @@ -AC_INIT([DDC/CI control tool database], [20051114], +AC_INIT([DDC/CI control tool database], [20060222], [DDCControl users list <ddc...@li...>], [ddccontrol-db]) AM_INIT_AUTOMAKE |
From: Nicolas B. <nbo...@us...> - 2006-02-22 21:25:57
|
Update of /cvsroot/ddccontrol/ddccontrol In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13509 Modified Files: ChangeLog Log Message: Update ChangeLog Index: ChangeLog =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol/ChangeLog,v retrieving revision 1.99 retrieving revision 1.100 diff -u -d -r1.99 -r1.100 --- ChangeLog 22 Feb 2006 13:27:23 -0000 1.99 +++ ChangeLog 22 Feb 2006 21:25:49 -0000 1.100 @@ -1,3 +1,11 @@ +2006-02-22 21:25 nboichat + + * configure.ac, doc/techdocs.xml, src/ddccontrol/main.c, + src/lib/monitor_db.c, src/lib/monitor_db.h: Database version 3 + (support of generic profiles). + +2006-02-22 13:27 tag Before_db_version_3 + 2006-02-22 13:27 nboichat * po/ddccontrol.pot, po/de.po, po/fr.po, po/pl.po, po/ru.po, |
From: Nicolas B. <nbo...@us...> - 2006-02-22 21:25:41
|
Update of /cvsroot/ddccontrol/ddccontrol In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13046 Modified Files: configure.ac Log Message: Database version 3 (support of generic profiles). Index: configure.ac =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol/configure.ac,v retrieving revision 1.33 retrieving revision 1.34 diff -u -d -r1.33 -r1.34 --- configure.ac 20 Feb 2006 17:27:55 -0000 1.33 +++ configure.ac 22 Feb 2006 21:25:04 -0000 1.34 @@ -1,4 +1,4 @@ -AC_INIT([DDC/CI control tool], [0.3.1], +AC_INIT([DDC/CI control tool], [0.4], [DDCControl users list <ddc...@li...>], [ddccontrol]) AM_CONFIG_HEADER(src/config.h) |
From: Nicolas B. <nbo...@us...> - 2006-02-22 21:25:14
|
Update of /cvsroot/ddccontrol/ddccontrol/src/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13046/src/lib Modified Files: monitor_db.c monitor_db.h Log Message: Database version 3 (support of generic profiles). Index: monitor_db.h =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol/src/lib/monitor_db.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- monitor_db.h 7 Aug 2005 22:44:48 -0000 1.9 +++ monitor_db.h 22 Feb 2006 21:25:07 -0000 1.10 @@ -38,8 +38,9 @@ }; enum init_type { -standard = 0, -samsung = 1 +unknown = 0, +standard = 1, +samsung = 2 }; struct value_db { Index: monitor_db.c =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol/src/lib/monitor_db.c,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- monitor_db.c 14 Feb 2006 21:59:06 -0000 1.27 +++ monitor_db.c 22 Feb 2006 21:25:06 -0000 1.28 @@ -56,9 +56,11 @@ /* See documentation Appendix D. * Returns : * -1 if an error occured - * 0 otherwise + * number of controls added + * + * add: if true: add caps_str to caps, otherwise remove caps_str from the caps. */ -int ddcci_parse_caps(const char* caps_str, struct caps_entry** caps) +int ddcci_parse_caps(const char* caps_str, struct caps_entry** caps, int add) { // printf("Parsing CAPS (%s).\n", caps_str); int pos = 0; /* position in caps_str */ @@ -66,13 +68,14 @@ int level = 0; /* CAPS parenthesis level */ int vcp = 0; /* Current CAPS section is vcp */ - int containsvcp = 0; - char buf[8]; char* endptr; - long ind = -1; + int ind = -1; long val = -1; int i; + int removeprevious = 0; + + int num = 0; for (pos = 0; caps_str[pos] != 0; pos++) { @@ -91,18 +94,31 @@ if ((level == 1) && (strncmp(caps_str+pos, "vcp", 3) == 0)) { vcp = 1; pos += 2; - containsvcp = 1; } else if ((vcp == 1) && (level == 2)) { + if (!add && ((removeprevious == 1) || (caps[ind] && caps[ind]->values_len == 0))) { + if(caps[ind]) { + if (caps[ind]->values) { + free(caps[ind]->values); + } + free(caps[ind]); + caps[ind] = NULL; + } + } buf[0] = caps_str[pos]; buf[1] = caps_str[++pos]; buf[2] = 0; ind = strtol(buf, &endptr, 16); DDCCI_RETURN_IF(*endptr != 0, -1, _("Can't convert value to int, invalid CAPS.")); - //printf("Index %lx in CAPS.\n", ind); - caps[ind] = malloc(sizeof(struct caps_entry)); - caps[ind]->values_len = -1; - caps[ind]->values = NULL; + if (add) { + caps[ind] = malloc(sizeof(struct caps_entry)); + caps[ind]->values_len = -1; + caps[ind]->values = NULL; + } + else { + removeprevious = 1; + } + num++; } else if ((vcp == 1) && (level == 3)) { i = 0; @@ -113,28 +129,43 @@ buf[i] = 0; val = strtol(buf, &endptr, 16); DDCCI_RETURN_IF(*endptr != 0, -1, _("Can't convert value to int, invalid CAPS.")); - if (caps[ind]->values_len == -1) { - caps[ind]->values_len = 1; + if (add) { + if (caps[ind]->values_len == -1) { + caps[ind]->values_len = 1; + } + else { + caps[ind]->values_len++; + } + caps[ind]->values = realloc(caps[ind]->values, caps[ind]->values_len*sizeof(unsigned short)); + caps[ind]->values[caps[ind]->values_len-1] = val; } else { - caps[ind]->values_len++; + if (caps[ind]->values_len > 0) { + removeprevious = 0; + int j = 0; + for (i = 0; i < caps[ind]->values_len; i++) { + if (caps[ind]->values[i] != val) { + caps[ind]->values[j++] = caps[ind]->values[i]; + } + } + caps[ind]->values_len--; + } } - caps[ind]->values = realloc(caps[ind]->values, caps[ind]->values_len*sizeof(unsigned short)); - caps[ind]->values[caps[ind]->values_len-1] = val; } } } - /* If no vcp is specified, then every control is accepted */ - if (!containsvcp) { - for (i = 0; i < 256; i++) { - caps[i] = malloc(sizeof(struct caps_entry)); - caps[i]->values_len = -1; - caps[i]->values = NULL; + if (!add && ((removeprevious == 1) || (caps[ind] && caps[ind]->values_len == 0))) { + if(caps[ind]) { + if (caps[ind]->values) { + free(caps[ind]->values); + } + free(caps[ind]); + caps[ind] = NULL; } } - return 0; + return num; } /* End of CAPS structs/functions */ @@ -255,7 +286,7 @@ return 0; } -int ddcci_add_controls_to_subgroup(xmlNodePtr control, xmlNodePtr mon_control, struct subgroup_db *current_group, struct caps_entry** caps, char *matchedcontrols, int faulttolerance) { +int ddcci_add_controls_to_subgroup(xmlNodePtr control, xmlNodePtr mon_control, struct subgroup_db *current_group, struct caps_entry** caps, char* defined, char *matchedcontrols, int faulttolerance) { xmlNodePtr cur; xmlChar *mon_ctrlid; xmlChar *options_ctrlid, *options_ctrlname; @@ -322,8 +353,14 @@ printf(_("Control %s has been discarded by the caps string.\n"), options_ctrlid); } memset(current_control, 0, sizeof(struct control_db)); - xmlFree(options_ctrlid); - xmlFree(options_ctrlname); + break; + } + + if (defined[current_control->address]) { + if (get_verbosity() > 1) { + printf(_("Control %s (0x%02x) has already been defined.\n"), options_ctrlid, current_control->address); + } + memset(current_control, 0, sizeof(struct control_db)); break; } @@ -374,6 +411,8 @@ /*printf("**control id=%s group=%s name=%s address=%s\n", options_ctrlid, options_groupname, options_ctrlname, mon_address);*/ + defined[current_control->address] = 1; + *last_control_ref = current_control; last_control_ref = ¤t_control->next; current_control = malloc(sizeof(struct control_db)); @@ -406,226 +445,261 @@ * default_caps: CAPS passed to ddcci_create_db (read from the monitor) * prof_caps: CAPS read from one of the profile (NULL if none has been read yet) */ -struct monitor_db* ddcci_create_db_protected(const char* pnpname, int recursionlevel, const char* default_caps, xmlChar* prof_caps, int faulttolerance) +int ddcci_create_db_protected( + struct monitor_db* mon_db, const char* pnpname, int recursionlevel, + struct caps_entry** caps, char* defined, int faulttolerance) { - struct monitor_db* mon_db; xmlDocPtr mon_doc; - xmlNodePtr cur, mon_control; - xmlChar *mon_name; + xmlNodePtr root, mon_child, mon_control; xmlChar *tmp; char buffer[256]; if (options_doc == NULL) { fprintf(stderr, _("Database must be inited before reading a monitor file.\n")); - return NULL; + return 0; } snprintf(buffer, 256, "%s/monitor/%s.xml", datadir, pnpname); mon_doc = xmlParseFile(buffer); if (mon_doc == NULL) { fprintf(stderr, _("Document not parsed successfully.\n")); - return NULL; + return 0; } - cur = xmlDocGetRootElement(mon_doc); + root = xmlDocGetRootElement(mon_doc); - if (cur == NULL) { + if (root == NULL) { fprintf(stderr, _("empty monitor/%s.xml\n"), pnpname); xmlFreeDoc(mon_doc); - return NULL; + return 0; } - if (xmlStrcmp(cur->name, (const xmlChar *) "monitor")) { - fprintf(stderr, _("monitor/%s.xml of the wrong type, root node %s != monitor"), pnpname, cur->name); + if (xmlStrcmp(root->name, (const xmlChar *) "monitor")) { + fprintf(stderr, _("monitor/%s.xml of the wrong type, root node %s != monitor"), pnpname, root->name); xmlFreeDoc(mon_doc); - return NULL; + return 0; } - - mon_name = xmlGetProp(cur, BAD_CAST "name"); - DDCCI_DB_RETURN_IF(mon_name == NULL, NULL, _("Can't find name property."), cur); - if (prof_caps == NULL) { - prof_caps = xmlGetProp(cur, BAD_CAST "caps"); + + if (!mon_db->name) { + mon_db->name = xmlGetProp(root, BAD_CAST "name"); + DDCCI_DB_RETURN_IF(mon_db->name == NULL, 0, _("Can't find name property."), root); } - if ((tmp = xmlGetProp(cur, BAD_CAST "include"))) { - recursionlevel++; - if (recursionlevel > 15) { - fprintf(stderr, _("Error, include recursion level > 15 (file: %s).\n"), pnpname); - xmlFree(mon_name); - mon_db = NULL; - return NULL; + if ((mon_db->init == unknown) && (tmp = xmlGetProp(root, BAD_CAST "init"))) { + if (!(xmlStrcmp(tmp, (const xmlChar *)"standard"))) { + mon_db->init = standard; } - - mon_db = ddcci_create_db_protected(tmp, recursionlevel, default_caps, prof_caps, faulttolerance); - if (mon_db) { - xmlFree(mon_db->name); - mon_db->name = mon_name; + else if (!(xmlStrcmp(tmp, (const xmlChar *)"samsung"))) { + mon_db->init = samsung; } - xmlFree(tmp); - - return mon_db; - } - - mon_db = malloc(sizeof(struct monitor_db)); - memset(mon_db, 0, sizeof(struct monitor_db)); - mon_db->name = mon_name; - - tmp = xmlGetProp(cur, BAD_CAST "init"); - DDCCI_DB_RETURN_IF(tmp == NULL, NULL, _("Can't find init property."), cur); - if (!(xmlStrcmp(tmp, (const xmlChar *)"standard"))) { - mon_db->init = standard; - } - else if (!(xmlStrcmp(tmp, (const xmlChar *)"samsung"))) { - mon_db->init = samsung; - } - else { - DDCCI_DB_RETURN_IF(1, NULL, _("Invalid type."), cur); - } - xmlFree(tmp); - - cur = cur->xmlChildrenNode; - mon_control = NULL; - - while (cur != NULL) { - if (!xmlStrcmp(cur->name, (const xmlChar *) "controls")) { - mon_control = cur; + else { + DDCCI_DB_RETURN_IF(1, 0, _("Invalid type."), root); } - - cur = cur->next; - } - - if (!mon_control) { - fprintf(stderr, _("document of the wrong type, can't find controls.\n")); - xmlFreeDoc(mon_doc); - return NULL; - } - - /* Parse caps, and fill structure array. */ - struct caps_entry* caps[256]; - int i; - - for (i = 0; i < 256; i++) { - caps[i] = NULL; + xmlFree(tmp); } - ddcci_parse_caps((prof_caps == NULL) ? default_caps: (const char*)prof_caps, caps); - - /* Find, if possible, each element of options_doc in mon_doc. */ - - xmlChar *options_groupname, *options_subgroupname; - xmlNodePtr group, subgroup, control; - - struct group_db *current_group = malloc(sizeof(struct group_db)); - struct group_db **last_group_ref = &mon_db->group_list; - memset(current_group, 0, sizeof(struct group_db)); - - int ncontrols = 0; /* Number of controls in monitor file */ - char *matchedcontrols; /* Array of monitor controls with (=1) or without (=0) corresponding global control */ - - /* Compute nvalues */ - cur = mon_control->xmlChildrenNode; - while (cur) { - if (cur->type == XML_ELEMENT_NODE) { - ncontrols++; + if ((tmp = xmlGetProp(root, BAD_CAST "caps"))) { + if (faulttolerance) + fprintf(stderr, "Warning: caps property is deprecated.\n"); + else { + fprintf(stderr, "Error: caps property is deprecated.\n"); + return 0; } - cur = cur->next; } - matchedcontrols = malloc((ncontrols+1)*sizeof(char)); /* Will not be freed on error, no problem */ - memset(matchedcontrols, 0, ncontrols*sizeof(char)); - - /* List groups (options.xml) */ - for (group = xmlDocGetRootElement(options_doc)->xmlChildrenNode; group != NULL; group = group->next) - { - options_groupname = NULL; - if (xmlStrcmp(group->name, (const xmlChar *) "group")) { // Not a group - continue; - } - - options_groupname = xmlGetProp(group, BAD_CAST "name"); + /* Create group-subgroup structure (we'll clean it up later) */ + if (!recursionlevel) { + /*printf("Creating struct...\n");*/ + xmlNodePtr group, subgroup; + xmlChar *options_groupname, *options_subgroupname; - struct subgroup_db *current_subgroup = malloc(sizeof(struct subgroup_db)); - struct subgroup_db **last_subgroup_ref = ¤t_group->subgroup_list; - memset(current_subgroup, 0, sizeof(struct subgroup_db)); + struct group_db *current_group; + struct group_db **last_group_ref = &mon_db->group_list; - /* List subgroups (options.xml) */ - for (subgroup = group->xmlChildrenNode; subgroup != NULL; subgroup = subgroup->next) + /* List groups (options.xml) */ + for (group = xmlDocGetRootElement(options_doc)->xmlChildrenNode; group != NULL; group = group->next) { - options_subgroupname = NULL; - if (xmlStrcmp(subgroup->name, (const xmlChar *) "subgroup")) { // Not a subgroup + options_groupname = NULL; + if (xmlStrcmp(group->name, (const xmlChar *) "group")) { // Not a group continue; } + *last_group_ref = current_group = malloc(sizeof(struct group_db)); + memset(current_group, 0, sizeof(struct group_db)); + last_group_ref = ¤t_group->next; + /*printf("On group %p\n", current_group);*/ - options_subgroupname = xmlGetProp(subgroup, BAD_CAST "name"); - - control = subgroup->xmlChildrenNode; + options_groupname = xmlGetProp(group, BAD_CAST "name"); + DDCCI_DB_RETURN_IF(options_groupname == NULL, 0, _("Can't find name property."), group); + current_group->name = _D(options_groupname); /* Note: copy string, so we can free options_groupname */ + xmlFree(options_groupname); - DDCCI_DB_RETURN_IF( - !ddcci_add_controls_to_subgroup(control, mon_control, current_subgroup, (struct caps_entry**)&caps, matchedcontrols, faulttolerance), - NULL, _("Error enumerating controls in group."), control); + struct subgroup_db *current_subgroup; + struct subgroup_db **last_subgroup_ref = ¤t_group->subgroup_list; - if (current_subgroup->control_list) { + /* List subgroups (options.xml) */ + for (subgroup = group->xmlChildrenNode; subgroup != NULL; subgroup = subgroup->next) + { + options_subgroupname = NULL; + if (xmlStrcmp(subgroup->name, (const xmlChar *) "subgroup")) { // Not a subgroup + continue; + } + *last_subgroup_ref = current_subgroup = malloc(sizeof(struct subgroup_db)); + memset(current_subgroup, 0, sizeof(struct subgroup_db)); + last_subgroup_ref = ¤t_subgroup->next; + + /*printf("On subgroup %p\n", current_subgroup);*/ + + options_subgroupname = xmlGetProp(subgroup, BAD_CAST "name"); + DDCCI_DB_RETURN_IF(options_subgroupname == NULL, 0, _("Can't find name property."), subgroup); + current_subgroup->name = _D(options_subgroupname); /* Note: copy string, so we can free options_subgroupname */ + xmlFree(options_subgroupname); current_subgroup->pattern = xmlGetProp(subgroup, BAD_CAST "pattern"); - *last_subgroup_ref = current_subgroup; - last_subgroup_ref = ¤t_subgroup->next; - current_subgroup = malloc(sizeof(struct subgroup_db)); - memset(current_subgroup, 0, sizeof(struct subgroup_db)); + } + } + } + + mon_child = root->xmlChildrenNode; + mon_control = NULL; + + int controls_or_include = 0; + while (mon_child != NULL) { + if (!xmlStrcmp(mon_child->name, (const xmlChar *) "caps")) { + xmlChar* remove = xmlGetProp(mon_child, BAD_CAST "remove"); + xmlChar* add = xmlGetProp(mon_child, BAD_CAST "add"); + DDCCI_DB_RETURN_IF(!remove && !add, 0, _("Can't find add or remove property in caps."), mon_child); + if (remove) + DDCCI_DB_RETURN_IF(ddcci_parse_caps(remove, caps, 0) <= 0, 0, _("Invalid remove caps."), mon_child); + if (add) + DDCCI_DB_RETURN_IF(ddcci_parse_caps(add, caps, 1) <= 0, 0, _("Invalid add caps."), mon_child); + } + else if (!xmlStrcmp(mon_child->name, (const xmlChar *) "include")) { + controls_or_include = 1; + if (recursionlevel > 15) { + fprintf(stderr, _("Error, include recursion level > 15 (file: %s).\n"), pnpname); + mon_db = NULL; + return 0; } - if (options_subgroupname) { - xmlFree(options_subgroupname); + xmlChar* file = xmlGetProp(mon_child, BAD_CAST "file"); + DDCCI_DB_RETURN_IF(file == NULL, 0, _("Can't find file property."), mon_child); + if (!ddcci_create_db_protected(mon_db, file, recursionlevel+1, caps, defined, faulttolerance)) { + xmlFree(file); + return 0; } + xmlFree(file); } + else if (!xmlStrcmp(mon_child->name, (const xmlChar *) "controls")) { + DDCCI_DB_RETURN_IF(mon_control != NULL, 0, _("Two controls part in XML file."), root); + controls_or_include = 1; + mon_control = mon_child; + /* Find, if possible, each element of options_doc in mon_doc. */ + xmlNodePtr mon_control_child, group, subgroup, control; + + struct group_db *current_group = mon_db->group_list; + + int ncontrols = 0; /* Number of controls in monitor file */ + char *matchedcontrols; /* Array of monitor controls with (=1) or without (=0) corresponding global control */ + + /* Compute nvalues */ + mon_control_child = mon_control->xmlChildrenNode; + while (mon_control_child) { + if (mon_control_child->type == XML_ELEMENT_NODE) { + ncontrols++; + } + mon_control_child = mon_control_child->next; + } + + matchedcontrols = malloc((ncontrols+1)*sizeof(char)); /* Will not be freed on error, no problem */ + memset(matchedcontrols, 0, ncontrols*sizeof(char)); + + /*printf("Filling struct...\n");*/ + + /* List groups (options.xml) */ + for (group = xmlDocGetRootElement(options_doc)->xmlChildrenNode; group != NULL; group = group->next) + { + if (xmlStrcmp(group->name, (const xmlChar *) "group")) { // Not a group + continue; + } + /*printf("On group %p\n", current_group);*/ + + struct subgroup_db *current_subgroup = current_group->subgroup_list; + + /* List subgroups (options.xml) */ + for (subgroup = group->xmlChildrenNode; subgroup != NULL; subgroup = subgroup->next) + { + if (xmlStrcmp(subgroup->name, (const xmlChar *) "subgroup")) { // Not a subgroup + continue; + } + /*printf("On subgroup %p\n", current_subgroup);*/ + + control = subgroup->xmlChildrenNode; + + DDCCI_DB_RETURN_IF( + !ddcci_add_controls_to_subgroup(control, mon_control, current_subgroup, caps, defined, matchedcontrols, faulttolerance), + 0, _("Error enumerating controls in subgroup."), control); + current_subgroup = current_subgroup->next; + } + current_group = current_group->next; + } + + int i = 0; + mon_control_child = mon_control->xmlChildrenNode; + while (mon_control_child) { + if (mon_control_child->type == XML_ELEMENT_NODE) { + if (!matchedcontrols[i]) { + tmp = xmlGetProp(mon_control_child, BAD_CAST "id"); + fprintf(stderr, _("Element %s (id=%s) has not been found (line %ld).\n"), mon_control_child->name, tmp, XML_GET_LINE(mon_control_child)); + xmlFree(tmp); + if (!faulttolerance) + return 0; + } + i++; + } + mon_control_child = mon_control_child->next; + } + + free(matchedcontrols); + } /* mon_child->name == "controls" */ - if (current_group->subgroup_list) { - current_group->name = _D(options_groupname); /* Note: copy string, so we can free options_groupname */ - *last_group_ref = current_group; - last_group_ref = ¤t_group->next; - current_group = malloc(sizeof(struct group_db)); - memset(current_group, 0, sizeof(struct group_db)); - } - - if (options_groupname) { - xmlFree(options_groupname); - } - free(current_subgroup); + mon_child = mon_child->next; } - free(current_group); - - i = 0; - cur = mon_control->xmlChildrenNode; - while (cur) { - if (cur->type == XML_ELEMENT_NODE) { - if (!matchedcontrols[i]) { - tmp = xmlGetProp(cur, BAD_CAST "id"); - fprintf(stderr, _("Element %s (id=%s) has not been found (line %ld).\n"), cur->name, tmp, XML_GET_LINE(cur)); - xmlFree(tmp); - if (!faulttolerance) - return NULL; + if (!recursionlevel) { + struct group_db** group; + struct subgroup_db** subgroup; + + /* loop through groups */ + group = &mon_db->group_list; + while (*group != NULL) + { + /* loop through subgroups inside group */ + subgroup = &((*group)->subgroup_list); + while (*subgroup != NULL) + { + if (!(*subgroup)->control_list) { + *subgroup = (*subgroup)->next; + continue; + } + subgroup = &(*subgroup)->next; } - i++; + if (!(*group)->subgroup_list) { + *group = (*group)->next; + continue; + } + group = &(*group)->next; } - cur = cur->next; } - free(matchedcontrols); + if (!controls_or_include) { + fprintf(stderr, _("document of the wrong type, can't find controls or include.\n")); + xmlFreeDoc(mon_doc); + return 0; + } xmlFreeDoc(mon_doc); - for (i = 0; i < 256; i++) { - if(caps[i]) { - if (caps[i]->values) { - free(caps[i]->values); - } - free(caps[i]); - } - } - - xmlFree(prof_caps); - - return mon_db; + return 1; } /* @@ -636,7 +710,76 @@ */ struct monitor_db* ddcci_create_db(const char* pnpname, const char* default_caps, int faulttolerance) { - return ddcci_create_db_protected(pnpname, 0, default_caps, NULL, faulttolerance); + struct monitor_db* mon_db = malloc(sizeof(struct monitor_db)); + memset(mon_db, 0, sizeof(struct monitor_db)); + + /* Parse caps, and fill structure array. */ + struct caps_entry* caps[256]; + + memset(caps, 0, 256*sizeof(struct caps_entry*)); + + /* defined controls, when including another file, we don't define the same control 2 times. */ + char defined[256]; + memset(defined, 0, 256*sizeof(char)); + + ddcci_parse_caps(default_caps, caps, 1); + + if (!ddcci_create_db_protected(mon_db, pnpname, 0, caps, defined, faulttolerance)) { + free(mon_db); + mon_db = NULL; + } + + if (mon_db && (mon_db->init == unknown)) { + if (faulttolerance) { + fprintf(stderr, "Warning: init mode not set, using standard.\n"); + mon_db->init = standard; + } + else { + fprintf(stderr, "Error: init mode not set.\n"); + free(mon_db); + mon_db = NULL; + } + } + + int i; + for (i = 0; i < 256; i++) { + if(caps[i]) { + if (caps[i]->values) { + free(caps[i]->values); + } + free(caps[i]); + } + } + +#ifdef DEBUG_DB_CREATION + struct monitor_db* monitor = mon_db; + struct group_db* group; + struct subgroup_db* subgroup; + struct control_db* control; + struct value_db* valued; + + /* loop through groups */ + for (group = monitor->group_list; (group != NULL); group = group->next) + { + printf("Group %p: %s\n", group, group->name); + /* loop through subgroups inside group */ + for (subgroup = group->subgroup_list; (subgroup != NULL); subgroup = subgroup->next) + { + printf("\tSubgroup %p: %s\n", subgroup, subgroup->name); + /* loop through controls inside subgroup */ + for (control = subgroup->control_list; (control != NULL); control = control->next) + { + printf("\t\tControl: %s 0x%02x\n", control->name, control->address); + /* look for the value */ + for (valued = control->value_list; (valued != NULL); valued = valued->next) { + printf("\t\t\tValue: %s 0x%02x\n", valued->name, valued->value); + } + } + } + } +#endif + + return mon_db; } void ddcci_free_db(struct monitor_db* monitor) |
From: Nicolas B. <nbo...@us...> - 2006-02-22 21:25:10
|
Update of /cvsroot/ddccontrol/ddccontrol/src/ddccontrol In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13046/src/ddccontrol Modified Files: main.c Log Message: Database version 3 (support of generic profiles). Index: main.c =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol/src/ddccontrol/main.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- main.c 22 Feb 2006 13:25:49 -0000 1.28 +++ main.c 22 Feb 2006 21:25:06 -0000 1.29 @@ -126,8 +126,19 @@ printf(_("[ OK ]\n")); + /* Create caps with all controls. */ + char buf2[4]; + char buffer[256*3+25]; + strcpy(buffer, "(vcp("); + int i; + for (i = 0; i < 256; i++) { + snprintf(buf2, 4, "%02x ", i); + strcat(buffer, buf2); + } + strcat(buffer, "))"); + printf(_("Checking %s integrity...\n"), pnpname); - if (!(mon_db = ddcci_create_db(pnpname, "", 0))) { + if (!(mon_db = ddcci_create_db(pnpname, buffer, 0))) { printf(_("[ FAILED ]\n")); ddcci_release_db(); exit(1); |
From: Nicolas B. <nbo...@us...> - 2006-02-22 21:25:10
|
Update of /cvsroot/ddccontrol/ddccontrol/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13046/doc Modified Files: techdocs.xml Log Message: Database version 3 (support of generic profiles). Index: techdocs.xml =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol/doc/techdocs.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- techdocs.xml 7 Aug 2005 22:44:47 -0000 1.4 +++ techdocs.xml 22 Feb 2006 21:25:05 -0000 1.5 @@ -38,7 +38,7 @@ </listitem> <listitem> <sgmltag class="attribute">dbversion</sgmltag>: indicates which version of -database format is used (must be set to 2). +database format is used (must be set to 3). </listitem> </itemizedlist></para> @@ -124,7 +124,7 @@ <para>File format:</para> <screen format='linespecific'> <![CDATA[<?xml version="1.0"?> -<options date="%date%" dbversion="2"> +<options date="%date%" dbversion="3"> <group name="%groupname%"> <subgroup name="%subgroupname%" pattern="%patternname%"> <control id="%control_id%" type="value" name="%control_name%" address="%hex_address%"/> @@ -147,63 +147,62 @@ <title>Monitor Profiles</title> <subtitle>XML files: <filename>monitor/<replaceable>%monitor_id%</replaceable>.xml</filename></subtitle> -<para>List of controls supported by a monitor.</para> -<para><sgmltag class="element">control</sgmltag> -<sgmltag class="attribute">id</sgmltag> attributes are defined in -<filename>options.xml</filename>. If <sgmltag class="element">control</sgmltag> -<sgmltag class="attribute">type</sgmltag> is -<sgmltag class="attvalue">list</sgmltag> or -<sgmltag class="attvalue">command</sgmltag> without non-default value, supported -values must be defined.</para> -<para><sgmltag class="attribute">address</sgmltag> attribute for -<sgmltag class="element">control</sgmltag> elements and -<sgmltag class="attribute">value</sgmltag> attribute for -<sgmltag class="element">value</sgmltag> elements are optional if they are -defined in the general options file.</para> - -<para>The <sgmltag class="attribute">init</sgmltag> attribute in -<sgmltag class="element">monitor</sgmltag> element define the type of the -initialization: DDC/CI standard (<sgmltag class="attvalue">standard</sgmltag>), -or Samsung (<sgmltag class="attvalue">samsung</sgmltag>).</para> +<sect3> + <title><sgmltag class="element">caps</sgmltag> element</title> + <para>The caps attribute is optional. Its format is defined in ACCESS.bus specifications.</para> + <para>To add controls to caps, use the <sgmltag class="attribute">add</sgmltag> attribute. + To remove controls from caps, use the <sgmltag class="attribute">remove</sgmltag> attribute.</para> + <para>Note remove is handled before add, so if you remove and add a same control, it will + finally be in caps.</para> +</sect3> +<sect3> + <title><sgmltag class="element">controls</sgmltag> element</title> + <para>List of controls supported by a monitor (optional if you have an + <sgmltag class="attribute">include</sgmltag> element).</para> + <para><sgmltag class="element">control</sgmltag> + <sgmltag class="attribute">id</sgmltag> attributes are defined in + <filename>options.xml</filename>. If <sgmltag class="element">control</sgmltag> + <sgmltag class="attribute">type</sgmltag> is + <sgmltag class="attvalue">list</sgmltag> or + <sgmltag class="attvalue">command</sgmltag> without default values, supported + values must be defined.</para> + <para><sgmltag class="attribute">address</sgmltag> attribute for + <sgmltag class="element">control</sgmltag> elements and + <sgmltag class="attribute">value</sgmltag> attribute for + <sgmltag class="element">value</sgmltag> elements are optional if they are + defined in the general options file.</para> + + <para>The <sgmltag class="attribute">init</sgmltag> attribute in + <sgmltag class="element">monitor</sgmltag> element define the type of the + initialization: DDC/CI standard (<sgmltag class="attvalue">standard</sgmltag>), + or Samsung (<sgmltag class="attvalue">samsung</sgmltag>). This attribute is + optional, as long as the monitor profile includes another profile which defines + this attribute.</para> + + <para> + You can set a <sgmltag class="attribute">delay</sgmltag> attribute in + <sgmltag class="element">control</sgmltag> elements to set the time in + milliseconds to wait after changing the value of this control. + If you don't, a default value is used. + </para> +</sect3> -<para>The <sgmltag class="attribute">caps</sgmltag> attribute is optional. Its -format is defined in ACCESS.bus specifications and is treated as -following:</para> -<itemizedlist mark='bullet'> -<listitem> -<para> -If <sgmltag class="attribute">caps</sgmltag> is not defined, caps are read from -monitor. -</para> -</listitem> -<listitem> -<para> -If this attribute exists and have a <sgmltag class="attvalue">vcp</sgmltag> -string (e.g. <sgmltag class="attvalue">type(lcd) vcp(10 12)</sgmltag>) then the -specified caps string is used. -</para> -</listitem> -<listitem> -<para> -If this attribute exists but does not have a -<sgmltag class="attvalue">vcp</sgmltag> (e.g. -<sgmltag class="attvalue">type(crt)</sgmltag> or -<sgmltag class="attvalue"></sgmltag>), then all controls defined in the -monitor profile are supposed to be supported.</para> -</listitem> -</itemizedlist> +<sect3> + <title><sgmltag class="element">include</sgmltag> element</title> + <para>Includes another monitor, manufacturer or standard profile, specified + by the <sgmltag class="attribute">file</sgmltag> attribute.</para> +</sect3> -<para> -You can set a <sgmltag class="attribute">delay</sgmltag> attribute in -<sgmltag class="element">control</sgmltag> elements to set the time in -milliseconds to wait after changing the value of this control. -If you don't, a default value is used. -</para> +<note>Monitor profile are read sequentially. Control and init mode redifinitions +are ignored, so define specific controls and init mode before including a generic +profile. Caps are also treated sequentially, so if a control is not in CAPS at the +time it is defined, it won't be supported by ddccontrol.</note> <para>File format:</para> <screen format='linespecific'> <![CDATA[<?xml version="1.0"?> -<monitor name="%full_monitor_name%" init="[standard|samsung]" caps="%caps%"> +<monitor name="%full_monitor_name%" init="[standard|samsung]"> + <caps add="%add_caps%" remove="%remove_caps%"/> <controls> <!--- value --> <control id="%control_id%" address="%hex_address%" delay="%wait_time%"/> @@ -220,13 +219,18 @@ </control> <control...> </controls> + <!--- Including VESA generic profile is generally a good idea. --> + <include file="VESA"/> </monitor> ]]></screen> <para>If a monitor supports exactly the same controls as another one, you can define it as shown:</para> <screen format='linespecific'> <![CDATA[<?xml version="1.0"?> -<monitor include="%monitor_id%" name="%full_monitor_name%" caps="%caps%"/> +<monitor name="%full_monitor_name%"> + <caps add="%add_caps%" remove="%remove_caps%"/> + <include file="%include_monitor_id%"/> +</monitor> ]]></screen> </sect2> </sect1> |
From: Nicolas B. <nbo...@us...> - 2006-02-22 13:35:11
|
Update of /cvsroot/ddccontrol/ddccontrol-db In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4502 Modified Files: ChangeLog Log Message: Update ChangeLog Index: ChangeLog =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol-db/ChangeLog,v retrieving revision 1.64 retrieving revision 1.65 diff -u -d -r1.64 -r1.65 --- ChangeLog 21 Feb 2006 11:38:29 -0000 1.64 +++ ChangeLog 22 Feb 2006 13:35:00 -0000 1.65 @@ -1,3 +1,8 @@ +2006-02-22 13:34 nboichat + + * db/monitor/SUN0577.xml: Add support for SUN GDM-5410 (Thanks to + "bman") + 2006-02-21 11:38 nboichat * db/monitor/: SAM0115.xml, SAM0191.xml, SAM0192.xml, SAM0194.xml: |
From: Nicolas B. <nbo...@us...> - 2006-02-22 13:34:52
|
Update of /cvsroot/ddccontrol/ddccontrol-db/db/monitor In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4443/db/monitor Added Files: SUN0577.xml Log Message: Add support for SUN GDM-5410 (Thanks to "bman") --- NEW FILE: SUN0577.xml --- <?xml version="1.0"?> <!--- SUN GDM-5410 is a CRT (Thanks to "bman" for providing this file) --> <monitor name="SUN GDM-5410" init="standard"> <controls> <control id="brightness" address="0x10"/> <control id="contrast" address="0x12"/> <control id="hsize" address="0x22"/> <control id="hpos" address="0x20"/> <control id="vpos" address="0x30"/> <control id="vsize" address="0x32"/> <control id="hpincushion" address="0x24"/> <control id="hpincushionbalance" address="0x26"/> <control id="tilt" address="0x44"/> <control id="key" address="0x42"/> <control id="keybalance" address="0x40"/> <control id="colorpreset" address="0x14"> <value id="5000k" value="0x0"/> <value id="6500k" value="0x1"/> <value id="9300k" value="0x2"/> </control> <control id="hmoire" address="0x56"/> <control id="hmisconvergence" address="0x28"/> <control id="vmisconvergence" address="0x38"/> <control id="tlpurity" address="0xF1"/> <control id="trpurity" address="0xF2"/> <control id="blpurity" address="0xF4"/> <control id="brpurity" address="0xF3"/> <control id="language" type="list" address="0x68"> <value id="chinese" value="0"/> <value id="english" value="1"/> <value id="french" value="2"/> <value id="german" value="3"/> <value id="spanish" value="4"/> <value id="italian" value="5"/> <value id="swedish" value="6"/> <value id="dutch" value="7"/> <value id="russian" value="8"/> </control> <!-- <control id="vtopmisconvergence" address="0xF6"/> --> <!-- <control id="vbotmisconvergence" address="0xF7"/> --> </controls> </monitor> |
From: Nicolas B. <nbo...@us...> - 2006-02-22 13:27:31
|
Update of /cvsroot/ddccontrol/ddccontrol In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv502 Modified Files: ChangeLog Log Message: Update ChangeLog Index: ChangeLog =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol/ChangeLog,v retrieving revision 1.98 retrieving revision 1.99 diff -u -d -r1.98 -r1.99 --- ChangeLog 20 Feb 2006 17:28:07 -0000 1.98 +++ ChangeLog 22 Feb 2006 13:27:23 -0000 1.99 @@ -1,3 +1,17 @@ +2006-02-22 13:27 nboichat + + * po/ddccontrol.pot, po/de.po, po/fr.po, po/pl.po, po/ru.po, + po/zh_CN.po, src/lib/ddcci.c: Show more infos in dumps (very + verbose mode). + +2006-02-22 13:25 nboichat + + * src/ddccontrol/main.c: Update copyright string. + +2006-02-21 11:49 nboichat + + * doc/supportedmonitors.xml: Update supported monitors list. + 2006-02-20 17:27 nboichat * configure.ac: Fix gnome-ddcc-applet compile error (libgnome-panel |
From: Nicolas B. <nbo...@us...> - 2006-02-22 13:27:18
|
Update of /cvsroot/ddccontrol/ddccontrol/src/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32638/src/lib Modified Files: ddcci.c Log Message: Show more infos in dumps (very verbose mode). Index: ddcci.c =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol/src/lib/ddcci.c,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- ddcci.c 14 Feb 2006 21:59:06 -0000 1.29 +++ ddcci.c 22 Feb 2006 13:27:07 -0000 1.30 @@ -1,7 +1,7 @@ /* ddc/ci interface functions Copyright(c) 2004 Oleg I. Vdovikin (ol...@cs...) - Copyright(c) 2004 Nicolas Boichat (ni...@bo...) + Copyright(c) 2004-2006 Nicolas Boichat (ni...@bo...) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -89,10 +89,19 @@ #define DDCPCI_RETRIES 100000 /* debugging */ -static void dumphex(FILE *f, unsigned char *buf, int len) +static void dumphex(FILE *f, unsigned char *text, unsigned char *buf, int len) { int i, j; - + + if (text) { + if (len > 16) { + fprintf(f, "%s:\n", text); + } + else { + fprintf(f, "%s: ", text); + } + } + for (j = 0; j < len; j +=16) { if (len > 16) { fprintf(f, "%04x: ", j); @@ -257,7 +266,11 @@ } return -1; } - + + if (verbosity > 1) { + dumphex(stderr, "Send", buf, len); + } + return i; } #ifdef HAVE_DDCPCI @@ -285,6 +298,11 @@ } return -1; } + + if (verbosity > 1) { + dumphex(stderr, "Send", buf, len); + } + return adata.status; } #endif @@ -318,7 +336,11 @@ } return -1; } - + + if (verbosity > 1) { + dumphex(stderr, "Recv", buf, i); + } + return i; } #ifdef HAVE_DDCPCI @@ -350,6 +372,10 @@ memcpy(buf, adata.buffer, ret - ANSWER_SIZE); + if (verbosity > 1) { + dumphex(stderr, "Recv", buf, ret - ANSWER_SIZE); + } + return ret - ANSWER_SIZE; } #endif @@ -362,7 +388,7 @@ static void ddcci_delay(struct monitor* mon, int iswrite) { struct timeval now; - + if (gettimeofday(&now, NULL)) { usleep(DELAY); } else { @@ -393,11 +419,6 @@ unsigned char _buf[MAX_BYTES + 3]; unsigned xor = ((unsigned char)mon->addr << 1); /* initial xor value */ - if (verbosity > 1) { - fprintf(stderr, "Send: "); - dumphex(stderr, buf, len); - } - /* put first magic */ xor ^= (_buf[i++] = MAGIC_1); @@ -436,7 +457,7 @@ if (!mon->probing || verbosity) { fprintf(stderr, _("Invalid response, first byte is 0x%02x, should be 0x%02x\n"), _buf[0], mon->addr * 2); - dumphex(stderr, _buf, len + 3); + dumphex(stderr, NULL, _buf, len + 3); } return -1; } @@ -465,7 +486,7 @@ if (xor != 0) { if (!mon->probing || verbosity) { fprintf(stderr, _("Invalid response, corrupted data - xor is 0x%02x, length 0x%02x\n"), xor, _len); - dumphex(stderr, _buf, len + 3); + dumphex(stderr, NULL, _buf, len + 3); } return -1; @@ -473,12 +494,7 @@ /* copy payload data */ memcpy(buf, _buf + 2, _len); - - if (verbosity > 1) { - fprintf(stderr, "Recv: "); - dumphex(stderr, buf, _len); - } - + return _len; } @@ -626,11 +642,7 @@ if (i2c_write(mon, addr, buf, 1) > 0 && i2c_read(mon, addr, buf, sizeof(buf)) > 0) - { - if (verbosity) { - dumphex(stdout, buf, sizeof(buf)); - } - + { if (buf[0] != 0 || buf[1] != 0xff || buf[2] != 0xff || buf[3] != 0xff || buf[4] != 0xff || buf[5] != 0xff || buf[6] != 0xff || buf[7] != 0) { |
From: Nicolas B. <nbo...@us...> - 2006-02-22 13:27:17
|
Update of /cvsroot/ddccontrol/ddccontrol/po In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32638/po Modified Files: ddccontrol.pot de.po fr.po pl.po ru.po zh_CN.po Log Message: Show more infos in dumps (very verbose mode). Index: fr.po =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol/po/fr.po,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- fr.po 14 Nov 2005 18:48:21 -0000 1.20 +++ fr.po 22 Feb 2006 13:27:07 -0000 1.21 @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: DDC/CI control tool 0.1\n" -"Report-Msgid-Bugs-To: ddc...@li...\n" -"POT-Creation-Date: 2005-11-14 19:44+0100\n" -"PO-Revision-Date: 2005-11-14 18:43+0100\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-02-21 12:49+0100\n" +"PO-Revision-Date: 2006-02-21 12:52+0100\n" "Last-Translator: Nicolas Boichat <ni...@bo...>\n" "Language-Team: French <tr...@tr...>\n" [...1409 lines suppressed...] +#: ../src/lib/monitor_db.c:771 #, c-format msgid "options.xml dbversion (%d) is less than the supported version (%d).\n" -msgstr "" -"La version de options.xml (%d) est plus petite que la version supportée (%" -"d).\n" +msgstr "La version de options.xml (%d) est plus petite que la version supportée (%d).\n" -#: src/lib/monitor_db.c:761 +#: ../src/lib/monitor_db.c:772 #, c-format msgid "Please update ddccontrol database.\n" msgstr "Veuillez mettre à jour la base de données ddccontrol.\n" #~ msgid "i740" #~ msgstr "i740" - #~ msgid "intel740_open" #~ msgstr "intel740_open" + Index: ru.po =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol/po/ru.po,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- ru.po 14 Nov 2005 18:48:21 -0000 1.15 +++ ru.po 22 Feb 2006 13:27:07 -0000 1.16 @@ -6,20 +6,22 @@ msgid "" msgstr "" "Project-Id-Version: DDC/CI control tool 0.1\n" -"Report-Msgid-Bugs-To: ddc...@li...\n" -"POT-Creation-Date: 2005-11-14 19:44+0100\n" -"PO-Revision-Date: 2005-11-14 11:30+0300\n" -"Last-Translator: Sergei Epiphanov <se...@ni...>\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-02-21 12:49+0100\n" +"PO-Revision-Date: 2006-02-21 12:53+0100\n" +"Last-Translator: Nicolas Boichat <ni...@bo...>\n" [...1409 lines suppressed...] @@ -1234,18 +1245,14 @@ #, fuzzy #~ msgid "options" #~ msgstr "пÑÑÑой options.xml\n" - #~ msgid "Error: %s @%s:%d (%s:%ld)\n" #~ msgstr "ÐÑибка: %s @%s:%d (%s:%ld)\n" - #~ msgid "Error: %s @%s:%d\n" #~ msgstr "ÐÑибка: %s @%s:%d\n" - #~ msgid "nvidia_open: Malloc error.\n" #~ msgstr "nvidia_open: оÑибка malloc.\n" - #~ msgid "Please click on a parameter on the left to change it." #~ msgstr "ÐожалÑйÑÑа, ÑÑлкниÑе на паÑамеÑÑе Ñлева Ð´Ð»Ñ ÐµÐ³Ð¾ изменениÑ." - #~ msgid "restore_callback should not be called for command controls." #~ msgstr "ÐежелаÑелÑно вÑзÑваÑÑ restore_callback Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½ÑÑ ÑегиÑÑÑов" + Index: de.po =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol/po/de.po,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- de.po 14 Nov 2005 18:48:21 -0000 1.6 +++ de.po 22 Feb 2006 13:27:07 -0000 1.7 @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: DDC/CI control tool 0.1\n" -"Report-Msgid-Bugs-To: ddc...@li...\n" -"POT-Creation-Date: 2005-11-14 19:44+0100\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-02-21 12:49+0100\n" "PO-Revision-Date: 2005-09-21 12:47+0200\n" "Last-Translator: Christian Schilling <csc...@gm...>\n" "Language-Team: German\n" @@ -17,11 +17,12 @@ [...1226 lines suppressed...] "options.xml dbversion (%d) is greater than the supported version (%d).\n" msgstr "" -#: src/lib/monitor_db.c:754 +#: ../src/lib/monitor_db.c:764 #, c-format msgid "Please update ddccontrol program.\n" msgstr "" -#: src/lib/monitor_db.c:760 +#: ../src/lib/monitor_db.c:771 #, c-format msgid "options.xml dbversion (%d) is less than the supported version (%d).\n" msgstr "" -#: src/lib/monitor_db.c:761 +#: ../src/lib/monitor_db.c:772 #, c-format msgid "Please update ddccontrol database.\n" msgstr "" Index: pl.po =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol/po/pl.po,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- pl.po 19 Nov 2005 13:32:43 -0000 1.1 +++ pl.po 22 Feb 2006 13:27:07 -0000 1.2 @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: DDC/CI control tool 0.3\n" -"Report-Msgid-Bugs-To: ddc...@li...\n" -"POT-Creation-Date: 2005-11-14 19:44+0100\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-02-21 12:49+0100\n" "PO-Revision-Date: 2005-11-18 21:28+0100\n" "Last-Translator: Radek Marcinkowski <ra...@cb...>\n" "Language-Team: Polish\n" @@ -17,11 +17,12 @@ [...1233 lines suppressed...] "options.xml dbversion (%d) is greater than the supported version (%d).\n" msgstr "options.xml dbversion (%d) jest wy¿sze ni¿ suportowana wersja (%d).\n" -#: src/lib/monitor_db.c:754 +#: ../src/lib/monitor_db.c:764 #, c-format msgid "Please update ddccontrol program.\n" msgstr "" -#: src/lib/monitor_db.c:760 +#: ../src/lib/monitor_db.c:771 #, c-format msgid "options.xml dbversion (%d) is less than the supported version (%d).\n" msgstr "" -#: src/lib/monitor_db.c:761 +#: ../src/lib/monitor_db.c:772 #, c-format msgid "Please update ddccontrol database.\n" msgstr "" Index: ddccontrol.pot =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol/po/ddccontrol.pot,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- ddccontrol.pot 14 Nov 2005 18:48:21 -0000 1.18 +++ ddccontrol.pot 22 Feb 2006 13:27:07 -0000 1.19 @@ -1,5 +1,5 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Oleg I. Vdovikin and Nicolas Boichat +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: ddc...@li...\n" [...1232 lines suppressed...] "options.xml dbversion (%d) is greater than the supported version (%d).\n" msgstr "" -#: src/lib/monitor_db.c:754 +#: ../src/lib/monitor_db.c:764 #, c-format msgid "Please update ddccontrol program.\n" msgstr "" -#: src/lib/monitor_db.c:760 +#: ../src/lib/monitor_db.c:771 #, c-format msgid "options.xml dbversion (%d) is less than the supported version (%d).\n" msgstr "" -#: src/lib/monitor_db.c:761 +#: ../src/lib/monitor_db.c:772 #, c-format msgid "Please update ddccontrol database.\n" msgstr "" Index: zh_CN.po =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol/po/zh_CN.po,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- zh_CN.po 14 Nov 2005 18:48:21 -0000 1.3 +++ zh_CN.po 22 Feb 2006 13:27:07 -0000 1.4 @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: DDC/CI control tool cvs version 2005-11-12\n" -"Report-Msgid-Bugs-To: ddc...@li...\n" -"POT-Creation-Date: 2005-11-14 19:44+0100\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-02-21 12:49+0100\n" "PO-Revision-Date: 2005-11-12 15:50+0800\n" "Last-Translator: Wu Songhai wa...@21...\n" "Language-Team: Simple Chinese <LL...@li...>\n" @@ -15,11 +15,12 @@ [...1235 lines suppressed...] "options.xml dbversion (%d) is greater than the supported version (%d).\n" msgstr "options.xml çæ°æ®åºçæ¬ (%d) å¤§äºæ¯æççæ¬ (%d).\n" -#: src/lib/monitor_db.c:754 +#: ../src/lib/monitor_db.c:764 #, c-format msgid "Please update ddccontrol program.\n" msgstr "è¯·æ´æ°ddccontrolç¨åº.\n" -#: src/lib/monitor_db.c:760 +#: ../src/lib/monitor_db.c:771 #, c-format msgid "options.xml dbversion (%d) is less than the supported version (%d).\n" msgstr "options.xml çæ°æ®åºçæ¬ (%d) å°äºæ¯æççæ¬ (%d).\n" -#: src/lib/monitor_db.c:761 +#: ../src/lib/monitor_db.c:772 #, c-format msgid "Please update ddccontrol database.\n" msgstr "è¯·æ´æ°ddccontrolæ°æ®åº.\n" |
From: Nicolas B. <nbo...@us...> - 2006-02-22 13:25:57
|
Update of /cvsroot/ddccontrol/ddccontrol/src/ddccontrol In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32010 Modified Files: main.c Log Message: Update copyright string. Index: main.c =================================================================== RCS file: /cvsroot/ddccontrol/ddccontrol/src/ddccontrol/main.c,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- main.c 21 Sep 2005 20:45:37 -0000 1.27 +++ main.c 22 Feb 2006 13:25:49 -0000 1.28 @@ -1,7 +1,7 @@ /* ddc/ci command line tool Copyright(c) 2004 Oleg I. Vdovikin (ol...@cs...) - Copyright(c) 2004 Nicolas Boichat (ni...@bo...) + Copyright(c) 2004-2006 Nicolas Boichat (ni...@bo...) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -170,10 +170,10 @@ fprintf(stdout, _("ddccontrol version %s\n" - "Copyright 2005 Oleg I. Vdovikin (ol...@cs...) and Nicolas Boichat (ni...@bo...)\n" + "Copyright 2004-2005 Oleg I. Vdovikin (ol...@cs...)\n" + "Copyright 2004-2006 Nicolas Boichat (ni...@bo...)\n" "This program comes with ABSOLUTELY NO WARRANTY.\n" - "You may redistribute copies of this program under the terms of the GNU General Public License.\n\n"), - VERSION); + "You may redistribute copies of this program under the terms of the GNU General Public License.\n\n"), VERSION); while ((i=getopt(argc,argv, "hdr:w:csfvpb:i:")) >= 0) { |