Ejemplo n.º 1
0
static void write_quoted(const TCHAR *Value, INI_FILETYPE *fp)
{
  TCHAR s[3];
  int idx;
  if (check_enquote(Value) == QUOTE_NONE)
    {
      ini_write(Value, fp);
    }
  else
    {
      ini_write("\"", fp);
      for (idx = 0; Value[idx] != '\0'; idx++)
        {
          if (Value[idx] == '"')
            {
              s[0] = '\\';
              s[1] = Value[idx];
              s[2] = '\0';
            }
          else
            {
              s[0] = Value[idx];
              s[1] = '\0';
            } /* if */
          ini_write(s, fp);
        } /* for */
      ini_write("\"", fp);
    } /* if */
}
Ejemplo n.º 2
0
static void writekey(TCHAR *LocalBuffer, const TCHAR *Key, const TCHAR *Value, INI_FILETYPE *fp)
{
  TCHAR *p;
  enum quote_option option = check_enquote(Value);
  save_strncpy(LocalBuffer, Key, INI_BUFFERSIZE - 3, QUOTE_NONE);  /* -1 for '=', -2 for '\r\n' */
  p = _tcsrchr(LocalBuffer, '\0');
  assert(p != NULL);
  *p++ = '=';
  save_strncpy(p, Value, INI_BUFFERSIZE - (p - LocalBuffer) - 2, option); /* -2 for '\r\n' */
  p = _tcsrchr(LocalBuffer, '\0');
  assert(p != NULL);
  _tcscpy(p, INI_LINETERM); /* copy line terminator (typically "\n") */
  (void)ini_write(LocalBuffer, fp);
}