CVS log for xc/programs/Xserver/hw/xfree86/parser/Files.c
Request diff between arbitrary revisions
63. Fix a case where X server audit messages do not get printed (David Dawes). 62. Initialise the allocator even earlier in the X server startup, and use it for the logging functions (David Dawes). 61. Parser option handling cleanups/fixes: - Ensure that option data is allocated by the parser, rather than externally allocated or static. - Free replaced option data. - Make xf86ParseOption's handling of multiple options of the same name consistent with all other cases (last occurrence is used). - Fix a bug in the handling of the Keyboard section "xleds" keyword. (David Dawes).
38. Fix minor formatting glitch in generated XF86Config files (Marc La France). 37. Add a definition for EFI PCI ROM images (Marc La France). 36. Further refinements to the emulation of VGA routing through Simba bridges (Marc La France). 35. Change trident driver to not wait for vertical retrace on PC98 systems (Satoshi Kimura). 34. Add screen-to-screen copy, solid fill and CPU-to-screen colour expansion acceleration to the suncg6 driver (Michael Macallan). 33. Cause GCC to warn about format string problems even in modules, and fix the warnings that result (Marc La France). 32. Fix buglet in the decoding of I/O forwarding by Cardbus bridges (Marc La France). 31. Fix buglet relating to the forwarding of 64-bit memory addresses by PCI-to-PCI bridges on 32-bit systems (Marc La France). 30. Don't call a screen's PointerMoved entry if a DGA mode is active on that screen (Marc La France). 29. Allow a static server's -configure to generate an XF86Config for the loadder server (Marc La France).
283. First phase of dynamic configuration (David Dawes, S. Lussos, Michael Dawes, J. D. Darling, X-Oz Technologies).
257. Automatic configuration updates, including: - Modify the parser/config support to allow multiple configuration sources to be combined. - Modify the parser/config support to allow multiple ServerFlags, Files, and Module sections. - Allow the automatically-generated configuration to be appended to a partial static configuration. - Use a more complete set of the probed EDID information in determining the monitor parameters. - Add a "preferred" mode type, which can be obtained from the probed EDID information or from the configuration. - Some parser interface cleanups. (David Dawes, X-Oz Technologies).
802. Licence update. (except client-side libraries)
Add/update copyright and license notices.
Almost revert patch that added EOL_TOKEN, now everything is handled in scan.c. Thanks to David Dawes for suggesting a very simpler way to handle comments. The addition of EOL_TOKEN had it's merits, but it is better to have the libxf68config parser completely backwards compatible, and the previous patch showed some problems when reading XF86Config files generated by hand. It doesn't always generate an identical file when writting back some files generated by hand, but no comments/contents are lost, and, once the file is written one time with libxf86config, subsequent reads and writes will generate the same contents.
o Added a new EOL_TOKEN to the parser, that is generated every time a new line is read from the config file, and most times just ignored, but is useful for configurations that may wish to know if all options are in the same line. o This patch also doesn't allow '#' in identifiers, before the patch, the parser could get confused with input like "EndSection# comment". o Fix potencial problem in xf86cfg, when changing inplace an option value, it was also freeing it's comment but not setting the comment field to NULL. This is the second version of a patch to fix a problem described by Mike Harris: -- For example, if the original file contains: # If you'd like to switch the positions of your capslock and # control keys, use: # Option "XkbOptions" "ctrl:nocaps" #Option "XkbOptions" "" Identifier "Keyboard0" Driver "keyboard" Option "XkbRules" "xfree86" Option "XkbModel" "pc105" Option "XkbLayout" "us" #Option "XkbVariant" "" After reading in with libxf86config and writing back out, it looks like: # If you'd like to switch the positions of your capslock and # control keys, use: # Option "XkbOptions" "ctrl:nocaps" #Option "XkbOptions" "" Identifier "Keyboard0" Driver "keyboard" Option "XkbRules" "xfree86" Option "XkbModel" "pc105" Option "XkbLayout" "us" #Option "XkbVariant" "" The '#Option "XkbVariant" ""' part moved to the previous line. -- Note that comments aren't guaranteed to be restored to the exact format before being read by libxf86config, particularly, if an explanation should be done for a given section, the comment must be inside the section, for example: -- # comment Section "InputDevice" ... -- when saving the file with libxf86config, '# comment' will be placed in the start of the file, while: -- Section "InputDevice" # comment ... -- will be correctly restored.
319. Moved LdPreLib define after the vendor/OS specific config files as it may depend on setting done there (Egbert Eich). 318. Several fixes for cross compile environment (Egbert Eich). 317. Added code to allow for building of static only libraries with -fPIC for platforms which require it (Egbert Eich). 316. Added '-m32' to gcc flags as default for ia32 builds when gcc version is >= 3.1. This allows building a 32 bit Version of X on 64bit x86-64 (Egbert Eich). 315. Changed direct calls of ld to 'gcc -nostdlib' for Linux (Egbert Eich). 314. Changed calls to as to 'gcc -c -x assembler-with-cpp' for Linux (Egbert Eich). 313. Added '-fno-strict-aliasing' flag to gcc version >= 3.1 (Egbert Eich). Strict requires that one address must not contain pointers to different types - a feature heavily used by X (Egbert Eich). 312. Fixed a core dump problem in libXtt (?) (Egbert Eich). 311. Removed '#pragma pack' from structures that contain function pointers in x86emu. This causes problems on gcc 3.1 for ia64 (Egbert Eich). 310. Added defines for missing X types to saverproto.h (Egbert Eich). 309. Fixed compiler warings generated by gcc >= 3.1 in mesa drivers (Egbert Eich). 308. For platforms that allow both 32 and 64 bit libraries to be executed split Xlib i18n modules path into <libpath>/X11R6/lib/X11/locale/lib/common and <libpath>/X11R6/lib/X11/locale/lib64/common. 'lib64' has been defined to be the default path for 64bit shared libraries on these platforms (Egbert Eich). 307. Fixed obvious typo in OMlib (Egbert Eich). 306. Fixed code in cfb that didn't comply with C sequence rules. Modern C compilers tend to be more aggressive on code reordering (Egbert Eich). 305. Changed arguments of NoopDDA() from VarArgs to void. Handling of VarArgs by gcc isn't compatible with the way it was used on certain platforms (Egbert Eich). 304. Added support for 32bit pixmaps for 24bit overlay framebuffers in fb overlay code (Egbert Eich). 303. Fixed kdrive to print a meaningful error message instead of just core dump when no matching graphics cards is found (Egbert Eich). 302. fixed portability bug in xwd (Andreas Schwab <email@example.com>) 301. fixed X Server crash, which happended each time a proportional iso10646 font was loaded with xtt backend (Yong Li <firstname.lastname@example.org>) 300. Added some ARM specific fixes to compiler.h (Uli Hecht). 299. Added a virtual 'dummy' driver (Egbert Eich). 298. Fixed core dump when certain access functions are not set in xf86Bus.c (Egbert Eich). 297. Fixed problem where SIGIO could be disabled after a server reset. 296. Added configurable list of devices the xf86Misc extension is allowed to change the mouse device to (Egbert Eich). 295. Changed default mouse type to 'auto' when generating config file with '-configure' (Egbert Eich). 294. Made sure keyboard modifier settings are consistent after exit from DGA when the xkb extension is used (Egbert Eich). 293. Disabled keyboard processing when Xserver is suspended by power management. This allows effective locking of laptops when stolen (Egbert Eich). 292. Added/improved options for lockfile syncing (Egbert Eich). 291. Added support for backup copy of Xserver logfile (Egbert Eich). 290. Fixed GetTimeInMillis() to use deltas instead of absolute time returend by gettimeofday(). This ensures time is monotonic in X (Egbert Eich). 289. Fixed xf86Misc extension to allow modification of Expps2 mice (Egbert Eich). 288. Made code in xf86MiscExt.c more readable (Egbert Eich). 287. Fixed PCI CardBus bridge handling (Egbert Eich). 286. Added code to reenable PCI bus mastering after coming back from a VT switch to radeon driver (Charl P. Botha <http://cpbotha.net/>) (Egbert Eich). 285. Dito for r128 driver (M. Harris). 284. Dito for glint and mga driver (Egbert Eich). 283. Fixed double scan issues for low res modes in C&T driver (Egbert Eich). 282. Set rgbBits to 8 for all HiQV chips in chips driver (Egbert Eich). 281. Moved initialization of accel funtions past initialization of offscreen fb manager in chips driver (Egbert Eich). 280. Fixed initialization of video in chips driver (?). 279. Fixed HALlib problem restoring text mode on G550 (Egbert Eich). 278. Restructured and included Matrox's Merged Framebuffer changes to mga driver (Egbert Eich). 277. G450/550 clockchip programming fixes (Matrox). 276. Fixed HW Cursor for HALlib frame granularity (Egbert Eich). 275. Enabling 2D accel in 24-bit for neomagic 2360 and 2380 (Egbert Eich). 274. Added support for builtin 1024x480 mode of Sony subnotebooks for Neomagic driver (Egbert Eich). 273. Fixed support for lowRes (320x240) modes in neomagic driver (Egbert Eich). 272. Fixed RAC function registration in S3 driver (Egbert Eich). 271. Added some voodoo to screen initialization of S3 driver (Egbert Eich). 270. Fixed vbe/int10 support in SMI driver. It used to core dump when BIOS was not usable (Egbert Eich). 269. Separated BRIGHTNESS and and CAPTURE_BRIGNTESS video attributes in smi driver: CAPTURE_BRIGHTNESS refers to the capture chip (ie. Philips SAA7110) while BRIGHTNESS controls the video overlay of the SMI chip itself (Egbert Eich). 268. Disable automatic loading of DRI when running SUN ffb as this is inconsistent with other drivers (Thorsten Kukuk). 267. Fixed Gamma/Brightness code in trident driver (Egbert Eich). 266. Added FpDelay debugging option (Egbert Eich). 260. Fixed video support for Trident 9397 (Egbert Eich). 265. Fixed Cursor/VT switch support for vmware driver (Egbert Eich). 264. Fixed Blit problems in vmware driver when running KDE (Egbert Eich). 263. Added RENDER support to vmware driver (Egbert Eich). 262. Added C&T 69030 to extrapci.ids (Egbert Eich). 261. Improved mouse autodetection code (Egbert Eich). 260. Restructured int10 code so that vm86 and x86emu support can be loaded as modules. Implemented heuristic to try vm86 first and fall back to x86emu. This allows 32 bit Xservers to run on x86_64 on 64-bit kernel without vm86 support (Egbert Eich). 259. Restructured elf loader: determine which section to load from elfheader flags (Egbert Eich). 258. Adding RENDER Support to RAC (Egbert Eich). 257. Using borderClip instead of borderSize region for redisplay function in miext/shadow code to avoid core dumps when vt switched away (Egbert Eich). 256. Replacing sprintf() by snprintf() in lbxproxy to eliminate possible buffer overrun exploits (Egbert Eich). 255. KP_Decimal fixes to Czech and Slovak keybards (Jan Holesovsky <email@example.com>) (Egbert Eich).
178. Fix some more mi build warnings (David Dawes). 177. Fix some mi build warnings (#4716-4719,4721-4724, Adam Sulmicki). 176. Port for Linux/SuperH (Jornada680/690 and SEGA Dreamcast) (#4680, 4681, ISHIKAWA Mutsumi). 175. Support for mouse wheel emulation (#A.506, Henry T. So).
Added code to free memory allocated for comments. I add code for the new *_comment fields, but most of the old ones were not being released. I wrote a preliminar code to save comments location, and this way, rewrite XF86Config as close as possibile to the original version; but I prefer to use the current version, and follow KISS rules.
These changes should make the parser behaviour identical do before my previous commit and still keep saving comments.
Summary: Changed parser to read and restore comments. Basically it will save all global comments and when rewriting the file, write then at the top of the file. Example: -- # comment Section .. -- is correctly written, but -- # comment 1 Section ... # comment 2 -- is written back as: -- # comment 1 # comment 2 Section ... -- the same happens to comments inside a section. Comments for "Option", "Load" (Section Modules), "LoadDriver" (Section Modules), and "Buffers" (Section DRI) will be appended to the end of the line. Notes: o When the token COMMENT is returned, val.str is not a newly allocated string, so it should be used as an argument to xf86addComment. o Comments generated by xf86addComment are guaranteed to start with '#', with optional leading ' ' or '\t', and also guaranteed to end with an '\n'. o xf86parseOption and xf86printOptionList are helper functions, to avoid too much duplicated code, and also correctly handle comments for options. Wishlist: o It could also be written in a new way, to save from where a global comment came, so that it can be restored "before" printing the associated "Section". The same may be done inside "Section"s. o It may be also be changed to store comments like: Identifier "ident" # some comment but that would require a comment field for every structure field. o It may even be changed to add blank lines as comments, but would need the previous wishlists implemented.
775. Pass depth/bpp correctly, scan all fb devices, misc fb fixes. (#4179, Michel Danzer). 774. Add generic Vesa driver, fixes for xf86cfg plus changes to parser to reflect xf86cfg changes (#4174,#4175, Paulo Cesar Pereira de Andrade).
Allow the parser to have 'one' line comments with the '###' prefix in the majority of sections.
rework the config file searching and allow "safe" relative paths to be specified by non-root users. Fix the XINPUT mouse map change
Enable the new input code (NewInput) by default in xfree86.cf. Add compatibilty support for interpreting "Pointer" sections as "InputDevice" sections in the reworked input device code.
Some PCI updates and some x*alloc casting cleanups
First pass merge of xc/programs/Xserver/hw/xfree86
new parser and first attempts to use it
file Files.c was initially added on branch xf-3_9j-branch.