[ekg2-devel] Komendy i array_make
Jakub Zawadzki
darkjames w darkjames.ath.cx
Wto, 22 Lip 2008, 19:18:20 CEST
Hi,
Na !ekg2 znowu echa mojego commitu naprawiajacego-psujacego array_make()
( http://lists.ziew.org/mailman/pipermail/ekg2-commit/2008-June/004636.html )
W zalozeniach to mialo naprawic stripowanie cytatow, przykladowe:
- /auth -r "kontakt ze spacja"
Niestety przez to popsulem:
"chce wyslac ta wiadomosc z cudzyslowiem"
lub
'chce wyslac z apostrofem'
teraz, zeby wyslac mozna tak:
'"moge to zrobic tak"' -> "moge to zrobic tak"
oraz: "'moge to zrobic tak'" -> 'moge to zrobic tak'
dzisiejszy cytat z !ekg2:
18:40:27 <@darkjames> np: /echo '"alala"'
18:40:36 < lazy_bum> o_O
18:40:48 < lazy_bum> Mniej wygodnie się nie dało?
kod z ekg1 - czyli przyklad jak zrobic zeby znowu dzialalo.
<code>
/*
* dla query potrzeba nam cudzysłowów, natomiast
* dla całej reszty nie są one potrzebne (wymagałoby to
* strippowania w wielu miejscach i zmienienia paru
* koncepcji)
*/
if (!strcasecmp(last_name, "query")) {
par = array_make_quoted(params_string, " \t", len, 1, 1);
} else
par = array_make(params_string, " \t", len, 1, 1);
</code>
u nas zamiast tego strcasecmp() nowa flaga do command_flags_t
(* moj faworyt odnosnie nazwy: PARAM_LEAVE_QUOTES *)
i robimy to samo.
Tylko teraz jakby pomyslec... Gdzie dac ta flage a gdzie nie dawac?
1/ / "na pewno"
2/ /away "moj opis w cudzyslowu o/"
3/ /disconnect "j/w"
4/ /msg "ktos ze spacja" "cytat"
(...)
Potrzeba kogos madrego, szczegolnie ze w niektorych wersjach ekg2
/disconnect przyjmowal dwa parametry, i _trzeba bylo_ zamykac je w cudzyslow.
Howgh.
PS: ten problem objawia sie tylko przy wiadomosciach ktore w calosci zamykamy w cudzyslow.
PS2: Mozemy olac flage, bo zwykle te parametry gdzie chcemy cytowac maja tylko 1 parametr.
a gdy maja tylko 1 parametr, to nie trzeba cytowac.
Więcej informacji o liście dyskusyjnej ekg2-devel