- 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
char *nvram_get(int index, char *name)
{
/* Initial value should be NULL */
char *recv = NULL;
//LIBNV_PRINT("--> nvram_get\n");
nvram_init(index);
recv = nvram_bufget(index, name);
//btw, we don't return NULL anymore!
if (!recv)
recv = "";
//Always need close nvram
nvram_close(index);
return recv;
}
char *nvram_bufget(int index, char *name)
{
int idx;
/* Initial value should be NULL */
static char *ret = NULL;
//LIBNV_PRINT("--> nvram_bufget %d\n", index);
LIBNV_CHECK_INDEX("");
LIBNV_CHECK_VALID();
idx = cache_idx(index, name);
if (-1 != idx) {
if (fb[index].cache[idx].value) {
//duplicate the value in case caller modify it
//Tom.Hung 2010-5-7, strdup() will cause memory leakage
//but if we return value directly, it will cause many other crash or delete value to nvram error.
ret = strdup(fb[index].cache[idx].value);
LIBNV_PRINT("bufget %d '%s'->'%s'\n", index, name, ret);
//btw, we don't return NULL anymore!
if (!ret)
ret = "";
return ret;
}
}
//no default value set?
//btw, we don't return NULL anymore!
LIBNV_PRINT("bufget %d '%s'->''(empty) Warning!\n", index, name);
return "";
}
Кусочек кода из библиотеки работы с nvram для железок на SoC Ralink. Китайцы плакали, кололись о утечки памяти, но продолжали настойчиво мешать указатели на статические строки с указателями на динамически выделенные в куче...
guest 27.12.2010 10:28 # 0
3.14159265 27.12.2010 12:06 # +3
Анонимус 27.12.2010 13:53 # +1
bugmenot 27.12.2010 17:24 # +2
Анонимус 27.12.2010 17:25 # 0
guest 27.12.2010 19:26 # 0
shm 28.12.2010 16:55 # +2
TarasB 28.12.2010 16:59 # +3
inkanus-gray 28.12.2010 17:47 # +2
Страйко, можно поднять говнокод 5060?
xXx_totalwar 28.12.2010 17:52 # 0
shm 28.12.2010 17:59 # +1
guest 28.12.2010 17:52 # +1
istem 28.12.2010 18:26 # +3
ch 28.12.2010 19:08 # +1
istem 28.12.2010 23:12 # +1
ch 28.12.2010 23:17 # +6
istem 28.12.2010 23:19 # +2
TarasB 29.12.2010 11:20 # 0
guest 29.12.2010 16:45 # 0
absolut 29.12.2010 20:37 # 0
Субмутанты ж ... и Эльчупанибрея :)
bugmenot 29.12.2010 17:18 # 0
shm 28.12.2010 23:42 # 0
guest 28.12.2010 23:48 # 0
PS: Не пишите пока в этой теме, а то из Сток'а уйдет пост.
bugmenot 29.12.2010 00:01 # 0
:-D
guest 29.12.2010 00:02 # +1
Тссс.
guest 29.12.2010 11:14 # 0
istem 29.12.2010 00:03 # 0
:)
guest 29.12.2010 00:06 # 0
guest 29.12.2010 11:16 # 0
Altravert 29.12.2010 11:26 # 0
guest 29.12.2010 11:47 # 0
bugmenot 29.12.2010 11:49 # 0
guest 29.12.2010 11:52 # 0
wiistriker@gmail.com
, но это слишком просто.
istem 29.12.2010 17:43 # 0
:)
absolut 29.12.2010 20:38 # 0
rat4 29.12.2010 22:09 # +2
inkanus-gray 29.12.2010 22:09 # +2
xXx_totalwar 29.12.2010 22:11 # +2
guest 29.12.2010 23:25 # 0
istem 29.12.2010 23:46 # +2
Снегурочка Снегурочка Снегурочка Снегурочка Снегурочка
absolut 30.12.2010 00:17 # +1
koodeer 30.12.2010 00:28 # +1
istem 30.12.2010 00:34 # 0
anmiles 30.12.2010 01:38 # +1
inkanus-gray 30.12.2010 02:30 # 0
В качестве подсказки:
1. Граватар привязывает картинки к е-мейлам.
2. При регистрации на Говнокоде указывается е-мейл.
3. Немного подумаем.
4. PROFIT!!!
anmiles 30.12.2010 13:44 # 0
guest 01.01.2011 18:57 # 0
guest 02.01.2011 02:05 # −1
guest 02.01.2011 02:06 # −1