-
+133.4
- 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
/****************************************************************************
#if !(TARGET_IS_NT50_OR_LATER)
#error You need a Windows 2000 or later to run this stub because it uses these features:
#error /robust command line switch.
#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
#error This app will die there with the RPC_X_WRONG_STUB_VERSION error.
#endif
...
где-то глубоко
* Macros for targeted platforms
****************************************************************************/
#if (0x501 <= _WIN32_WINNT)
#define TARGET_IS_NT51_OR_LATER 1
#else
#define TARGET_IS_NT51_OR_LATER 0
#endif
#if (0x500 <= _WIN32_WINNT)
#define TARGET_IS_NT50_OR_LATER 1
#else
#define TARGET_IS_NT50_OR_LATER 0
#endif
#if (defined(_WIN32_DCOM) || 0x400 <= _WIN32_WINNT)
#define TARGET_IS_NT40_OR_LATER 1
#else
#define TARGET_IS_NT40_OR_LATER 0
#endif
#if (0x400 <= WINVER)
#define TARGET_IS_NT351_OR_WIN95_OR_LATER 1
#else
#define TARGET_IS_NT351_OR_WIN95_OR_LATER 0
#endif
Код , сгенерированный компилятором MIDL для dll прокси/заглушки COM объекта.
VS2005 :)
4cppMan,
15 Декабря 2009
-
+106.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
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
char *getUI_ID_AsString(MENU_ID menuId)
{
char *IdStr;
if((menuId == VOLUME_ID) || (menuId == POPUPWIN_ID) || (menuId == YESNOWIN_ID) || (menuId == MAINMENU_ID) || (menuId ==
MODEMENU_ID) || (menuId == USBMODE_ID) || (menuId == SETTINGSMENU_ID) || (menuId == MENUPLAYMODE_ID) || (menuId == MENUEQ_ID)
|| (menuId == MENUSETTING_ID) || (menuId == MENULOCK_ID) || (menuId == MENUPLAYSPEED_ID) || (menuId == MENUCONTRAST_ID) || (menuId ==
MENUBACKLIGHT_ID) || (menuId == MENULANGUAGE_ID) || (menuId == MENUSHUTDOWN_ID) || (menuId == MENUINFO_ID) || (menuId ==
MENUBEEP_ID) || (menuId == MENUFACTORYSET_ID) || (MENUUSEREQ_ID) || (menuId == SET_PREFERENCES_ID) || (menuId ==
MENUCONFIRM_RESET_ID) || (menuId == MENUCONFIRM_FORMAT_ID) || (menuId == MAINRECMENU_ID) || (menuId == RECSETMODE_ID) ||
(menuId == RECSETINPUT_ID) || (menuId == RECSETVAD_ID) || (menuId == RECSETAUTOSYNC_ID) || (menuId == NAVIGATION_ID) ||
(menuId == PROMPT_VOLUME_ID) || (menuId == MENUGPSAPPL_MAIN_ID) || (menuId == POWERON_CONNECTING_ID) || (menuId ==
HOMESCREEN_ID) || (menuId == RC_DOWNLOADING_ID) || (menuId == SCREEN_BRIGHTNESS_ID) || (menuId == ABOUT_ID) || (menuId ==
INSTMENU_ID) || (menuId == INST_ABOUT_ID) || (menuId == DISPL_ORIENT_ID) || (menuId == LINEOUT_ID) || (menuId ==
PRIVACY_MUTE_ID) || (menuId == TEST_INSTALL_ID) || (menuId == FACTORY_RESET_ID) || (menuId == CALL_DTMF_ID) || (menuId ==
NAVI_FILEMENU_ID) || (menuId == NAVI_CONFIRM_DEL_ID) || (menuId == NAVI_SELECTFOLDER_ID) || (menuId == LANG_SELECT_ID) ||
(menuId == DISPLAY_JPG_ID) || (menuId == DISPLAY_TEXT_ID) || (menuId == SET_DISPLAY_ID))
{
IdStr = (char *) malloc(4);
strcpy(IdStr, " MENU");
}
else if( <тут примерно еще столько же условий> )
{
IdStr = (char *) malloc(5);
strcpy(IdStr, " PHONE");
}
else if( <тут примерно еще столько же условий> )
{
strcpy(IdStr, " PBOOK");
}
else if( <тут примерно еще столько же условий> )
{
IdStr = (char *) malloc(5);
strcpy(IdStr, " MUSIC");
}
else if( <тут примерно еще столько же условий> )
{
IdStr = (char *) malloc(3);
strcpy(IdStr, " MSG");
}
return IdStr;
}
Шедевр индусского говнокодирования. А потом с нас спрашивают, почему это у нас система нестабильно работает.
switch, по ходу, они еще в школе не прошли, да и с математикой у них плоховато. А где-то память вообще выделять не надо - зачем?
Scrambler,
24 Ноября 2009
-
+133.7
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
if(no!=s.FrameCounter)
s.FramesGarbage++; //выкидываем кадр
else { s.FramesOK++; s.NakCount++; }
curbufdata=packet-data;
if(no==s.FrameCounter)
WriteAdminLog("Не готов принять отриц. квитанцию (не в ожидании подтверждения) ",no,0,TRUE);
else if(no!=s.FrameCounter) {
WriteAdminLog("Получена отриц. квитанция на последний переданный кадр! Часть данных могла потеряться. Корректируется счётчик на:",no,PARAM_LONG,FALSE);
s.FrameCounter=no;
}
Из курсовой работы (своей). Готовлю к сдаче и нахожу такое.
Видимо, в первоначальном варианте условие имело смысл, а потом я его поменял и оно стало лишним.
vyalcevanet,
22 Ноября 2009
-
+136.8
- 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
...
// TODO: remove this godless "switch()"!
switch(tuntype) { // TODO: Important: do as in documentation instead of reverse-ingeniering!
#define PACKET_TRY {\
if(packet->ip_v == 4) {\
hl=packet->ip_hl<<2;\
if(hl>=sizeof(*packet))\
break;\
/* TODO: Check in RFC something about of ICMP send-back in this case */\
fprintf(stderr, "Got too short IP-header (%i)...\n",hl);\
}\
if((packet->ip_v&IPV6_VERSION_MASK) == IPV6_VERSION) {\
break;\
}\
}
#define NEXT(a) tuntype=a;\
if(tuntry>=2)\
goto tun_process_switch_end;\
tuntry++;
#define CASE(a) NEXT(a);\
case a
tun_process_switch:
// switch(tuntype) {
case TUNTYPE_NORM: // NetBSD-like?
packet=(typeof(packet))ptr;
PACKET_TRY;
CASE(TUNTYPE_EXT): // FreeBSD-like?
packet=(typeof(packet))((char *)ptr + 4);
if(s>4)
if(*ptr==0x02)
PACKET_TRY;
CASE(TUNTYPE_ETH): // Ethernet? TODO: Implement VLAN-tagging
packet=(typeof(packet))((char *)ptr + sizeof(*eth));
eth=(typeof(eth))ptr;
if(!teth) {
teth=alloca(sizeof(*teth));
memcpy(&teth->ether_shost, ð->ether_dhost, sizeof(teth->ether_shost));
memcpy(&teth->ether_dhost, ð->ether_shost, sizeof(teth->ether_dhost));
teth->ether_type=ETHERTYPE_IP;
}
if(s>sizeof(*eth))
// if((*(char *)ð->ether_type==0x08/* not IPv4? */)||(*(char *)ð->ether_type==0x86/* not IPv6? */)) // TODO: Implement compatibility with all protocols over ethernet
PACKET_TRY;
NEXT(TUNTYPE_NORM);
goto tun_process_switch;
default:
tuntype=TUNTYPE_NORM;
goto tun_process_switch;
// }
tun_process_switch_end:
#undef CASE
#undef NEXT
#undef PACKET_TRY
if(tuntry<~0)
tuntry=0;
tuntype=oldtuntype;
fprintf(stderr, "Got unknown packet. Flushing...\n");
FLUSH; // Flush all. We don't know the length of packet with unknown type.. So, we have to flush the buffer, to probably get new packets from the start.
goto tun_process_while;
}
...
"Ляпотааааа"... Очень "структурный" switch...
xaionaro,
11 Ноября 2009
-
+139.3
- 1
- 2
- 3
- 4
- 5
if (errno==EINTR) while (errno==EINTR)
{
fseek(fr,loffset,SEEK_SET);
fgets(line_buffer,len,fr);
}
sacc - система биллинга для squid
Одной проверки на ошибку - видимо, недостаточно
fiss,
11 Ноября 2009
-
+136.2
- 1
- 2
- 3
- 4
- 5
switch( 1 )
{
default :
TO_STR( 2, "10" );
}
Интересно, откуда и зачем такая конструкция. Может, кто-то что-то подобное встречал?
nil,
06 Ноября 2009
-
+151.8
- 1
- 2
return DSQR(a.r) + DSQR(a.i);
return fabs(a.r) + fabs(a.i);
Пример говроретурна одной из моих функций в дипломном проекте на Си. Я собрал несколько вариантов программы, комментируя в различных местах различные return такого вида, как сейчас представлено выше.
DSQR() -- это макрос возведения в квадрат из numericalrecepies. Там вся программа на основе "рецептного" кода.
interested,
01 Ноября 2009
-
+123.5
- 1
printf(" %f %f %f %f %f %f %f %f\n",Xk[0],Xk[1],Xk[2],Xk[3],Xk[4],Xk[5],Xk[6], Xk[7]);
Рад бы был, если б это написали китайцы. К сожалению, дело рук наших соотечественников.
mkaz,
25 Октября 2009
-
+132.3
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
char *uart_readln_timeout(UART_HANDLE h, char *buf, uint16_t len, clock_tick_t to)
{
clock_tick_t finish_time;
char *datap = buf;
char *datae = buf + len - 1;
if( len == 0 ) return buf;
if( len == 1 ) {
buf[0] = 0;
return buf;
}
finish_time = clock_get_millis() + to;
// FIXME!!!
while( datap < datae && ( to == 0 || clock_get_millis() < finish_time ) ) {
if( uart_read_char(h, datap) ) {
if( *datap++ == '\n' ) break;
}
}
*datap = 0;
return buf;
}
читает строку из UART. есть подозрение, что это говнокод.
dmzlj.livejournal.com,
24 Октября 2009
-
+108.6
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
/**
* Копирует первое большое число во второе.
*
* @param a большое число приемник
* @param b большое число источник
* @param n длинна больших чисел в словах
*
* @return FALSE - четное, TRUE - нечетное
*/
void int_copy(uword_t *a, const uword_t *b, const int n)
{
memcpy(a, b, sizeof(a[0]) * n);
}
Вот такую милую функцию я нашел в проекте над которым работаю.
pvkr2,
12 Октября 2009