Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <003c01c0ff16$64446060$5d754789@edinstonehaven> From: "Keith Starsmeare" To: "cygwin" Subject: Can regtool be used to rename a key? Date: Wed, 27 Jun 2001 15:35:08 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 I'd like to be able to script a method of renaming a key. Is there a simple way of doing it using regtool? I couldn't figure it out, so I had a look at the source, but I've never programmed the registry before - so I'm naturally a little hesitant. I was hoping that there'd be a RegMoveKey or RegRenameKey similar to the RegDeleteKey, but no. The closest I could see in the MSDN was RegReplaceKey. Has anyone with any experience of registry programming got any advice (which you could email to me directly if there's the worry that discussing programming the registry if OT)? Also, as an aside, how do you recommend giving patches if you can't access the cvs server because I'm behind a firewall? I downloaded the file from the web site. Incidentally, is there a reason that regtool likes backslashes so much? They're a pain in the butt from the command line. I submit this wee tweak so that I could use slashes for the keys: *** regtool.cc Wed Jun 27 15:24:43 2001 --- regtool.cc.txt Wed Jun 27 15:16:22 2001 *************** *** 194,206 **** int i; if (*n == '/') translate (n); ! while ((*n == '\\') || (*n == '/')) n++; ! for (e = n; *e && *e != '\\' && *e != '/'; e++); ! if (*e == '/') ! c = '\\'; ! else ! c = *e; *e = 0; for (i = 0; wkprefixes[i].string; i++) if (strcmp (wkprefixes[i].string, n) == 0) --- 194,203 ---- int i; if (*n == '/') translate (n); ! while (*n == '\\') n++; ! for (e = n; *e && *e != '\\'; e++); ! c = *e; *e = 0; for (i = 0; wkprefixes[i].string; i++) if (strcmp (wkprefixes[i].string, n) == 0) Cheers Keith -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/