LCOV - code coverage report
Current view: top level - intl/icu/source/i18n - ucln_in.cpp (source / functions) Hit Total Coverage
Test: output.info Lines: 0 14 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 2 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : // © 2016 and later: Unicode, Inc. and others.
       2             : // License & terms of use: http://www.unicode.org/copyright.html
       3             : /*
       4             : ******************************************************************************
       5             : *                                                                            *
       6             : * Copyright (C) 2001-2014, International Business Machines                   *
       7             : *                Corporation and others. All Rights Reserved.                *
       8             : *                                                                            *
       9             : ******************************************************************************
      10             : *   file name:  ucln_in.cpp
      11             : *   encoding:   UTF-8
      12             : *   tab size:   8 (not used)
      13             : *   indentation:4
      14             : *
      15             : *   created on: 2001July05
      16             : *   created by: George Rhoten
      17             : */
      18             : 
      19             : #include "ucln.h"
      20             : #include "ucln_in.h"
      21             : #include "mutex.h"
      22             : #include "uassert.h"
      23             : 
      24             : /**  Auto-client for UCLN_I18N **/
      25             : #define UCLN_TYPE UCLN_I18N
      26             : #include "ucln_imp.h"
      27             : 
      28             : /* Leave this copyright notice here! It needs to go somewhere in this library. */
      29             : static const char copyright[] = U_COPYRIGHT_STRING;
      30             : 
      31             : static cleanupFunc *gCleanupFunctions[UCLN_I18N_COUNT];
      32             : 
      33           0 : static UBool U_CALLCONV i18n_cleanup(void)
      34             : {
      35           0 :     int32_t libType = UCLN_I18N_START;
      36             :     (void)copyright;   /* Suppress unused variable warning with clang. */
      37             : 
      38           0 :     while (++libType<UCLN_I18N_COUNT) {
      39           0 :         if (gCleanupFunctions[libType])
      40             :         {
      41           0 :             gCleanupFunctions[libType]();
      42           0 :             gCleanupFunctions[libType] = NULL;
      43             :         }
      44             :     }
      45             : #if !UCLN_NO_AUTO_CLEANUP && (defined(UCLN_AUTO_ATEXIT) || defined(UCLN_AUTO_LOCAL))
      46             :     ucln_unRegisterAutomaticCleanup();
      47             : #endif
      48           0 :     return TRUE;
      49             : }
      50             : 
      51           0 : void ucln_i18n_registerCleanup(ECleanupI18NType type,
      52             :                                cleanupFunc *func) {
      53           0 :     U_ASSERT(UCLN_I18N_START < type && type < UCLN_I18N_COUNT);
      54             :     {
      55           0 :         icu::Mutex m;   // See ticket 10295 for discussion.
      56           0 :         ucln_registerCleanup(UCLN_I18N, i18n_cleanup);
      57           0 :         if (UCLN_I18N_START < type && type < UCLN_I18N_COUNT) {
      58           0 :             gCleanupFunctions[type] = func;
      59             :         }
      60             :     }
      61             : #if !UCLN_NO_AUTO_CLEANUP && (defined(UCLN_AUTO_ATEXIT) || defined(UCLN_AUTO_LOCAL))
      62             :     ucln_registerAutomaticCleanup();
      63             : #endif
      64           0 : }
      65             : 

Generated by: LCOV version 1.13