From 289ddff1ad6882edcb7b36db139e46f13c2c8bda Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Thu, 14 Jun 2007 08:03:21 +0000 Subject: create ->is_modified and internalize in the raw_X object the handling of saying wether it is modified --- lib/Xconfig/xfree.pm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'lib/Xconfig/xfree.pm') diff --git a/lib/Xconfig/xfree.pm b/lib/Xconfig/xfree.pm index 8089f12..519f2ea 100644 --- a/lib/Xconfig/xfree.pm +++ b/lib/Xconfig/xfree.pm @@ -21,11 +21,11 @@ sub _conf_files() { ################################################################################ # I/O ########################################################################## ################################################################################ -sub read_and_prepare_write { +sub read { my ($class) = @_; my $file = find { -f $_ } _conf_files(); my $raw_X = $class->new(Xconfig::parse::read_XF86Config($file)) or return; - my $before = $raw_X->prepare_write; + $raw_X->{before} = $raw_X->prepare_write; if (my ($keyboard) = $raw_X->get_InputDevices('keyboard')) { $keyboard->{Driver}{val} = 'kbd'; @@ -45,11 +45,7 @@ sub read_and_prepare_write { $_->{Driver} && $_->{Driver}{val} eq 'i810' and $_->{Driver}{val} = 'intel'; } - $raw_X, $before; -} -sub read { - my ($class) = @_; - first(read_and_prepare_write($class)); + $raw_X; } sub write { my ($raw_X, $o_file) = @_; @@ -73,6 +69,10 @@ sub prepare_write { set_Revision($raw_X); join('', Xconfig::parse::prepare_write_XF86Config($raw_X->{raw})); } +sub is_modified { + my ($raw_X) = @_; + $raw_X->{before} ne $raw_X->prepare_write; +} sub empty_config { my ($class) = @_; $class->new(Xconfig::parse::read_XF86Config_from_string(our $default_header)); -- cgit v1.2.1