- 1
- 2
- 3
- 4
n = strlen(pName);
name = new char[n + 1];
memset(name, 0, n + 1);
memcpy(name, pName, n);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+8
n = strlen(pName);
name = new char[n + 1];
memset(name, 0, n + 1);
memcpy(name, pName, n);
боянчик. std::string наверное религия не позволяет. а strdup() слишком С. oh wait...
+163
AdlAdbPromptDialog.callIfPromptDialogNeverClosedBefore(function(){
AdlAdbPromptDialog.callIfAdblockerInDafaultState(function(){
AdlAdbPromptDialog.callIfAdblockerEverTurnedOff(function(){
AdlAdbPromptDialog.callIfAdblockerConfigShown(function(){
AdlAdbPromptDialog.callIfPromptDialogSaveClicked(function(){
AdlAdbPromptDialog.callIfAdsPresent(function(){
AdlAdbPromptDialog.callIfUsingAdlMoreThanXdays(3, function(){
callback();
});
});
});
}, AdlAdbPromptDialog.promptDialog.AdblockerConfigShown);
}, AdlAdbPromptDialog.promptDialog.AdblockerEverTurnedOff);
}, AdlAdbPromptDialog.promptDialog.AdblockerInDafaultState);
});
+156
<?php
if ($user_id == 0 || $user_id == '0') {
/*НИЧЕГО*/
}
1С Битрикс, этим всё сказано...
P.S давненько ничего не постил...
+135
private void Button2_Click(object sender, EventArgs e)
{
this.Label4.Text = new StreamReader("C:\\Program Files\\Microsoft Visual Studio 10.0\\VB\\VBProjects\\датаметр\\датаметр\\bin\\Release\\Key.txt").ReadLine();
if (Operators.CompareString(this.Label4.Text, "vrc5rhhgyuuoxr45", false) == 0)
{
this.Button1.Visible = true;
this.TextBox1.Visible = true;
this.Label1.Visible = true;
this.Label4.Visible = false;
this.Button2.Visible = false;
this.Label3.Visible = true;
int num = (int) Interaction.MsgBox((object) "Ключ верный.\r\nНе сообщайте его никому !!\r\nИ не потеряйте.", MsgBoxStyle.OkOnly, (object) null);
}
else
this.Label4.Text = "Ключ не верный !!\r\nПоменяйте его в файле \"Key\"";
}
Классное расположение файла. Причём в архиве лежит пустой файл Key.txt рядом с программой...
Как надо было извратиться, чтобы в коде оказался не просто абсолютный путь, но и вот такой-вот с Program Files, ведь по умолчанию VS создаёт проекты в Моих документах
http://www.cyberforum.ru/vb-net/thread971437.html
+105
<div class="стиль38" style="position:relative; background:#333333; height:10px;"></div>
Работа фрилансЁра. И потом удивляются, что я их не люблю.
−4
static Singleton * g_pInstance = NULL;
Singleton* Singleton::sharedInstance()
{
if (g_pInstance)
return g_pInstance;
else {
g_pInstance = new Singleton();
if (g_pInstance->init()) {
return g_pInstance;
} else {
delete g_pInstance;
g_pInstance = NULL;
}
return g_pInstance;
}
}
Ещё из жизни синглтонов. Даёшь больше return'ов!
+16
// in .h file
class Singleton
{
public:
Singleton();
~Singleton();
private:
static Singleton* m_Instance;
friend Singleton& GetInstance();
};
inline Singleton& GetInstance()
{
assert(Singleton::m_Instance);
return *Singleton::m_Instance;
}
// in .cpp file
Singleton* Singleton::m_Instance = NULL;
Singleton::Singleton()
{
assert(!m_Instance);
m_Instance = this;
}
Singleton::~Singleton()
{
m_Instance = NULL;
}
Вот такую реализацию синглтона увидел в одном проекте.
ЗЫ: Для его корректной работы, в main было написано конечно же:
main() {
Singleton* s = new Singleton;
...
delete s;
}
+8
void SaveEncryptedFile( const char *text, int len, const char* filename )
{
char* pEncryptedText = new char[strlen(text)+1];
string x1 = "you'll";
string x2 = "never";
string x3 = "get a";
string x4 = "password";
char l_pBuf[255];
sprintf(l_pBuf,"%d",30*11/3);
string result = x1+x2+x2+x1+l_pBuf+x3;
encryptString(text,pEncryptedText,result.c_str(),strlen(text),result.length()); // там внутри xor
FILE* pFile = fopen(filename, "wb");
if (pFile)
{
fwrite(pEncryptedText,sizeof(char),len,pFile);
fclose(pFile);
}
delete[] pEncryptedText;
}
Нашёл в рабочем проекте. Для "расшифровки" файла используется ещё одна такая же функция.
+8
const Registry & Registry::getInstance()
{
Registry *instance = RegistrySingleton::instance();
if (!instance->mRootNode) {
instance->load();
}
return *instance;
}
void Registry::load()
{
try {
// ...
if (!mReader) {
mReader = XMLReaderFactory::createXMLReader();
}
// ...
mReader->parse( ... );
} catch (...) {
// ...
throw; // удачи всем пользователям обрабатывать исключения xerces...
}
}
боян синглтонно-абстрактный для чтения xml конфигурации с помощью xerces.
и не только ошибки не обрабатаешь (потому что getInstance() их бросает, угадай какой именно вызов из сотен загружает конфигурацию), но и в добавок народ не впечатал как многопоточность сделать правильно (RegistrySingleton это специализация шаблона который синхронизирует инициализацию mInstance переменной, и только).
−100
2/3
ПИТОНОПРОБЛЕМЫ ;)
P.S. Да, я читал доки. Не меня в них тыкать носом.