From 773255ba504201e5ec1c34dbe30f40fd2bc0447d Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Tue, 25 May 2010 00:04:13 +0200 Subject: s3:registry: rename reg_util.{c,h} to reg_util_internal.{c,h} --- source3/Makefile.in | 2 +- source3/registry/reg_api.c | 2 +- source3/registry/reg_backend_current_version.c | 2 +- source3/registry/reg_backend_db.c | 2 +- source3/registry/reg_backend_perflib.c | 2 +- source3/registry/reg_backend_printing.c | 2 +- source3/registry/reg_util.c | 162 ------------------------- source3/registry/reg_util.h | 29 ----- source3/registry/reg_util_internal.c | 162 +++++++++++++++++++++++++ source3/registry/reg_util_internal.h | 29 +++++ 10 files changed, 197 insertions(+), 197 deletions(-) delete mode 100644 source3/registry/reg_util.c delete mode 100644 source3/registry/reg_util.h create mode 100644 source3/registry/reg_util_internal.c create mode 100644 source3/registry/reg_util_internal.h diff --git a/source3/Makefile.in b/source3/Makefile.in index 7acbbbc536..51e971dddf 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -589,7 +589,7 @@ REG_BASE_OBJ = registry/reg_api.o \ registry/reg_cachehook.o \ $(REGFIO_OBJ) \ $(REGOBJS_OBJ) \ - registry/reg_util.o \ + registry/reg_util_internal.o \ $(UTIL_REG_API_OBJ) \ lib/util_nttoken.o \ $(REG_BACKENDS_BASE_OBJ) \ diff --git a/source3/registry/reg_api.c b/source3/registry/reg_api.c index 48d4b3dfd9..0eba8e0d01 100644 --- a/source3/registry/reg_api.c +++ b/source3/registry/reg_api.c @@ -66,7 +66,7 @@ #include "registry.h" #include "reg_cachehook.h" #include "regfio.h" -#include "reg_util.h" +#include "reg_util_internal.h" #include "reg_backend_db.h" #include "reg_dispatcher.h" diff --git a/source3/registry/reg_backend_current_version.c b/source3/registry/reg_backend_current_version.c index 3bc09eef5b..d5d1a496c0 100644 --- a/source3/registry/reg_backend_current_version.c +++ b/source3/registry/reg_backend_current_version.c @@ -26,7 +26,7 @@ #include "includes.h" #include "registry.h" -#include "reg_util.h" +#include "reg_util_internal.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_backend_db.c b/source3/registry/reg_backend_db.c index 472cef022b..3fb660032b 100644 --- a/source3/registry/reg_backend_db.c +++ b/source3/registry/reg_backend_db.c @@ -23,7 +23,7 @@ #include "includes.h" #include "registry.h" #include "reg_db.h" -#include "reg_util.h" +#include "reg_util_internal.h" #include "reg_backend_db.h" #undef DBGC_CLASS diff --git a/source3/registry/reg_backend_perflib.c b/source3/registry/reg_backend_perflib.c index f13c37ac2b..da9e8521a7 100644 --- a/source3/registry/reg_backend_perflib.c +++ b/source3/registry/reg_backend_perflib.c @@ -26,7 +26,7 @@ #include "includes.h" #include "registry.h" -#include "reg_util.h" +#include "reg_util_internal.h" #include "reg_perfcount.h" #undef DBGC_CLASS diff --git a/source3/registry/reg_backend_printing.c b/source3/registry/reg_backend_printing.c index 5c0bfc2833..92d7846bc9 100644 --- a/source3/registry/reg_backend_printing.c +++ b/source3/registry/reg_backend_printing.c @@ -21,7 +21,7 @@ #include "includes.h" #include "registry.h" -#include "reg_util.h" +#include "reg_util_internal.h" #include "reg_backend_db.h" #undef DBGC_CLASS diff --git a/source3/registry/reg_util.c b/source3/registry/reg_util.c deleted file mode 100644 index f815ffd5f2..0000000000 --- a/source3/registry/reg_util.c +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * Virtual Windows Registry Layer (utility functions) - * Copyright (C) Gerald Carter 2002-2005 - * - * 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 - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see . - */ - -/* Implementation of registry frontend view functions. */ - -#include "includes.h" -#include "registry.h" -#include "reg_util.h" - -#undef DBGC_CLASS -#define DBGC_CLASS DBGC_REGISTRY - -/*********************************************************************** - Utility function for splitting the base path of a registry path off - by setting base and new_path to the apprapriate offsets withing the - path. - - WARNING!! Does modify the original string! - ***********************************************************************/ - -bool reg_split_path(char *path, char **base, char **new_path) -{ - char *p; - - *new_path = *base = NULL; - - if (!path) { - return false; - } - *base = path; - - p = strchr(path, '\\'); - - if ( p ) { - *p = '\0'; - *new_path = p+1; - } - - return true; -} - -/*********************************************************************** - Utility function for splitting the base path of a registry path off - by setting base and new_path to the appropriate offsets withing the - path. - - WARNING!! Does modify the original string! - ***********************************************************************/ - -bool reg_split_key(char *path, char **base, char **key) -{ - char *p; - - *key = *base = NULL; - - if (!path) { - return false; - } - - *base = path; - - p = strrchr(path, '\\'); - - if (p) { - *p = '\0'; - *key = p+1; - } - - return true; -} - -/** - * The full path to the registry key is used as database key - * after the \'s are converted to /'s. - * Leading and trailing '/' and '\' characters are stripped. - * Key string is also normalized to UPPER case. - */ - -char *normalize_reg_path(TALLOC_CTX *ctx, const char *keyname ) -{ - char *p; - char *nkeyname; - - /* skip leading '/' and '\' chars */ - p = (char *)keyname; - while ((*p == '/') || (*p == '\\')) { - p++; - } - - nkeyname = talloc_string_sub(ctx, p, "\\", "/"); - if (nkeyname == NULL) { - return NULL; - } - - /* strip trailing '/' chars */ - p = strrchr(nkeyname, '/'); - while ((p != NULL) && (p[1] == '\0')) { - *p = '\0'; - p = strrchr(nkeyname, '/'); - } - - strupper_m(nkeyname); - - return nkeyname; -} - -/** - * normalize ther registry path in place. - */ -void normalize_dbkey(char *key) -{ - size_t len = strlen(key); - string_sub(key, "\\", "/", len+1); - strupper_m(key); -} - -/********************************************************************** - move to next non-delimter character -*********************************************************************/ - -char *reg_remaining_path(TALLOC_CTX *ctx, const char *key) -{ - char *new_path = NULL; - char *p = NULL; - - if (!key || !*key) { - return NULL; - } - - new_path = talloc_strdup(ctx, key); - if (!new_path) { - return NULL; - } - /* normalize_reg_path( new_path ); */ - if (!(p = strchr(new_path, '\\')) ) { - if (!(p = strchr( new_path, '/'))) { - p = new_path; - } else { - p++; - } - } else { - p++; - } - - return p; -} diff --git a/source3/registry/reg_util.h b/source3/registry/reg_util.h deleted file mode 100644 index 886e58cda1..0000000000 --- a/source3/registry/reg_util.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * Virtual Windows Registry Layer (utility functions) - * Copyright (C) Gerald Carter 2002-2005 - * - * 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 - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see . - */ - -#ifndef _REG_UTIL_H -#define _REG_UTIL_H - -bool reg_split_path(char *path, char **base, char **new_path); -bool reg_split_key(char *path, char **base, char **key); -char *normalize_reg_path(TALLOC_CTX *ctx, const char *keyname ); -void normalize_dbkey(char *key); -char *reg_remaining_path(TALLOC_CTX *ctx, const char *key); - -#endif /* _REG_UTIL_H */ diff --git a/source3/registry/reg_util_internal.c b/source3/registry/reg_util_internal.c new file mode 100644 index 0000000000..4cf8e2886b --- /dev/null +++ b/source3/registry/reg_util_internal.c @@ -0,0 +1,162 @@ +/* + * Unix SMB/CIFS implementation. + * Virtual Windows Registry Layer (utility functions) + * Copyright (C) Gerald Carter 2002-2005 + * + * 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 + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +/* Implementation of registry frontend view functions. */ + +#include "includes.h" +#include "registry.h" +#include "reg_util_internal.h" + +#undef DBGC_CLASS +#define DBGC_CLASS DBGC_REGISTRY + +/*********************************************************************** + Utility function for splitting the base path of a registry path off + by setting base and new_path to the apprapriate offsets withing the + path. + + WARNING!! Does modify the original string! + ***********************************************************************/ + +bool reg_split_path(char *path, char **base, char **new_path) +{ + char *p; + + *new_path = *base = NULL; + + if (!path) { + return false; + } + *base = path; + + p = strchr(path, '\\'); + + if ( p ) { + *p = '\0'; + *new_path = p+1; + } + + return true; +} + +/*********************************************************************** + Utility function for splitting the base path of a registry path off + by setting base and new_path to the appropriate offsets withing the + path. + + WARNING!! Does modify the original string! + ***********************************************************************/ + +bool reg_split_key(char *path, char **base, char **key) +{ + char *p; + + *key = *base = NULL; + + if (!path) { + return false; + } + + *base = path; + + p = strrchr(path, '\\'); + + if (p) { + *p = '\0'; + *key = p+1; + } + + return true; +} + +/** + * The full path to the registry key is used as database key + * after the \'s are converted to /'s. + * Leading and trailing '/' and '\' characters are stripped. + * Key string is also normalized to UPPER case. + */ + +char *normalize_reg_path(TALLOC_CTX *ctx, const char *keyname ) +{ + char *p; + char *nkeyname; + + /* skip leading '/' and '\' chars */ + p = (char *)keyname; + while ((*p == '/') || (*p == '\\')) { + p++; + } + + nkeyname = talloc_string_sub(ctx, p, "\\", "/"); + if (nkeyname == NULL) { + return NULL; + } + + /* strip trailing '/' chars */ + p = strrchr(nkeyname, '/'); + while ((p != NULL) && (p[1] == '\0')) { + *p = '\0'; + p = strrchr(nkeyname, '/'); + } + + strupper_m(nkeyname); + + return nkeyname; +} + +/** + * normalize ther registry path in place. + */ +void normalize_dbkey(char *key) +{ + size_t len = strlen(key); + string_sub(key, "\\", "/", len+1); + strupper_m(key); +} + +/********************************************************************** + move to next non-delimter character +*********************************************************************/ + +char *reg_remaining_path(TALLOC_CTX *ctx, const char *key) +{ + char *new_path = NULL; + char *p = NULL; + + if (!key || !*key) { + return NULL; + } + + new_path = talloc_strdup(ctx, key); + if (!new_path) { + return NULL; + } + /* normalize_reg_path( new_path ); */ + if (!(p = strchr(new_path, '\\')) ) { + if (!(p = strchr( new_path, '/'))) { + p = new_path; + } else { + p++; + } + } else { + p++; + } + + return p; +} diff --git a/source3/registry/reg_util_internal.h b/source3/registry/reg_util_internal.h new file mode 100644 index 0000000000..886e58cda1 --- /dev/null +++ b/source3/registry/reg_util_internal.h @@ -0,0 +1,29 @@ +/* + * Unix SMB/CIFS implementation. + * Virtual Windows Registry Layer (utility functions) + * Copyright (C) Gerald Carter 2002-2005 + * + * 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 + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +#ifndef _REG_UTIL_H +#define _REG_UTIL_H + +bool reg_split_path(char *path, char **base, char **new_path); +bool reg_split_key(char *path, char **base, char **key); +char *normalize_reg_path(TALLOC_CTX *ctx, const char *keyname ); +void normalize_dbkey(char *key); +char *reg_remaining_path(TALLOC_CTX *ctx, const char *key); + +#endif /* _REG_UTIL_H */ -- cgit