Changeset 55
- Timestamp:
- Sep 26, 2024, 3:38:04 AM (11 months ago)
- Location:
- rxuls/trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
rxuls/trunk/Makefile
r46 r55 20 20 BL_DESC = "REXX Universal Language Support functions" 21 21 BL_VENDOR = "Alex Taylor" 22 BL_VERSION = "0.6. 2"22 BL_VERSION = "0.6.3" 23 23 24 24 -
rxuls/trunk/rxuls.c
r46 r55 66 66 67 67 #define SZ_LIBRARY_NAME "RXULS" // Name of this library 68 //#define SZ_ERROR_NAME "ULSERR" // REXX variable used to store error codes 68 //#define SZ_ERROR_NAME "ULSERR" // REXX variable used to store error codes - now defined in Makefile 69 69 70 70 #define US_VERSION_MAJOR 0 // Major version number of this library 71 71 #define US_VERSION_MINOR 6 // Minor version number of this library 72 #define US_VERSION_REFRESH 2// Refresh level of this library72 #define US_VERSION_REFRESH 3 // Refresh level of this library 73 73 74 74 #define US_CPSPEC_MAXZ 72 // Maximum length of a conversion specifier … … 750 750 AttrObject attrib; // attribute object 751 751 LocaleObject locale; // handle to the requested locale 752 UniChar suChar[ 2 ], // input UniChar (as string) 753 *psuOffset, 752 UniChar *psuChar, // input character as Unicode 754 753 *psuAttrib; // name of the requested attribute 755 PSZ pszOffset;756 754 ULONG ulSourceCP = 0, // source codepage number 757 755 ulRC = 0; // return code 758 size_t stInLen,759 stOutLen,760 stSubs;761 756 762 757 … … 790 785 UCS_ENDIAN_SYSTEM, CONTROLS_MAP_DATA, DBCS_PATH_NO, 0 ); 791 786 if ( ulRC == ULS_SUCCESS ) { 792 memset( suChar, 0, sizeof(suChar) ); 793 if ( ulSourceCP == 1200 ) { 794 // Input text is already UCS-2; parse it directly as such 795 suChar[ 0 ] = UNICHARFROM2BYTES( argv[0].strptr[0], argv[0].strptr[1] ); 796 } else { 797 // Convert the input text to UCS-2 798 stInLen = argv[0].strlength; 799 stOutLen = 2; 800 stSubs = 0; 801 pszOffset = argv[0].strptr; 802 psuOffset = suChar; 803 ulRC = UniUconvToUcs( uconvCP, (PPVOID) &pszOffset, &stInLen, &psuOffset, &stOutLen, &stSubs ); 804 if ( ulRC != ULS_SUCCESS ) { 805 WriteErrorCode( ulRC, "UniUconvToUcs"); 806 SaveResultString( prsResult, NULL, 0 ); 807 } 808 } 809 810 if ( ulRC == ULS_SUCCESS ) { 787 788 // Convert the input character into Unicode if necessary 789 if ( InputStringToUnicode( argv[0], &psuChar, uconvCP, ulSourceCP )) { 790 811 791 // Convert the requested attribute name into UCS-2 812 792 psuAttrib = (UniChar *) calloc( argv[1].strlength + 1, sizeof(UniChar) ); … … 818 798 819 799 // Now do the query and return the result 820 if ( UniQueryCharAttr( attrib, suChar[0] ) == 0 ) {800 if ( UniQueryCharAttr( attrib, psuChar[0] ) == 0 ) { 821 801 SaveResultString( prsResult, PSZ_ZERO, 1 ); 822 802 } else { … … 835 815 } 836 816 if ( psuAttrib ) free( psuAttrib ); 817 free( psuChar ); 837 818 } 838 819 UniFreeUconvObject( uconvCP ); -
rxuls/trunk/rxuls.def
r46 r55 1 1 LIBRARY RXULS INITINSTANCE TERMINSTANCE 2 2 DATA MULTIPLE NONSHARED 3 DESCRIPTION '@#Alex Taylor:0.6. 1#@##1## 4 Apr 2018 12:50:08 REINFORCE::::::@@REXX Universal Language Support functions'3 DESCRIPTION '@#Alex Taylor:0.6.3#@##1## 20 Sep 2024 08:48:06 VM-ArcaOS5::::::@@REXX Universal Language Support functions' 4 4 5 5 EXPORTS ULSLoadFuncs
Note:
See TracChangeset
for help on using the changeset viewer.