QString Driver::unique(const QString &instanceName, const QString &className) { QString name; bool alreadyUsed = false; if (instanceName.size()) { int id = 1; name = instanceName; name = normalizedName(name); QString base = name; while (m_nameRepository.contains(name)) { alreadyUsed = true; name = base + QString::number(id++); } } else if (className.size()) { name = unique(qtify(className)); } else { name = unique(QLatin1String("var")); } if (alreadyUsed && className.size()) { fprintf(stderr, "Warning: name %s is already used\n", qPrintable(instanceName)); } m_nameRepository.insert(name, true); return name; }
QString Driver::unique(const QString &instanceName, const QString &className) { QString name; bool alreadyUsed = false; if (instanceName.size()) { int id = 1; name = instanceName; name = normalizedName(name); QString base = name; while (m_nameRepository.contains(name)) { alreadyUsed = true; name = base + QString::number(id++); } } else if (className.size()) { name = unique(qtify(className)); } else { name = unique(QLatin1String("var")); } if (alreadyUsed && className.size()) { fprintf(stderr, "%s: Warning: The name '%s' (%s) is already in use, defaulting to '%s'.\n", qPrintable(m_option.messagePrefix()), qPrintable(instanceName), qPrintable(className), qPrintable(name)); } m_nameRepository.insert(name, true); return name; }