Develop and Download Open Source Software

Browse CVS Repository

Diff of /malonnote/mnModel.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.10 by maloninc, Thu Aug 11 01:51:21 2005 UTC revision 1.12 by maloninc, Sat Aug 13 02:00:29 2005 UTC
# Line 309  const wxString* WikiData::getText() Line 309  const wxString* WikiData::getText()
309          FILE* fp;          FILE* fp;
310          char  buf[MAX_BUF_SIZE];          char  buf[MAX_BUF_SIZE];
311          char  fullPath[MAX_BUF_SIZE];          char  fullPath[MAX_BUF_SIZE];
312            iconv_t     codeSet;
313            char        outbuf[MAX_BUF_SIZE];
314            char*       inbufPtr;
315            char*       outbufPtr;
316            int         inbufSize;
317            int         outbufSize;
318          wxCSConv    conv(wxT(CODE_SET_SYSTEM));          wxCSConv    conv(wxT(CODE_SET_SYSTEM));
         wxCSConv    eucConv(wxT(CODE_SET_EUC_JP));  
319          wxString*   tmpStr;          wxString*   tmpStr;
320    
321            codeSet = iconv_open(CODE_SET_SYSTEM, CODE_SET_EUC_JP);
322            if(codeSet == (iconv_t)-1) {
323                    MN_FATAL_ERROR(wxT("failed iconv_open"));
324            }
325    
326          if(text) {          if(text) {
327                    iconv_close(codeSet);
328                  return text;                  return text;
329          }          }
330    
# Line 325  const wxString* WikiData::getText() Line 336  const wxString* WikiData::getText()
336          }          }
337    
338          while(fgets(buf, MAX_BUF_SIZE, fp)) {          while(fgets(buf, MAX_BUF_SIZE, fp)) {
339                  tmpStr = new wxString(buf, eucConv);  #ifdef __WXMAC__
340                    for(int i = 0; buf[i] != 0; i++) if(buf[i] == (char)MAC_BACKSLASH) buf[i] = '\\';
341    #endif
342                    inbufPtr = buf;
343                    inbufSize = sizeof(buf);
344                    outbufPtr = outbuf;
345                    outbufSize = sizeof(outbuf);
346                    memset(outbuf, 0, outbufSize);
347                    iconv(codeSet, (ICONV_CONST char**)&inbufPtr, (size_t*)&inbufSize, &outbufPtr, (size_t*)&outbufSize);
348                    tmpStr = new wxString((char*)outbuf, conv);
349                  *text += *tmpStr;                  *text += *tmpStr;
350                  delete tmpStr;                  delete tmpStr;
351          }          }
352            iconv_close(codeSet);
353          fclose(fp);          fclose(fp);
354    
355          return text;          return text;
356  }  }
357    
# Line 377  void WikiData::save() Line 399  void WikiData::save()
399    
400          memset(inbuf, 0, sizeof(inbuf));          memset(inbuf, 0, sizeof(inbuf));
401          strcpy(inbuf,(const char*)text->mb_str());          strcpy(inbuf,(const char*)text->mb_str());
402    
403    #ifdef __WXMAC__
404            for(int i = 0; inbuf[i] != 0; i++) if(inbuf[i] == (char)MAC_BACKSLASH) inbuf[i] = '\\';
405    #endif
406    
407          inbufPtr = inbuf;          inbufPtr = inbuf;
408          inbufSize = strlen(inbufPtr);          inbufSize = strlen(inbufPtr);
409          outbufPtr = outbuf;          outbufPtr = outbuf;

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.12

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26