Portál AbcLinuxu, 10. května 2025 05:25

Dotaz: stdin: gdk_imlib_load_image("-")

Fuky avatar 11.10.2007 21:21 Fuky | skóre: 52 | blog: 4u
stdin: gdk_imlib_load_image("-")
Přečteno: 118×
Odpovědět | Admin

Mám maly_programek, který pouze přečte stdin a vypíše ho na obrazovku. Nejprve předám stdout příkazu cat na stdin tohoto programu pomocí roury cat file |./maly_programek, pak nasypu soubor na stdin programu pomoci ./maly_programek <file. V obou případech dostanu dle očekávání stejný výstup.

Problém nastane, když chci, aby stdin použila fce gdk_imlib_load_image(). V případě, že použiji rouru, tak hlásí chybu.

$ cat image.jpg |./example01
gdk_imlib ERROR: Cannot load image: -
All fallbacks failed.
You should not see this.  Submit bug against gdk-imlib package.
Load failure

$ ./example01 <image.jpg
Load success

Netušíte v čem může být problém?

-- RÁMO: psí tábor , ETriatlon: Výuka plavání

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.10.2007 21:42 petris
Rozbalit Rozbalit vše Re: stdin: gdk_imlib_load_image("-")
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nevyžaduje náhodou náhodný přístup? Ověřte to přes strace.
Fuky avatar 11.10.2007 21:59 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: stdin: gdk_imlib_load_image("-")

Díky, máte pravdu:

_llseek(0, 0, 0xbfc13290, SEEK_SET) = -1 ESPIPE (Illegal seek)

Tak je to bug v imlib. Nejprve čtou pár bytů ze souboru, aby detekovali typ, pak použijí fci rewind(), ale nepočítají, že stdin bude předávaný přes rouru.

11.10.2007 22:49 oipjflksj
Rozbalit Rozbalit vše Re: stdin: gdk_imlib_load_image("-")
Odpovědět | | Sbalit | Link | Blokovat | Admin

To me tedy dost prekvapuje, ze to jde vubec pres to presmerovani. Jinak standarni vec (ktera aspon driv fungovala) byla registrace dalsiho inputu :

gdk_input_add(fileno(stdin),GDK_INPUT_READ,(void *) stdinput,NULL);

kde stdinput je nejaka funkce ctouci (pres fgets treba) std. input a zarizujici loadovani obrazku a pod.

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.