From 20f9af53481ba97c6759e2febe449428618936ad Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Thu, 19 Oct 2006 10:01:03 +0000 Subject: * fhandler.h (fhandler_base::set_name): Make virtual. (class fhandler_registry): Add wow64 and prefix_len members. Declare set_name method. * fhandler_proc.cc (PROC_REGISTRY32): Define. (PROC_REGISTRY64): Define. (proc_listing): Add "registry32" and "registry64" elements. (proc_fhandlers): Add corresponding FH_REGISTRY values. * fhandler_registry.cc (registry_len): Drop static value in favor of class member prefix_len. Use preifx_len instead of registry_len throughout. (fhandler_registry::set_name): Define. Set wow64 and prefix_len according to directory prefix. (fhandler_registry::fhandler_registry): Set wow64 and prefix_len to default values. (open_key): Add wow64 argument. Handle wow64 in call to RegOpenKeyEx. Use fhandler_registry member wow64 in this place throughout. --- winsup/cygwin/fhandler.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'winsup/cygwin/fhandler.h') diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index 6103b432c..c740ecee9 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -139,7 +139,7 @@ class fhandler_base class fhandler_base *archetype; int usecount; - void set_name (path_conv &pc); + virtual void set_name (path_conv &pc); int error () const {return pc.error;} void set_error (int error) {pc.error = error;} bool exists () const {return pc.exists ();} @@ -1266,8 +1266,11 @@ class fhandler_registry: public fhandler_proc { private: char *value_name; + DWORD wow64; + int prefix_len; public: fhandler_registry (); + void set_name (path_conv &pc); int exists(); int readdir (DIR *, dirent *) __attribute__ ((regparm (3))); _off64_t telldir (DIR *); -- cgit v1.2.3