From 67ef9f72fc35c7a3b11b9013962ce65cbdaf68c5 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Fri, 1 Feb 2019 20:33:10 -0500 Subject: [PATCH] network: Utilize image_id argument to initialize_before. We don't need to search for our own image_id, we already have it now, so just use it. --- src/kits/network/libnetapi/init.cpp | 20 +++++++------------- src/system/libnetwork/init.cpp | 21 +++++++-------------- 2 files changed, 14 insertions(+), 27 deletions(-) diff --git a/src/kits/network/libnetapi/init.cpp b/src/kits/network/libnetapi/init.cpp index cbe1fe0366..a554f90b0a 100644 --- a/src/kits/network/libnetapi/init.cpp +++ b/src/kits/network/libnetapi/init.cpp @@ -15,27 +15,21 @@ static void -find_own_image() +find_own_image(image_id id) { - int32 cookie = 0; image_info info; - while (get_next_image_info(B_CURRENT_TEAM, &cookie, &info) == B_OK) { - if (((addr_t)info.text <= (addr_t)find_own_image - && (addr_t)info.text + (size_t)info.text_size > (addr_t)find_own_image)) { - // found us - __gNetAPIStart = (addr_t)min_c(info.text, info.data); - __gNetAPIEnd = min_c((addr_t)info.text + info.text_size, - (addr_t)info.data + info.data_size); - break; - } + if (get_image_info(id, &info) == B_OK) { + __gNetAPIStart = (addr_t)min_c(info.text, info.data); + __gNetAPIEnd = min_c((addr_t)info.text + info.text_size, + (addr_t)info.data + info.data_size); } } extern "C" void -initialize_before(image_id) +initialize_before(image_id id) { // If in compatibility mode get our code address range. if (__gR5Compatibility) - find_own_image(); + find_own_image(id); } diff --git a/src/system/libnetwork/init.cpp b/src/system/libnetwork/init.cpp index 357f756235..983208ca82 100644 --- a/src/system/libnetwork/init.cpp +++ b/src/system/libnetwork/init.cpp @@ -24,26 +24,19 @@ addr_t __gNetAPIEnd; static void -find_own_image() +find_own_image(image_id id) { - int32 cookie = 0; image_info info; - while (get_next_image_info(B_CURRENT_TEAM, &cookie, &info) == B_OK) { - if (((addr_t)info.text <= (addr_t)find_own_image - && (addr_t)info.text + (addr_t)info.text_size - > (addr_t)find_own_image)) { - // found us - __gNetworkStart = (addr_t)min_c(info.text, info.data); - __gNetworkEnd = min_c((addr_t)info.text + info.text_size, - (addr_t)info.data + info.data_size); - break; - } + if (get_image_info(id, &info) == B_OK) { + __gNetworkStart = (addr_t)min_c(info.text, info.data); + __gNetworkEnd = min_c((addr_t)info.text + info.text_size, + (addr_t)info.data + info.data_size); } } extern "C" void -initialize_before(image_id) +initialize_before(image_id our_image) { // determine if we have to run in BeOS compatibility mode @@ -81,7 +74,7 @@ initialize_before(image_id) if (enable > 0) { __gR5Compatibility = true; - find_own_image(); + find_own_image(our_image); debug_printf("libnetwork.so running in R5 compatibility mode.\n"); return; }