~ubuntu-branches/debian/squeeze/gmsh/squeeze

« back to all changes in this revision

Viewing changes to Common/StringUtils.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Christophe Prud'homme, Christophe Prud'homme
  • Date: 2009-09-27 17:36:40 UTC
  • mfrom: (1.2.9 upstream) (8.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090927173640-oxyhzt0eadjfrlwz
[Christophe Prud'homme]
* New upstream release
  + solver code refactoring
  + better IDE integration.

Show diffs side-by-side

added added

removed removed

Lines of Context:
62
62
  return out;
63
63
}
64
64
 
65
 
std::string FixWindowsPath(const char *in)
 
65
std::string FixWindowsPath(std::string in)
66
66
{
67
67
#if defined(__CYGWIN__)
68
68
  char tmp[1024];
69
 
  cygwin_conv_to_win32_path(in, tmp);
 
69
  cygwin_conv_to_win32_path(in.c_str(), tmp);
70
70
  return std::string(tmp);
71
71
#else
72
 
  return std::string(in);
 
72
  return in;
73
73
#endif
74
74
}
75
75
 
115
115
  return out;
116
116
}
117
117
 
118
 
void ReplaceMultiFormat(const char *in, const char *val, char *out)
 
118
std::string ReplacePercentS(std::string in, std::string val)
119
119
{
120
 
  unsigned int i = 0, j = 0;
121
 
 
122
 
  out[0] = '\0';
123
 
  while(i < strlen(in)){
124
 
    if(in[i] == '%' && i != strlen(in) - 1){
125
 
      if(in[i + 1] == 's'){
126
 
        strcat(out, val);
127
 
        i += 2;
128
 
        j += strlen(val);
129
 
      }
130
 
      else{
131
 
        Msg::Warning("Skipping unknown format '%%%c' in '%s'", in[i + 1], in);
132
 
        i += 2;
133
 
      }
 
120
  std::string out;
 
121
  for(unsigned int i = 0; i < in.size(); i++){
 
122
    if(in[i] == '%' && i + 1 < in.size() && in[i + 1] == 's'){
 
123
      out += val;
 
124
      i++;
134
125
    }
135
126
    else{
136
 
      out[j] = in[i];
137
 
      out[j + 1] = '\0';
138
 
      i++;
139
 
      j++;
 
127
      out += in[i];
140
128
    }
141
129
  }
142
 
  out[j] = '\0';
 
130
  return out;
143
131
}