Diff for /np2/wince/oemtext.cpp between versions 1.1 and 1.3

version 1.1, 2004/06/21 02:01:33 version 1.3, 2005/04/01 15:35:50
Line 1 Line 1
 #include        "compiler.h"  #include        "compiler.h"
   #include        "oemtext.h"
   
 #if defined(OSLANG_UTF8)  
 UINT oemtext_sjis2oem(char *dst, UINT dcnt, const char *src, UINT scnt) {  // Use WinAPI version
   
   
   UINT oemtext_sjistoucs2(UINT16 *dst, UINT dcnt, const char *src, UINT scnt) {
   
           int             srccnt;
           int             dstcnt;
           int             r;
   
           if (((SINT)scnt) > 0) {
                   srccnt = scnt;
           }
           else {
                   srccnt = -1;
           }
           if (((SINT)dcnt) > 0) {
                   dstcnt = dcnt;
                   if (srccnt < 0) {
                           dstcnt = dstcnt - 1;
                           if (dstcnt == 0) {
                                   if (dst) {
                                           dst[0] = '\0';
                                   }
                                   return(1);
                           }
                   }
           }
           else {
                   dstcnt = 0;
           }
           r = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, src, srccnt, dst, dstcnt);
           if ((r == 0) && (dstcnt != 0)) {
                   r = dstcnt;
                   if (srccnt < 0) {
                           if (dst) {
                                   dst[r] = '\0';
                           }
                           r++;
                   }
           }
           return(r);
   }
   
   UINT oemtext_ucs2tosjis(char *dst, UINT dcnt, const UINT16 *src, UINT scnt) {
   
           int             srccnt;
           int             dstcnt;
           int             r;
   
           if (((SINT)scnt) > 0) {
                   srccnt = scnt;
           }
           else {
                   srccnt = -1;
           }
           if (((SINT)dcnt) > 0) {
                   dstcnt = dcnt;
                   if (srccnt < 0) {
                           dstcnt = dstcnt - 1;
                           if (dstcnt == 0) {
                                   if (dst) {
                                           dst[0] = '\0';
                                   }
                                   return(1);
                           }
                   }
           }
           else {
                   dstcnt = 0;
           }
           r = WideCharToMultiByte(CP_ACP, 0, src, srccnt, dst, dstcnt, NULL, NULL);
           if ((r == 0) && (dstcnt != 0)) {
                   r = dstcnt;
                   if (srccnt < 0) {
                           if (dst) {
                                   dst[r] = '\0';
                           }
                           r++;
                   }
           }
           return(r);
   }
   
   UINT oemtext_sjistoutf8(char *dst, UINT dcnt, const char *src, UINT scnt) {
   
         UINT    leng;          UINT    leng;
         UINT16  *ucs2;          UINT16  *ucs2;
Line 9  UINT oemtext_sjis2oem(char *dst, UINT dc Line 93  UINT oemtext_sjis2oem(char *dst, UINT dc
   
         (void)scnt;          (void)scnt;
   
         leng = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, src, -1, NULL, 0);          leng = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, src, scnt, NULL, 0);
         if (leng == 0) {          if (leng == 0) {
                 return(0);                  return(0);
         }          }
Line 17  UINT oemtext_sjis2oem(char *dst, UINT dc Line 101  UINT oemtext_sjis2oem(char *dst, UINT dc
         if (ucs2 == NULL) {          if (ucs2 == NULL) {
                 return(0);                  return(0);
         }          }
         MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, src, -1, ucs2, leng);          MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, src, scnt, ucs2, leng);
         ret = ucscnv_ucs2toutf8(dst, dcnt, ucs2, leng);          if (((SINT)scnt) < 0) {
                   leng = (UINT)-1;
           }
           ret = codecnv_ucs2toutf8(dst, dcnt, ucs2, leng);
         _MFREE(ucs2);          _MFREE(ucs2);
         return(ret);          return(ret);
 }  }
   
 UINT oemtext_oem2sjis(char *dst, UINT dcnt, const char *src, UINT scnt) {  UINT oemtext_utf8tosjis(char *dst, UINT dcnt, const char *src, UINT scnt) {
   
         UINT    leng;          UINT    leng;
         UINT16  *ucs2;          UINT16  *ucs2;
Line 31  UINT oemtext_oem2sjis(char *dst, UINT dc Line 118  UINT oemtext_oem2sjis(char *dst, UINT dc
   
         (void)scnt;          (void)scnt;
   
         leng = ucscnv_utf8toucs2(NULL, 0, src, (UINT)-1);          leng = codecnv_utf8toucs2(NULL, 0, src, scnt);
         if (leng == 0) {          if (leng == 0) {
                 return(0);                  return(0);
         }          }
Line 39  UINT oemtext_oem2sjis(char *dst, UINT dc Line 126  UINT oemtext_oem2sjis(char *dst, UINT dc
         if (ucs2 == NULL) {          if (ucs2 == NULL) {
                 return(0);                  return(0);
         }          }
         ucscnv_utf8toucs2(ucs2, leng, src, (UINT)-1);          codecnv_utf8toucs2(ucs2, leng, src, scnt);
           if (((SINT)scnt) < 0) {
                   leng = (UINT)-1;
           }
         ret = WideCharToMultiByte(CP_ACP, 0, ucs2, leng, dst, dcnt, NULL, NULL);          ret = WideCharToMultiByte(CP_ACP, 0, ucs2, leng, dst, dcnt, NULL, NULL);
         _MFREE(ucs2);          _MFREE(ucs2);
         return(ret);          return(ret);
   
 }  }
 #endif  
   

Removed from v.1.1  
changed lines
  Added in v.1.3


RetroPC.NET-CVS <cvs@retropc.net>