Index: icu46/source/common/ucnv_set.c |
=================================================================== |
--- icu46/source/common/ucnv_set.c (revision 0) |
+++ icu46/source/common/ucnv_set.c (revision 0) |
@@ -0,0 +1,68 @@ |
+/* |
+******************************************************************************* |
+* |
+* Copyright (C) 2003-2007, International Business Machines |
+* Corporation and others. All Rights Reserved. |
+* |
+******************************************************************************* |
+* file name: ucnv_set.c |
+* encoding: US-ASCII |
+* tab size: 8 (not used) |
+* indentation:4 |
+* |
+* created on: 2004sep07 |
+* created by: Markus W. Scherer |
+* |
+* Conversion API functions using USet (ucnv_getUnicodeSet()) |
+* moved here from ucnv.c for removing the dependency of other ucnv_ |
+* implementation functions on the USet implementation. |
+*/ |
+ |
+#include "unicode/utypes.h" |
+#include "unicode/uset.h" |
+#include "unicode/ucnv.h" |
+#include "ucnv_bld.h" |
+#include "uset_imp.h" |
+ |
+#if !UCONFIG_NO_CONVERSION |
+ |
+U_CAPI void U_EXPORT2 |
+ucnv_getUnicodeSet(const UConverter *cnv, |
+ USet *setFillIn, |
+ UConverterUnicodeSet whichSet, |
+ UErrorCode *pErrorCode) { |
+ /* argument checking */ |
+ if(pErrorCode==NULL || U_FAILURE(*pErrorCode)) { |
+ return; |
+ } |
+ if(cnv==NULL || setFillIn==NULL || whichSet<UCNV_ROUNDTRIP_SET || UCNV_SET_COUNT<=whichSet) { |
+ *pErrorCode=U_ILLEGAL_ARGUMENT_ERROR; |
+ return; |
+ } |
+ |
+ /* does this converter support this function? */ |
+ if(cnv->sharedData->impl->getUnicodeSet==NULL) { |
+ *pErrorCode=U_UNSUPPORTED_ERROR; |
+ return; |
+ } |
+ |
+ { |
+ USetAdder sa={ |
+ NULL, |
+ uset_add, |
+ uset_addRange, |
+ uset_addString, |
+ uset_remove, |
+ uset_removeRange |
+ }; |
+ sa.set=setFillIn; |
+ |
+ /* empty the set */ |
+ uset_clear(setFillIn); |
+ |
+ /* call the converter to add the code points it supports */ |
+ cnv->sharedData->impl->getUnicodeSet(cnv, &sa, whichSet, pErrorCode); |
+ } |
+} |
+ |
+#endif |
Property changes on: icu46/source/common/ucnv_set.c |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |