abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    11.5. 18:22 | Nová verze

    Byla vydána verze 0.2.0 v Rustu napsaného frameworku Pingora pro vytváření rychlých, spolehlivých a programovatelných síťových systémů. Společnost Cloudflare jej letos v únoru uvolnila pod licencí Apache 2.0.

    Ladislav Hagara | Komentářů: 0
    10.5. 19:11 | Nová verze

    Open source RDP (Remote Desktop Protocol) server xrdp (Wikipedie) byl vydán ve verzi 0.10.0. Z novinek je vypíchnuta podpora GFX (Graphic Pipeline Extension). Nová větev řeší také několik bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 13
    10.5. 04:11 | Nová verze

    Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    9.5. 22:22 | Bezpečnostní upozornění

    Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].

    Ladislav Hagara | Komentářů: 22
    9.5. 21:11 | Zajímavý článek

    V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.

    Ladislav Hagara | Komentářů: 53
    9.5. 14:33 | Pozvánky

    O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    8.5. 21:55 | Nová verze

    Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.

    Ladislav Hagara | Komentářů: 20
    8.5. 20:22 | IT novinky

    Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.

    Ladislav Hagara | Komentářů: 7
    8.5. 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    7.5. 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 10
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (68%)
     (7%)
     (12%)
     (13%)
    Celkem 186 hlasů
     Komentářů: 11, poslední 10.5. 18:00
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: okteta a string pevnej dĺžky

    16.3.2017 09:51 rastos | skóre: 62 | blog: rastos
    okteta a string pevnej dĺžky
    Přečteno: 230×
    Nevie niekto ako nadefinovať štruktúru pre oktetu, v ktorej je string pevnej dĺžky? Napr. ak mám štruktúru
    struct S {
      char text[20];
      u_int32_t  code;
    }
    inicializovanú
    S s={"bar",123};
    tak chcem s.text vidieť ako string "bar" (trebárs aj s nejakým bordelom za tým a nemusí byť ukončený nulou), ale s.code je vždy na rovnakom offset-e.
    <struct name="S">
      <string name="text" ... />
      <primitive name="code" type="UInt32"/>
    </struct>
    Podľa https://websvn.kde.org/?revision=1230377&view=revision by to malo byť možné, ale nedarí sa mi :-(


    Řešení dotazu:


    Odpovědi

    18.3.2017 23:03 Dušan Kreheľ | skóre: 9 | blog: krehel_sk___informovat_o_novych_verziach_softveru | Prešov
    Rozbalit Rozbalit vše Re: okteta a string pevnej dĺžky
    #include <stdlib.h>
    
    #define UINT32 __uint32_t
    
    struct S {
      char text[20];
      UINT32 code;
    };
    
    typedef struct {
      char text[20];
      UINT32 code;
    } s_t;
    
    int main(void)
    {
    	struct S data = {"text", 123};
    
    	s_t data2= {"text", 123};
    	
    	return 0;
    }
    
    
    19.3.2017 13:49 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: okteta a string pevnej dĺžky
    Kámo, nielen, že si nepochopil otázku, ale ešte si svoju odpoveď odvážne označil za správnu.

    Snáď ti to vyjde nabudúce ;-)
    19.3.2017 15:27 chrono
    Rozbalit Rozbalit vše Re: okteta a string pevnej dĺžky
    Podľa dokumentácie by tam malo stačiť pridať argument maxByteCount="20" (prípadne maxCharCount, ale to nie je rovnaké ako ten príklad s char text[20];).
    19.3.2017 21:13 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: okteta a string pevnej dĺžky
    Přílohy:

    Tak som začal od začiatku a už som myslel, že mám vidiny ... ukázalo sa, že a) string nesmie mať atribút terminatedBy b) zdá sa, že to funguje, ak je maxByteCount dané natvrdo, ale nefunguje to, ak je to tá hodnota v inom člene štruktúry :-(

    V prílohe je ukážka:
    • testdata.bin s ukážkovým binárnym suborom
    • testdata.osd s definíciou štruktúry pre oktetu. Patrí do ~/.kde/share/apps/okteta/structures/teststructure
    • testdata.desktop pužívaný oktetou. Tiež patrí do ~/.kde/share/apps/okteta/structures/teststructure
    • teststruct-01.png - screenshot, ktorý ukazuje string, ktorý bol prečítaný dlhší než mal byť (malo byť prečítaných 20 znakov, ale okteta do stringu zaradila aj bajty 0x14 0x00 za stringom) a nesprávne identifikovanú položku code (správne mala prečítať hodnotu 20 (z bajtov 0x14 0x00) na offsete 0x16)
    Vyzerá to byť bug :-(
    19.3.2017 23:01 chrono
    Rozbalit Rozbalit vše Re: okteta a string pevnej dĺžky
    Pravdepodobne len array podporuje nastavovanie veľkosti pomocou odkazu na iný prvok (aj v ich príkladoch majú typ string použitý jen pre reťazce s pevnou dĺžkou, pre všetko ostatné používajú array).
    19.3.2017 15:47 Dušan Kreheľ | skóre: 9 | blog: krehel_sk___informovat_o_novych_verziach_softveru | Prešov
    Rozbalit Rozbalit vše Re: okteta a string pevnej dĺžky
    23.3.2017 15:17 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: okteta a string pevnej dĺžky
    Treba použiť updateFunc:

    <?xml version="1.0" encoding="UTF-8"?>
    <data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../structuredefs.xsd">
    <struct name="test structure">
    	<primitive name="textlength" type="UInt16" />
    	<string name="text" encoding="ascii"
                  updateFunc="function() { this.maxByteCount=this.parent.textlength.value; }" />
    
    	<primitive name="code" type="UInt32" />
    </struct>
    

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.