Changeset 30329

Show
Ignore:
Timestamp:
02.12.2015 14:39:38 (4 years ago)
Author:
kjdon
Message:

need to convert the text_t to utf8 before writing out the metadata.xml file

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/runtime-src/src/recpt/depositoraction.cpp

    r30328 r30329  
    3535// following line required to get fstream.filedesc() on darwin (Mac OS X) 
    3636#define _STREAM_COMPAT  1 
    37  
    3837// required for utsname on solaris??? 
    3938#ifndef _XOPEN_SOURCE 
     
    4847#include "cfgread.h" 
    4948#include "gsdltools.h" 
     49#include "gsdlunicode.h" 
    5050#include "gsdltimes.h" 
    5151#include "argdb.h" 
     
    372372 
    373373            for (int i = 0; i < numvalues; ++i) { 
    374               if (!mdvalues[i].empty()) {          
     374              if (!mdvalues[i].empty()) { 
     375                 
    375376                decode_cgi_arg(mdvalues[i]); 
    376  
     377                 
    377378                if (cached_metadata_values == "") { 
    378379                  cached_metadata_values = "var CachedMDValues = new Array(\\{"; 
     
    813814            for (int i = 0; i < numvalues; ++i) { 
    814815              if (!mdvalues[i].empty()) { 
    815                 decode_cgi_arg(mdvalues[i]); 
     816                decode_cgi_arg(mdvalues[i]); 
    816817                metadata_file += "            <Metadata mode=\"accumulate\" name=\"";        
    817818                metadata_file += args_suffix; 
     
    842843      cerr << "Cannot open metadata.xml!" << endl;  
    843844    } else { 
    844  
     845       
    845846      //write metadata.xml 
    846       metadata.write(metadata_file.getcstr(), metadata_file.size());  
    847       my_tmp.write(metadata_file.getcstr(), metadata_file.size());  
     847      // need to convert to utf8 before writing it out. 
     848      text_t utf8_meta = to_utf8(metadata_file); 
     849      metadata.write(utf8_meta.getcstr(), utf8_meta.size());  
     850      my_tmp.write(utf8_meta.getcstr(), utf8_meta.size());  
    848851    } 
    849852}