-
+60.9
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
#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
Coach,
13 Ноября 2009
-
+73.2
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
/*
CANON D-SLR cameras core routine
Property of CANON INC. 1998-2010
v 1.0 made by Radja Tokamoto Goines
v 1.1 made by Dugwin Yakioto jr.
last changes: 10.11.2009
*/
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include "inc/tweakfocus.h"
#include "inc/radja_filters.h"
bool do_focus(lens, camera) {
double fp;
time_t t;
t = init_focus_timer(t);
do {
fp = measure_focus_point(lens);
move_focus(lens, fp)
if (timeout(t))
return false;
} while (!lens.is_focused());
if (!L_LensDetected(lens))
lens.adjust_focus(rand(10));
return true;
}
rawdata * scandata(matrix, lens, camera) {
rawdata *cr;
double noise, aberrations;
cr = create_cr(matrix);
read_exif_info(cr->exif, lens, camera);
prepare_everything(matrix, lens, camera);
if (!do_focus(lens, camera))
return NULL;
else
beep();
aberrations = pow(100 - lens.focallength, 2) * sqrt(2) + 10;
if (L_LensDetected(lens))
aberrations /= 2.0;
scan_sensor(cr, matrix, aberrations);
noise = matrix.iso / 100.0;
noise *= matrix.cropfactor;
if (camera.model == EOS1000D) {
noise *= 1.2;
wait_for_something();
}
if (camera.model != EOS7D)
wait_for_something();
if (lens.manufacture != CANON_LENS) {
corrupt_something(cr);
apply_random_filter(cr);
}
if (lens.model == EF_50_F1_4) {
noise /= 1.2;
apply_fcb(cr); //fucken cool bokeh
}
if (lens.model == CANON_L_17_40_F4) {
blur(cr, 0.8);
distort(cr, 40 - lens.focallength);
}
radja_filter(cr, 1.570796326794896619231321691641); //don't touch that!
if (is_eos1d_series(camera.model))
disable_all_spoiling(cr);
else
make_nice_colors(cr);
// finally...
apply_noise(cr, noise);
apply_barrel_distortion(cr, lens);
apply_pillow_distortion(cr, lens);
return cr;
}
http://habrahabr.ru/blogs/DSLR/74958/
Исходные тексты прошивки canon eos.
Многие, наверное, уже слышали, что на днях была взломана внутренняя сеть компании Canon и в числе прочего в сеть «утёк» кусок ядра исходных текстов прошивки камер серии EOS, который я имею честь эксклюзивно опубликовать на суд общественности.
Говночитатели без ЧЮ идут в *опу.
sbb,
11 Ноября 2009
-
+68.4
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
char rc;
...
bool ResourceManager()
{
static TResourceRC r;
...
delete r;
...
r=new TResourceRC(rc);
...
return true;
assert(false);
};
...
От предков проект достался. Я думал, чего он переодически необьяснимо глючит...
ResourceManager() - вызываеться регулярно в цикле.
Говногость,
11 Ноября 2009
-
+73.7
- 1
- 2
- 3
#include <math.h>
...
result = (thisCos ? cos : sin)(3.140);
Знакомый программист прислал из своего проекта.
Говногость,
10 Ноября 2009
-
+65.9
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
//какой-то .h-файл
namespace Error {
struct Put_error{
const char * Message;
Put_error(const char * e) { Message = e; }
};
...
//в каком-то методе в другом файле
string msg = "Error: cannot open input file " + string(fileInputName) + "\n";
throw Error::Put_error(msg.c_str());
Lexey,
03 Ноября 2009
-
+69.8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
vector<int> :: iterator itBegins = array.begin();
vector<int> :: iterator itEnds = array.end();
while(itBegins != itEnds)
{
pVec.pop_back();
it++;
}
Сей артефакт остался в коде ввиду лености переписывать его в 100 файлах сразу после удаления того, ради чего собственно затевался while(!pVec.empty()) ... прямо скажем - отлов ЭТОГО занял немало времени и нервов... тк на первый взгляд оно должно... а что ты видишь в этом коде, %юзернейм% ?
(исправленная версия XD )
Zeks,
02 Ноября 2009
-
+48.5
- 1
- 2
- 3
- 4
while(!pVec.empty())
{
pVec.pop_back();
}
Сей артефакт остался в коде ввиду лености переписывать его в 100 файлах сразу после удаления того, ради чего собственно затевался while(!pVec.empty()) ... прямо скажем - отлов ЭТОГО занял немало времени и нервов... тк на первый взгляд оно должно... а что ты видишь в этом коде, %юзернейм% ?
Zeks,
02 Ноября 2009
-
+50.7
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
namespace inter {
template<typename X>
struct tplClass {
private:
X _priv;
public:
tplClass(const X _generator) {
this->_priv = _generator;
return;
}
tplClass(const tplClass<int>& _a) {
this->_priv = _a.get();
return;
}
const X get(void) const {
return this->_priv;
}
};
template<typename X>
const tplClass<X> operator+(const tplClass<X>& _lha, const tplClass<X>& _rha) {
return tplClass<X>(_lha.get()+_rha.get());
}
}
int main(int argc, char* args[], char* envs[]) {
tplClass<int> a(5);
tplClass<double> b(3.1);
tplClass<double> c = a + b;
return 0;
}
1. Всё упрощено до невозможности. Описано только то, что необходимо для узрения говнокода.
2. Несмотря на то, что решение существует в очень известной книжке, я напоролся на говнокод лично, пока программу писал. Искал несколько дней проблему... Ну да... Бывает...
3. Говнокод заключается в том, что данный код не компилируется.
P.S. Если видите, что где-то есть дыра, то говорите, возможно я опечатался (злобная администрация исправить не даст), возможно в данном коде плюг опущен, возможно дыра у меня в голове. Конструктивная критика приветствуется.
P.P.S. Если вы решили просто написать, что (C++ == "говно") is true , то, пожалуйста, прошу вас как людей порядочных и воспитанных, имеющих совесть и ум, пройдите мимо. Если у вас нит ни ума, ни совести, ни порядочности, то можете писать про "естественную говнистость" C++, милости прошу.
interested,
30 Октября 2009
-
+66.8
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
// Найдено глубоко в продакшн-коде некоего транслятора:
HRESULT hr = S_OK;
try {
hr = ParseSection(sourceTemplate, output, CS_IF);
}
CATCH_CG_EXCEPTION(this, hr)
CATCH_CG_EXCEPTION_END
// далее смотрим определения этих чудо-макросов
#define CATCH_CG_EXCEPTION(gen, hr) \
catch (CHierCGException* e) { \
(gen)->WriteExceptionMessage(e); \
if (e->m_bContinue) { \
if (e->m_useHRESULT) hr = e->m_hResult; else hr = E_FAIL; \
} \
delete e; \
if (!(e->m_bContinue))
#define CATCH_CG_EXCEPTION_END \
throw; \
}
Исключительно говнистая обработка исключений :-)
Orfest,
27 Октября 2009
-
+68
- 1
- 2
char *GetNumRenderedObjectsString() { char *mString = new char [128]; itoa (mNumRenderedObjects, mString, 10); return mString; };
char *GetNumDiscardedObjectsString() { char *mString = new char [128]; itoa (mNumDiscardedObjects, mString, 10); return mString; };
Отличная работа с памятью.
benin,
25 Октября 2009