コード例 #1
0
ファイル: nutconfdoc.cpp プロジェクト: niziak/ethernut-4.9
void CNutConfDoc::SaveComponentOptions(FILE *fp, NUTCOMPONENT * compo)
{
    while (compo) {
        NUTCOMPONENTOPTION *opts = compo->nc_opts;
        while (opts) {
            if(opts->nco_enabled && opts->nco_active) {
                char *value;
                if (opts->nco_value) {
                    /* Save edited value. */
                    value = strdup(opts->nco_value);
                } else {
                    /* Save configured value. */
                    value = GetConfigValue(m_repository, opts->nco_name);
                }
                /* Do not save empty values, unless they are boolean. */
                if (value && *value == '\0') {
                    char *flavor = GetOptionFlavour(m_repository, opts->nco_compo, opts->nco_name);
                    if (flavor == NULL || strncasecmp(flavor, "bool", 4)) {
                        free(value);
                        value = NULL;
                    }
                }
                if (value) {
					wxString escapedValue(*value, strlen(value) );
					escapedValue.Replace(wxT("\""), wxT("\\\"")); // escape (") to (\");
                    fprintf(fp, "%s = \"%s\"\n", opts->nco_name, (char *) escapedValue.c_str());
                    free(value);
                }
            }
            opts = opts->nco_nxt;
        }
        SaveComponentOptions(fp, compo->nc_child);
        compo = compo->nc_nxt;
    }
}
コード例 #2
0
ファイル: Utils.cpp プロジェクト: testmana2/otter-browser
QString formatConfigurationEntry(const QLatin1String &key, const QString &value, bool quote)
{
	QString escapedValue(value);
	escapedValue.replace(QLatin1Char('\n'), QLatin1String("\\n"));

	if (quote)
	{
		return QStringLiteral("%1=\"%2\"\n").arg(key).arg(escapedValue.replace(QLatin1Char('\"'), QLatin1String("\\\"")));
	}

	return QStringLiteral("%1=%2\n").arg(key).arg(escapedValue);
}
コード例 #3
0
ファイル: cliparser.cpp プロジェクト: ginggs/quassel2go
bool CliParser::addLongArg(const CliParserArg::CliArgType type, const QString &name, const QString &value) {
    if(argsHash.contains(name)) {
        if(type == CliParserArg::CliArgOption && argsHash.value(name).type == type) {
            argsHash[name].value = escapedValue(value);
            return true;
        }
        else if (type == CliParserArg::CliArgSwitch && argsHash.value(name).type == type) {
            argsHash[name].boolValue = true;
            return true;
        }
    }
    qWarning() << "Warning: Unrecognized argument:" << name;
    return false;
}
コード例 #4
0
NS_IMETHODIMP
sbSQLBuilderCriterionIn::ToString(nsAString& _retval)
{
  AppendTableColumnTo(_retval);

  _retval.AppendLiteral(" in (");

  PRUint32 len = mInItems.Length();
  for (PRUint32 i = 0; i < len; i++) {
    const sbInItem& ii = mInItems[i];

    switch(ii.type) {
      case eIsNull:
        /* not implemented */
        break;
      case eString:
      {
        nsAutoString escapedValue(ii.stringValue);
        SB_EscapeSQL(escapedValue);

        _retval.AppendLiteral("'");
        _retval.Append(escapedValue);
        _retval.AppendLiteral("'");
        break;
      }
      case eInteger32:
        _retval.AppendInt(ii.int32Value);
        break;
      case eSubquery:
      {
        nsresult rv;
        nsAutoString sql;
        rv = ii.subquery->ToString(sql);
        NS_ENSURE_SUCCESS(rv, rv);
        _retval.Append(sql);
        break;
      }
    }

    if (i + 1 < len) {
      _retval.AppendLiteral(", ");
    }
  }

  _retval.AppendLiteral(")");

  return NS_OK;
}
コード例 #5
0
NS_IMETHODIMP
sbSQLBuilderCriterionString::ToString(nsAString& _retval)
{
  AppendTableColumnTo(_retval);

  AppendMatchTo(_retval);

  nsAutoString escapedValue(mValue);
  SB_EscapeSQL(escapedValue);

  _retval.AppendLiteral("'");
  _retval.Append(escapedValue);
  _retval.AppendLiteral("'");
  if (mMatchType == sbISQLWhereBuilder::MATCH_LIKE ||
      mMatchType == sbISQLWhereBuilder::MATCH_NOTLIKE) {
    _retval.AppendLiteral(" ESCAPE '\\'");
  }
  return NS_OK;
}
コード例 #6
0
void
AppendTagWithValue(nsACString & aTarget, char const aTag, nsCSubstring const & aValue)
{
  aTarget.Append(aTag);

  // First check the value string to save some memory copying
  // for cases we don't need to escape at all (most likely).
  if (!aValue.IsEmpty()) {
    if (!aValue.Contains(',')) {
      // No need to escape
      aTarget.Append(aValue);
    } else {
      nsAutoCString escapedValue(aValue);
      escapedValue.ReplaceSubstring(
        NS_LITERAL_CSTRING(","), NS_LITERAL_CSTRING(",,"));
      aTarget.Append(escapedValue);
    }
  }

  aTarget.Append(',');
}
コード例 #7
0
ファイル: cliparser.cpp プロジェクト: ginggs/quassel2go
bool CliParser::addShortArg(const CliParserArg::CliArgType type, const char shortName, const QString &value) {
    QString longName = lnameOfShortArg(shortName);
    if(!longName.isNull()) {
        if(type == CliParserArg::CliArgOption && argsHash.value(longName).type == type) {
            argsHash[longName].value = escapedValue(value);
            return true;
        }
        else if (type == CliParserArg::CliArgSwitch) {
            if(argsHash.value(longName).type == type) {
                argsHash[longName].boolValue = true;
                return true;
            }
            // arg is an option but detected as a switch -> argument is missing
            else {
                qWarning().nospace() << "Warning: '" << shortName << "' is an option which needs an argument";
                return false;
            }
        }
    }
    qWarning().nospace() << "Warning: Unrecognized argument: '" << shortName << "'";
    return false;
}