]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/common/icuplug.cpp
ICU-66108.tar.gz
[apple/icu.git] / icuSources / common / icuplug.cpp
index 2764ea5ee0560fb733f01b7471d12e6a5918e7fb..c6439cc819a3229f129d2f27bb946bc4d374efbf 100644 (file)
@@ -1,3 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
 /*
 ******************************************************************************
 *
 */
 
 #include "unicode/icuplug.h"
+
+
+#if UCONFIG_ENABLE_PLUGINS
+
+
 #include "icuplugimp.h"
 #include "cstring.h"
 #include "cmemory.h"
@@ -307,6 +314,9 @@ static void uplug_queryPlug(UPlugData *plug, UErrorCode *status) {
 
 
 static void uplug_loadPlug(UPlugData *plug, UErrorCode *status) {
+  if(U_FAILURE(*status)) {
+    return;
+  }
   if(!plug->awaitingLoad || (plug->level < UPLUG_LEVEL_LOW) ) {  /* shouldn't happen. Plugin hasn'tbeen loaded yet.*/
     *status = U_INTERNAL_PROGRAM_ERROR;
     return;
@@ -352,13 +362,11 @@ static UPlugData *uplug_allocateEmptyPlug(UErrorCode *status)
 
 static UPlugData *uplug_allocatePlug(UPlugEntrypoint *entrypoint, const char *config, void *lib, const char *symName,
                                      UErrorCode *status) {
-  UPlugData *plug;
-
+  UPlugData *plug = uplug_allocateEmptyPlug(status);
   if(U_FAILURE(*status)) {
     return NULL;
   }
 
-  plug = uplug_allocateEmptyPlug(status);
   if(config!=NULL) {
     uprv_strncpy(plug->config, config, UPLUG_NAME_MAX);
   } else {
@@ -870,3 +878,7 @@ uplug_init(UErrorCode *status) {
   gCurrentLevel = UPLUG_LEVEL_HIGH;
   ucln_registerCleanup(UCLN_UPLUG, uplug_cleanup);
 }
+
+#endif
+
+