Advertisement
Guest User

Untitled

a guest
Apr 18th, 2014
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. type anon3115_anon3128_array is array (0 .. 8) of aliased SAP_UC;
  2. type anon3115_anon3131_array is array (0 .. 3) of aliased SAP_UC;
  3. type anon3115_anon3134_array is array (0 .. 12) of aliased SAP_UC;
  4.  
  5. type SAP_UC_Array is array (Int range <>) of aliased SAP_UC;
  6.  
  7. field : SAP_UC_Array(0 .. 8);
  8.  
  9. subtype RFC_CHAR is SAP_UC;
  10. type RFC_DATE is array (0 .. 7) of aliased RFC_CHAR;
  11.  
  12. type SAP_UC_Array is array (Int range <>) of aliased SAP_UC;
  13.  
  14. subtype anon3115_anon3128_array is SAP_UC_Array (0 .. 8);
  15. subtype anon3115_anon3131_array is SAP_UC_Array (0 .. 3);
  16. subtype anon3115_anon3134_array is SAP_UC_Array (0 .. 12);
  17.  
  18. subtype RFC_DATE is SAP_UC_Array (0 .. 7);
  19.  
  20. function toUnicode( adaString : String) return SAP_UC_Array;
  21.  
  22. SAP_UC const * toUnicode( char const * s)
  23. {
  24. UConverter * converter;
  25. UErrorCode err = U_ZERO_ERROR;
  26. SAP_UC * target;
  27. target = (SAP_UC *) calloc( strlen(s)+1, sizeof(SAP_UC) ); // Creating wonderfull Memory Leaks
  28. converter = ucnv_open( "8859-1", &err );
  29. int len = ucnv_toUChars(converter, target, strlen(s)+1, s, strlen(s), &err);
  30. ucnv_close( converter );
  31. return target;
  32. }
  33.  
  34. function toUnicode (arg1 : Interfaces.C.Strings.chars_ptr) return access SAP_UC;
  35. pragma Import (C, toUnicode, "toUnicode");
  36.  
  37. SAP_UC getChar(SAP_UC * u, int i)
  38. {
  39. return u[i];
  40. }
  41.  
  42. function getChar(a : access SAP_UC; i: Int) return sapucx_h.SAP_UC;
  43. pragma Import (C, getChar, "getChar");
  44.  
  45. function sU( s : String; b : out SAP_UC_Array ) return SAP_UC_Array is
  46. a : access SAP_UC;
  47. begin
  48. a := toUnicode( New_String(s));
  49. for i in 0 .. Int'Val(s'length) loop
  50. b(i) := getChar(a,i);
  51. end loop;
  52. return b;
  53. end;
  54.  
  55. function cU( s : String ) return SAP_UC_Array
  56. is
  57. begin
  58. declare
  59. tmp : SAP_UC_Array(0 .. s'length);
  60. begin
  61. return sU(s,tmp);
  62. end;
  63. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement