- 1
- 2
- 3
<a href="game.php?page=buildings&cmd=insert">
<input style='color:#0F0; font-weight: bold'; type='submit' value='bla-bla-bla'>
</a>
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+60.9
<a href="game.php?page=buildings&cmd=insert">
<input style='color:#0F0; font-weight: bold'; type='submit' value='bla-bla-bla'>
</a>
Человек ВНЕЗАПНО понял, как сделать рамку вокруг ссылки "как у кнопки".
+60.9
return ((Dirty = (Buff = ((uint8 *)realloc (Buff, BuffLen = new_len))) !=0));
+60.9
#if 0
n = NPN_GetStringIdentifier("prompt");
NPVariant vars[3];
STRINGZ_TO_NPVARIANT("foo", vars[0]);
STRINGZ_TO_NPVARIANT("bar", vars[1]);
STRINGZ_TO_NPVARIANT("foof", vars[2]);
NPN_Invoke(sWindowObj, n, vars, 3, &rval);
if (NPVARIANT_IS_STRING(rval)) {
printf ("prompt returned '%s'\n", NPVARIANT_TO_STRING(rval).utf8characters);
}
NPN_ReleaseVariantValue(&rval);
#endif
и это официальный пример написания плагина с сайта Mozilla
пруф линк - http://mxr.mozilla.org/seamonkey/source/modules/plugin/samples/npruntime/plugin.cpp - строка 564
+60.6
static char *szClassName = new char[14];
static char *szCurrentDirectory = new char[MAX_BUFFER];
static char *szNewFolder = new char[MAX_BUFFER];
глобальные указатели рулят, delete нигде не вызывается
+60.5
//---сортировка по возрастанию методом выбора отдельно реальной и мнимой составляющих---------------
bool F_Sorted(T_VectorComplex * VC, bool)
{
int i, j, m, N;
double z;
N = (*VC).size();
for (j = N - 1; j > 0; j--) {
m = j;
z = real((*VC)[j]);
for (i = j - 1; i >= 0; i--)
if (z < real((*VC)[i])) {
z = real((*VC)[i]);
m = i;
}
if (j != m) {
(*VC)[m] = T_Complex(real((*VC)[j]), imag((*VC)[m]));
(*VC)[j] = T_Complex(z, imag((*VC)[j]));
}
}
for (j = N - 1; j > 0; j--) {
m = j;
z = imag((*VC)[j]);
for (i = j - 1; i >= 0; i--)
if (z < imag((*VC)[i])) {
z = imag((*VC)[i]);
m = i;
}
if (j != m) {
(*VC)[m] = T_Complex(real((*VC)[m]), imag((*VC)[j]));
(*VC)[j] = T_Complex(real((*VC)[j]), z);
}
}
return (true);
}
+60.3
std::string basic::_gettime(time_t t)
{
string res;
string tt;
//must be Wdy, DD-Mon-YYYY HH:MM:SS GMT
struct tm *tm_res;
tm_res=gmtime(&t);
switch(tm_res->tm_wday)
{
case 0:
res+="Sun";
break;
case 1:
res+="Mon";
break;
case 2:
res+="Tue";
break;
case 3:
res+="Wed";
break;
case 4:
res+="Thu";
break;
case 5:
res+="Fri";
break;
case 6:
res+="Sat";
break;
default:
throw "Internal error: cgi_app::_gettime(): Day num>6!";
}
res+=", ";
tt=itoa(tm_res->tm_mday);
if(tt.length()==1)
tt="0"+tt;
res+=tt;
res+="-";
switch(tm_res->tm_mon)
{
case 0:
res+="Jan";
break;
case 1:
res+="Feb";
break;
case 2:
res+="Mar";
break;
case 3:
res+="Apr";
break;
case 4:
res+="May";
break;
case 5:
res+="Jun";
break;
case 6:
res+="Jul";
break;
case 7:
res+="Aug";
break;
case 8:
res+="Sep";
break;
case 9:
res+="Oct";
break;
case 10:
res+="Nov";
break;
case 11:
res+="Dec";
break;
default:
throw "Internal error: cgi_app::_gettime(): Month num>11!";
}
res+="-";
tt=itoa(tm_res->tm_year+1900);
res+=tt;
res+=" ";
tt=itoa(tm_res->tm_hour);
if(tt.length()==1)
tt="0"+tt;
res+=tt;
res+=":";
tt=itoa(tm_res->tm_min);
if(tt.length()==1)
tt="0"+tt;
res+=tt;
res+=":";
tt=itoa(tm_res->tm_sec);
if(tt.length()==1)
tt="0"+tt;
res+=tt;
res+=" GMT";
}
Делаю класс для работы с CGI. Сначала хотел использовать какое-нибудь готовое решение, но ничего подходящего не нашел. По общей концепции понравилась библиотека "CGI C++ Library v0.30a". До тех пор, пока не посмотрел исходники более внимательно... Это функция, которая формирует строку для поля заголовка HTTP "Last-Modified".
+60.3
void AcquireSomething(..., boost::shared_ptr<Something> out)
{
...
out.reset(new Something());
}
жесть
+60.3
void CExeTuner::ResFill2Tree(uchar *baddr, uchar *addr, TRes *now, int level)
{
int len;
now->size1=*(uword *)(addr+0x0C); now->size2=*(uword *)(addr+0x0E);
if (now->size1+now->size2) now->mas=new TRes * [(now->size1+now->size2)];
ulong long1,long2;
for (int i=0; i<(now->size1+now->size2); i++)
{
now->mas[i]=new TRes;
now->mas[i]->back=now;
now->mas[i]->name=new char [32];
now->mas[i]->mas=NULL; now->mas[i]->data=NULL;
long1=*(ulong *)(addr+0x10+(i<<3));
long2=*(ulong *)(addr+0x14+(i<<3));
if (long1&0x80000000) {
long1&=0x7FFFFFFF;
now->mas[i]->isname=true;
len=*(uword *)(baddr+long1);
now->mas[i]->rname1=new uchar [len*2+2+1];
now->mas[i]->rname1[len*2+2]=0;
memcpy(now->mas[i]->rname1,baddr+long1,len*2+2);
now->mas[i]->name=new char [len+1];
now->mas[i]->name[len]=0;
for (int j=0; j<=len; j++)
now->mas[i]->name[j]=now->mas[i]->rname1[(j+1)*2];
} else {
now->mas[i]->isname=false;
now->mas[i]->rname2=long1;
if (!ResNumToStr(long1,now->mas[i]->name,level)) _itoa(long1,now->mas[i]->name,10);
}
if (long2&0x80000000) {
long2&=0x7FFFFFFF;
now->mas[i]->isdir=true;
ResFill2Tree(baddr, baddr+long2, now->mas[i], level+1);
} else {
now->mas[i]->isdir=false;
now->mas[i]->size1=*(ulong *)(baddr+long2+4);
now->mas[i]->data=new uchar [now->mas[i]->size1];
if ((*(ulong *)(baddr+long2)+now->mas[i]->size1)>(*ExeMain.ResDirAddrOBJ+*ObjMas[ExeMain.ResPosInObj].size))
{ now->mas[i]->data=NULL; now->mas[i]->size1=0;
} else memcpy(now->mas[i]->data,baddr-*ExeMain.ResDirAddrOBJ+*(ulong *)(baddr+long2),now->mas[i]->size1);
}
}
}
Древнющий проект откопал))
Метод извлекает все ресурсы из PE файла в структуру типа дерево))
+60.3
function fromunicode($string,$lang){
if ($lang=="fr"):
return utf8_decode($string);
elseif($lang=="rus"):
$tempchar1=chr(208);
$string=ereg_replace( "Рђ" , "А" , $string);
$tempchar2=chr(145);
$tempchar=$tempchar1.$tempchar2;
$string=ereg_replace( $tempchar , "Б" , $string);
$tempchar2=chr( 146);
$tempchar=$tempchar1.$tempchar2;
$string=ereg_replace( $tempchar, "В" , $string);
$tempchar2=chr( 147);
$tempchar=$tempchar1.$tempchar2;
$string=ereg_replace( $tempchar ,"Г" , $string);
$tempchar2=chr( 148);
$tempchar=$tempchar1.$tempchar2;
$string=ereg_replace( $tempchar, "Д" , $string);
$string=ereg_replace( "Р•" , "Е" , $string);
$string=ereg_replace( "РЃ" ,"Ё" , $string);
$string=ereg_replace( "Р–" , "Ж" , $string);
$string=ereg_replace( "Р—" , "З" , $string);
$string=ereg_replace( "Р?" , "И" , $string);
$string=ereg_replace( "Р™" , "Й" , $string);
$string=ereg_replace( "Рљ" , "К" , $string);
$string=ereg_replace( "Р›" , "Л" , $string);
$string=ereg_replace( "Рњ" , "М" , $string);
$string=ereg_replace( "Рќ" , "Н" , $string);
$string=ereg_replace( "Рћ" , "О" , $string);
$string=ereg_replace( "Рџ" , "П" , $string);
//$string=ereg_replace( "Р" , "Р " , $string);
//$string=ereg_replace( "С" , "РЎ" , $string);
$string=ereg_replace( "Рў" , "Т" , $string);
$string=ereg_replace( "РЈ" , "У" , $string);
$string=ereg_replace( "Р¤" , "Ф" , $string);
$string=ereg_replace("РҐ" , "Х" , $string);
$string=ereg_replace( "Р¦" , "Ц" , $string);
$string=ereg_replace( "Р§" , "Ч" , $string);
$string=ereg_replace( "РЁ" , "Ш" , $string);
$string=ereg_replace( "Р©" , "Щ" , $string);
$string=ereg_replace( "Р¬" , "Ь" , $string);
$tempchar2=chr( 170);
$tempchar=$tempchar1.$tempchar2;
$string=ereg_replace( $tempchar,"Ъ" , $string);
//echo "tempmygk=$tempchar";
$tempchar2=chr( 171);
$tempchar=$tempchar1.$tempchar2;
// $string=ereg_replace( $tempchar3,$tempchar, $string);
$string=ereg_replace( $tempchar,"Ы" , $string);
//echo "tempy=$tempchar";
$string=ereg_replace("Р" , "Э" , $string);
$string=ereg_replace( "Р®" , "Ю" , $string);
$string=ereg_replace( "РЇ" , "Я" , $string);
// small
$string=ereg_replace( "Р°" ,"а" , $string);
$string=ereg_replace( "Р±" ,"б" , $string);
$string=ereg_replace( "РІ" ,"в" , $string);
$string=ereg_replace( "Рі" ,"г" , $string);
$string=ereg_replace( "Рґ" , "д" , $string);
$string=ereg_replace( "Рµ" ,"е" , $string);
$string=ereg_replace( "Рµ" ,"ё" , $string);
// $string=ereg_replace( "С'" , "ё" , $string);
$string=ereg_replace( "Р¶" , "ж" , $string);
$string=ereg_replace( "Р·" , "з" , $string);
$string=ereg_replace( "Рё" ,"и" , $string);
$string=ereg_replace( "Р№" ,"й" , $string);
$string=ereg_replace("Рє" , "к" , $string);
$string=ereg_replace( "Р»" , "л" , $string);
$string=ereg_replace( "Рј" , "м" , $string);
$string=ereg_replace( "РЅ" , "н" , $string);
$string=ereg_replace( "Рѕ" , "о" , $string);
$string=ereg_replace("Рї" , "п" , $string);
$string=ereg_replace("СЂ" , "р" , $string);
$string=ereg_replace("СЃ" , "с" , $string);
$string=ereg_replace( "С‚" , "т" , $string);
$string=ereg_replace( "Сѓ" , "у" , $string);
$string=ereg_replace( "С„" , "ф" , $string);
$string=ereg_replace( "С…" , "х" , $string);
$string=ereg_replace( "С†" , "ц" , $string);
$string=ereg_replace( "С‡" , "ч" , $string);
$string=ereg_replace( "С?" , "ш" , $string);
$string=ereg_replace( "С‰" , "щ" , $string);
$string=ereg_replace( "СЊ" ,"ь" , $string);
$string=ereg_replace( "С‹" , "ы" , $string);
$string=ereg_replace( "СЉ" , "ъ" , $string);
$string=ereg_replace( "СЌ" , "э" , $string);
$string=ereg_replace( "СЋ" , "ю" , $string);
$string=ereg_replace("СЏ" , "я" , $string);
$string=ereg_replace("Р " , "Р" , $string);
+60.2
bool CMLayer::operator==(CMLayer ^a, CMLayer ^b)
{
CLayer *pA;
CLayer *pB;
bool bA = false;
bool bB = false;
// Проверка в катче
try
{
pA = a->m_pelMain;
}
catch (System::NullReferenceException ^)
{
pA = NULL;
bA = true;
}
// Проверка в катче
try
{
pB = b->m_pelMain;
}
catch (System::NullReferenceException ^)
{
pB = NULL;
bB = true;
}
if ((bA == true) && (bB == true))
return true;
else if ((bA == true) || (bB == true))
return false;
return pA == pB;
}
Код на Management C++, тот кто его писал был явно в ажуре))))
Проверяются указатели на внутрении данные, а штоб System::NullReferenceException не выскакивал при сравнее на null все сделанно в катче