find_directory.c, driver_settings.c: Converted to C++.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37256 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2010-06-25 13:40:51 +00:00
parent b3dc81b1c6
commit 85db3873a9
5 changed files with 46 additions and 39 deletions
+2 -2
View File
@@ -66,7 +66,7 @@ KernelStaticLibrary boot_loader :
vm.cpp
# libroot
driver_settings.c
driver_settings.cpp
# utils
kernel_cpp.cpp
@@ -102,7 +102,7 @@ SEARCH on [ FGristFiles KMessage.cpp ]
SEARCH on [ FGristFiles safemode_settings.cpp ]
= [ FDirName $(HAIKU_TOP) src system kernel debug ] ;
SEARCH on [ FGristFiles driver_settings.c ]
SEARCH on [ FGristFiles driver_settings.cpp ]
= [ FDirName $(HAIKU_TOP) src system libroot os ] ;
SEARCH on [ FGristFiles amiga_rdb.cpp ]
+4 -4
View File
@@ -5,16 +5,16 @@ UsePrivateHeaders shared ;
# kernel libroot os files
KernelMergeObject kernel_os_main.o :
driver_settings.c
find_directory.c
driver_settings.cpp
find_directory.cpp
fs_info.c
wait_for_objects.cpp
: $(TARGET_KERNEL_PIC_CCFLAGS)
;
SEARCH on [ FGristFiles
driver_settings.c
find_directory.c
driver_settings.cpp
find_directory.cpp
fs_info.c
wait_for_objects.cpp
] = [ FDirName $(HAIKU_TOP) src system libroot os ] ;
+2 -2
View File
@@ -11,8 +11,8 @@ MergeObject os_main.o :
area.c
atomic.c
debug.c
driver_settings.c
find_directory.c
driver_settings.cpp
find_directory.cpp
fs_attr.cpp
fs_index.c
fs_info.c
@@ -284,8 +284,8 @@ parse_parameter(struct driver_parameter *parameter, char **_pos, int32 level)
// enlarge value array and save the value
newArray = realloc(parameter->values, (parameter->value_count + 1)
* sizeof(char *));
newArray = (char**)realloc(parameter->values,
(parameter->value_count + 1) * sizeof(char *));
if (newArray == NULL)
return B_NO_MEMORY;
@@ -318,7 +318,7 @@ parse_parameters(struct driver_parameter **_parameters, int *_count,
if (status != NO_PARAMETER) {
driver_parameter *newParameter;
newArray = realloc(*_parameters, (*_count + 1)
newArray = (driver_parameter*)realloc(*_parameters, (*_count + 1)
* sizeof(struct driver_parameter));
if (newArray == NULL)
return B_NO_MEMORY;
@@ -395,10 +395,10 @@ free_settings(settings_handle *handle)
}
static void *
static settings_handle *
new_settings(char *buffer, const char *driverName)
{
settings_handle *handle = malloc(sizeof(settings_handle));
settings_handle *handle = (settings_handle*)malloc(sizeof(settings_handle));
if (handle == NULL)
return NULL;
@@ -506,7 +506,7 @@ put_string(char **_buffer, size_t *_bufferSize, char *string)
static bool
put_chars(char **_buffer, size_t *_bufferSize, char *chars)
put_chars(char **_buffer, size_t *_bufferSize, const char *chars)
{
char *buffer = *_buffer;
size_t length;
@@ -610,7 +610,8 @@ find_driver_settings(const char *name)
ASSERT_LOCKED_MUTEX(&sLock);
while ((handle = list_get_next_item(&sHandles, handle)) != NULL) {
while ((handle = (settings_handle*)list_get_next_item(&sHandles, handle))
!= NULL) {
if (!strcmp(handle->name, name))
return handle;
}
@@ -629,12 +630,13 @@ driver_settings_init(kernel_args *args)
list_init(&sHandles);
while (settings != NULL) {
settings_handle *handle = malloc(sizeof(settings_handle));
settings_handle *handle
= (settings_handle*)malloc(sizeof(settings_handle));
if (handle == NULL)
return B_NO_MEMORY;
if (settings->size != 0) {
handle->text = malloc(settings->size + 1);
handle->text = (char*)malloc(settings->size + 1);
if (handle->text == NULL) {
free(handle);
return B_NO_MEMORY;
@@ -746,7 +748,7 @@ load_driver_settings(const char *driverName)
if (!strcmp(settings->name, driverName)) {
// we have it - since the buffer is clobbered, we have to
// copy its contents, though
char *text = malloc(settings->size + 1);
char *text = (char*)malloc(settings->size + 1);
if (text == NULL)
return NULL;
@@ -845,7 +847,8 @@ parse_driver_settings_string(const char *settingsString)
// we simply copy the whole string to use it as our internal buffer
char *text = strdup(settingsString);
if (settingsString == NULL || text != NULL) {
settings_handle *handle = malloc(sizeof(settings_handle));
settings_handle *handle
= (settings_handle*)malloc(sizeof(settings_handle));
if (handle != NULL) {
handle->magic = SETTINGS_MAGIC;
handle->text = text;
@@ -903,9 +906,10 @@ get_driver_settings_string(void *_handle, char *buffer, size_t *_bufferSize,
Also returns "unknownValue" if the handle passed in was not valid.
*/
bool
get_driver_boolean_parameter(void *handle, const char *keyName,
get_driver_boolean_parameter(void *_handle, const char *keyName,
bool unknownValue, bool noArgValue)
{
settings_handle *handle = (settings_handle*)_handle;
driver_parameter *parameter;
char *boolean;
@@ -943,9 +947,10 @@ get_driver_boolean_parameter(void *handle, const char *keyName,
const char *
get_driver_parameter(void *handle, const char *keyName,
get_driver_parameter(void *_handle, const char *keyName,
const char *unknownValue, const char *noArgValue)
{
settings_handle* handle = (settings_handle*)_handle;
struct driver_parameter *parameter;
if (!check_handle(handle))
@@ -966,7 +971,7 @@ get_driver_parameter(void *handle, const char *keyName,
const driver_settings *
get_driver_settings(void *handle)
{
if (!check_handle(handle))
if (!check_handle((settings_handle*)handle))
return NULL;
return &((settings_handle *)handle)->settings;
@@ -975,5 +980,6 @@ get_driver_settings(void *handle)
// this creates an alias of the above function
// unload_driver_settings() is the same as delete_driver_settings()
extern __typeof(unload_driver_settings) delete_driver_settings __attribute__ ((alias ("unload_driver_settings")));
extern "C" __typeof(unload_driver_settings) delete_driver_settings
__attribute__((alias ("unload_driver_settings")));
@@ -151,7 +151,7 @@ find_directory(directory_which which, dev_t device, bool createIt,
struct stat st;
char *buffer = NULL;
char *home = NULL;
const char *template = NULL;
const char *templatePath = NULL;
/* as with the R5 version, no on-stack buffer */
buffer = (char *)malloc(pathLength);
@@ -196,14 +196,14 @@ find_directory(directory_which which, dev_t device, bool createIt,
/* Per volume directories */
case B_DESKTOP_DIRECTORY:
if (device == bootDevice || !strcmp(fsInfo.fsh_name, "bfs"))
template = "$h/Desktop";
templatePath = "$h/Desktop";
break;
case B_TRASH_DIRECTORY:
// TODO: eventually put that into the file system API?
if (device == bootDevice || !strcmp(fsInfo.fsh_name, "bfs"))
template = "trash"; // TODO: add suffix for current user
templatePath = "trash"; // TODO: add suffix for current user
else if (!strcmp(fsInfo.fsh_name, "fat"))
template = "RECYCLED/_BEOS_";
templatePath = "RECYCLED/_BEOS_";
break;
/* Haiku system directories */
@@ -223,7 +223,7 @@ find_directory(directory_which which, dev_t device, bool createIt,
case B_SYSTEM_MEDIA_NODES_DIRECTORY:
case B_SYSTEM_SOUNDS_DIRECTORY:
case B_SYSTEM_DATA_DIRECTORY:
template = kSystemDirectories[which - B_SYSTEM_DIRECTORY];
templatePath = kSystemDirectories[which - B_SYSTEM_DIRECTORY];
break;
/* Common directories, shared among users */
@@ -247,7 +247,7 @@ find_directory(directory_which which, dev_t device, bool createIt,
case B_COMMON_MEDIA_NODES_DIRECTORY:
case B_COMMON_SOUNDS_DIRECTORY:
case B_COMMON_DATA_DIRECTORY:
template = kCommonDirectories[which - B_COMMON_DIRECTORY];
templatePath = kCommonDirectories[which - B_COMMON_DIRECTORY];
break;
/* User directories */
@@ -265,18 +265,18 @@ find_directory(directory_which which, dev_t device, bool createIt,
case B_USER_SOUNDS_DIRECTORY:
case B_USER_DATA_DIRECTORY:
case B_USER_CACHE_DIRECTORY:
template = kUserDirectories[which - B_USER_DIRECTORY];
templatePath = kUserDirectories[which - B_USER_DIRECTORY];
break;
/* Global directories */
case B_APPS_DIRECTORY:
template = "apps";
templatePath = "apps";
break;
case B_PREFERENCES_DIRECTORY:
template = "preferences";
templatePath = "preferences";
break;
case B_UTILITIES_DIRECTORY:
template = "utilities";
templatePath = "utilities";
break;
default:
@@ -285,8 +285,8 @@ find_directory(directory_which which, dev_t device, bool createIt,
}
err = B_OK;
if (template) {
if (!strncmp(template, "$h", 2)) {
if (templatePath) {
if (!strncmp(templatePath, "$h", 2)) {
if (bootDevice > -1 && device != bootDevice) {
int l = pathLength - strlen(buffer);
if (l > 5)
@@ -312,13 +312,14 @@ find_directory(directory_which which, dev_t device, bool createIt,
home = "/boot/home";
strncpy(buffer, home, pathLength);
}
template += 2;
templatePath += 2;
} else
strlcat(buffer, "/", pathLength);
if (!err && strlen(buffer) + 2 + strlen(template) < (uint32)pathLength)
strcat(buffer, template);
else
if (!err && strlen(buffer) + 2 + strlen(templatePath)
< (uint32)pathLength) {
strcat(buffer, templatePath);
} else
err = err ? err : E2BIG;
} else
err = err ? err : ENOENT;