-
+131.9
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
np_char=`awk '{
for(i=1;i<=length($0);i+=1){
symb=substr($0,i,1);
if (symb < " ")
{
print symb;
exit 9;
}
}}' $1`
hex_code=`echo "$np_char" | hexdump -n 1 -e '1/1 "%X" "\n"'`
Поиск и вывод непечатных символов в файле...
Это я еще молчу об этической стороне hexdump.
nil,
16 Ноября 2009
-
+60.3
- 001
- 002
- 003
- 004
- 005
- 006
- 007
- 008
- 009
- 010
- 011
- 012
- 013
- 014
- 015
- 016
- 017
- 018
- 019
- 020
- 021
- 022
- 023
- 024
- 025
- 026
- 027
- 028
- 029
- 030
- 031
- 032
- 033
- 034
- 035
- 036
- 037
- 038
- 039
- 040
- 041
- 042
- 043
- 044
- 045
- 046
- 047
- 048
- 049
- 050
- 051
- 052
- 053
- 054
- 055
- 056
- 057
- 058
- 059
- 060
- 061
- 062
- 063
- 064
- 065
- 066
- 067
- 068
- 069
- 070
- 071
- 072
- 073
- 074
- 075
- 076
- 077
- 078
- 079
- 080
- 081
- 082
- 083
- 084
- 085
- 086
- 087
- 088
- 089
- 090
- 091
- 092
- 093
- 094
- 095
- 096
- 097
- 098
- 099
- 100
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".
Ez-Presso,
15 Ноября 2009
-
+167.7
fuckyounoob,
14 Ноября 2009
-
+51.8
- 1
- 2
- 3
- 4
- 5
- 6
if(p) {
if (p->m_String[0] == 0) {
strcpy("foo", p->m_String);
}
DrawText(hdc, p->m_String, strlen(p->m_String), &rc, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
}
и такие веселые куски попадаются в официальном примере написания плагинов на сайте Mozilla
пруф линк - http://mxr.mozilla.org/seamonkey/source/modules/plugin/samples/npruntime/plugin.cpp - строка 750
Coach,
13 Ноября 2009
-
+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
-
+169.3
- 1
- 2
- 3
class employee extends company {
.....
}
На самом деле, это больше бы подошло в раздел "ООП", но раз уж такого нет, то пощу в PHP. Вообще, весь проект, в котором приходится разбираться - редкое дерьмо, но этот ляп меня умилил :)
IHateBidloKod,
13 Ноября 2009
-
+147.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
<? global $USER; $user_id = $USER->GetID(); ?>
<?foreach($arResult["ITEMS"] as $arItem):?>
<?if (intval($arItem['PROPERTIES']['PRIORITY_PLACEMENT']['VALUE_ENUM_ID']) > 0) $prior = true; else $prior = false; ?>
<tr class="body_orders_list<?=(($prior)?' prior':'')?><?=$arItem['ACTIVE'] == 'Y'?'':' order-bad'?>">
<td class="name">
<a class="name" href="<?=$arItem["DETAIL_PAGE_URL"];?>"><?=$arItem["NAME"];?></a>
<div class="description"><?=truncate($arItem["DETAIL_TEXT"], 90, "...");?></div>
<strong><?=GetMessage("TYPE_WORK");?>:</strong> <?=$arItem["DISPLAY_PROPERTIES"]["TYPE_OF_WORK"]["DISPLAY_VALUE"];?><br />
<strong><?=GetMessage("SPECIALIZATION");?>:</strong> <?=$arItem["DISPLAY_PROPERTIES"]["EXPERTISE"]["DISPLAY_VALUE"];?><br />
<strong><?=GetMessage("CITY");?>:</strong> <?=$arItem["DISPLAY_PROPERTIES"]["CITY"]["DISPLAY_VALUE"];?><br />
<? if ($arItem["CREATED_BY"] == $user_id): ?>
<?if($arItem['ACTIVE'] == 'Y'):?>
<a id="element<?=$arItem['ID']?>" onclick="if(confirm('Вы уверены, что хотите снять с размещения заказ, без возможности восстановления?')){ deactivate_element(<?=$arItem['ID']?>); } return false;" href="#">Снять с размещения</a><br />
<a class="add_offer" href="#"><?=GetMessage("EDIT_ORDER");?></a><br /><br />
<a href="/services/priority.php?ord=<?=$arItem['ID']?>">Платное размещение</a>
<?else: echo showError('Заказ снят с размещения.'); endif;?>
<? else: ?>
<a class="add_offer" href="<?=$arItem["DETAIL_PAGE_URL"];?>"><?=GetMessage("ADD_PROPOSAL");?></a>
<? endif; ?>
</td>
<td class="date_create"><?=substr($arItem["DATE_CREATE"], 0, 10);?></td>
<td class="budget"><?=$arItem["DISPLAY_PROPERTIES"]["BUDGET"]["DISPLAY_VALUE"];?> <?=(strlen($arItem["DISPLAY_PROPERTIES"]["BUDGET"]["DISPLAY_VALUE"]) > 0)?'руб.':'';?></td>
<td class="offers"><a class="blue" href="<?=$arItem["DETAIL_PAGE_URL"];?>"><?=(strlen($arItem["PROPERTIES"]["FORUM_MESSAGE_CNT"]["VALUE"]) > 0 ? $arItem["PROPERTIES"]["FORUM_MESSAGE_CNT"]["VALUE"] : "0");?></a></td>
<td class="employer">
</td>
</tr>
<?endforeach;?>
в продолжение говна номер 2120
y6uTbIu_CMEXOM,
12 Ноября 2009
-
+169.5
- 1
- 2
- 3
// генерируем 2 раз для лучшей случайности
$wpdb->get_results('SELECT id FROM ' . $table_prefix . 'another_random_quote WHERE tag="'.$tag.'" ORDER BY RAND() LIMIT 1');
$quotes = $wpdb->get_results('SELECT * FROM ' . $table_prefix . 'another_random_quote WHERE tag="'.$tag.'" ORDER BY RAND() LIMIT ' . intval($amount));
Встретил в плагине для вордпресса. Объясните, что такое лучшая случайность?
junqed,
12 Ноября 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
-
+150.2
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
<?php
...
$markers = array("~");
$newcode = array("<br>");
$output = str_replace($markers, $newcode, $source);
...
?>
А вот так канадские кодеры заменяют функцию nl2br() в textarea
=)
Senya,
11 Ноября 2009