From: Braden M. <br...@us...> - 2007-03-13 04:26:09
|
Update of /cvsroot/openvrml/openvrml/src/openvrml-player In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv8690/src/openvrml-player Modified Files: Tag: OpenVRML-0_16-BRANCH player.cpp Log Message: Use GLib-style return-if-fail macros for most of libcurl error handling. Index: player.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/openvrml-player/player.cpp,v retrieving revision 1.1.2.13 retrieving revision 1.1.2.14 diff -C2 -d -r1.1.2.13 -r1.1.2.14 *** player.cpp 10 Feb 2007 04:31:44 -0000 1.1.2.13 --- player.cpp 13 Mar 2007 04:26:08 -0000 1.1.2.14 *************** *** 129,132 **** --- 129,156 ---- } + # define OPENVRML_PLAYER_CURL_EASY_RETURN_VAL_IF_ERROR(code, val) \ + if G_LIKELY((code) == CURLE_OK) {} else { \ + g_return_if_fail_warning(G_LOG_DOMAIN, \ + __PRETTY_FUNCTION__, \ + curl_easy_strerror(code)); \ + return (val); \ + } + + # define OPENVRML_PLAYER_CURL_MULTI_RETURN_IF_ERROR(code) \ + if G_LIKELY((code) == CURLM_OK) {} else { \ + g_return_if_fail_warning(G_LOG_DOMAIN, \ + __PRETTY_FUNCTION__, \ + curl_multi_strerror(code)); \ + return; \ + } + + # define OPENVRML_PLAYER_CURL_MULTI_RETURN_VAL_IF_ERROR(code, val) \ + if G_LIKELY((code) == CURLM_OK) {} else { \ + g_return_if_fail_warning(G_LOG_DOMAIN, \ + __PRETTY_FUNCTION__, \ + curl_multi_strerror(code)); \ + return (val); \ + } + int main(int argc, char * argv[]) { *************** *** 427,433 **** &curl_source.exc_fds, &curl_source.max_fd); ! if (result != CURLM_OK) { ! g_critical("%s", curl_multi_strerror(result)); ! } if (curl_source.max_fd >= 0) { --- 451,455 ---- &curl_source.exc_fds, &curl_source.max_fd); ! OPENVRML_PLAYER_CURL_MULTI_RETURN_IF_ERROR(result); if (curl_source.max_fd >= 0) { *************** *** 603,610 **** curl_multi_remove_handle(curl_source->multi_handle, easy_handle); ! if (multi_remove_result != CURLM_OK) { ! g_critical("%s", curl_multi_strerror(multi_remove_result)); ! } ! curl_easy_cleanup(easy_handle); } --- 625,635 ---- curl_multi_remove_handle(curl_source->multi_handle, easy_handle); ! OPENVRML_PLAYER_CURL_MULTI_RETURN_VAL_IF_ERROR(multi_remove_result, ! false); ! // ! // If we get an error from curl_multi_remove_handle, the cleanup ! // won't happen; but that's probably safer than trying to go ahead ! // and do the cleanup in that case. ! // curl_easy_cleanup(easy_handle); } *************** *** 664,683 **** setopt_result = curl_easy_setopt(handle, CURLOPT_URL, stream_data.url()); ! if (setopt_result != CURLE_OK) { ! g_critical("%s", curl_easy_strerror(setopt_result)); ! return false; ! } setopt_result = curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, openvrml_player_curl_write); ! if (setopt_result != CURLE_OK) { ! g_critical("%s", curl_easy_strerror(setopt_result)); ! return false; ! } setopt_result = curl_easy_setopt(handle, CURLOPT_WRITEDATA, &stream_data); ! g_assert(setopt_result == CURLE_OK); CURLSource * const curl_source = --- 689,702 ---- setopt_result = curl_easy_setopt(handle, CURLOPT_URL, stream_data.url()); ! OPENVRML_PLAYER_CURL_EASY_RETURN_VAL_IF_ERROR(setopt_result, false); setopt_result = curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, openvrml_player_curl_write); ! OPENVRML_PLAYER_CURL_EASY_RETURN_VAL_IF_ERROR(setopt_result, false); setopt_result = curl_easy_setopt(handle, CURLOPT_WRITEDATA, &stream_data); ! OPENVRML_PLAYER_CURL_EASY_RETURN_VAL_IF_ERROR(setopt_result, false); CURLSource * const curl_source = *************** *** 688,695 **** const CURLMcode add_handle_result = curl_multi_add_handle(curl_source->multi_handle, handle); ! if (add_handle_result != CURLM_OK) { ! g_critical("%s", curl_multi_strerror(add_handle_result)); ! return false; ! } ++curl_source->outstanding_handles; std::ostringstream command; --- 707,712 ---- const CURLMcode add_handle_result = curl_multi_add_handle(curl_source->multi_handle, handle); ! OPENVRML_PLAYER_CURL_MULTI_RETURN_VAL_IF_ERROR(add_handle_result, ! false); ++curl_source->outstanding_handles; std::ostringstream command; |