mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.os.linux.development
Titolo: catturare caratteri

sto scrivendo un programma C per Linux(ovviamente) che richiede di
immettere delle password.
Qualcuno sa come si fa a catturare i caratteri immessi facendo comparire
sul terminale ***** al posto dei caratteri??(Io lo avevo letto da
qualche parte come si faceva ma adesso non ricodo +, che rabbia).
Grazie anticipatamente
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 sul terminale ***** al posto dei caratteri??
Devi disabilitare  l'echo del  terminale. Inoltre se vuoi  che compaiano
gli  asterischi appena  premi  un  tasto devi  mettere  il terminale  in
modalita` raw.
char *getpwd(char *buff, int max_size) {
        struct termios tio;
        char c, i = 0;
        tcgetattr(0, &tio);
        tio.c_lflag ^= ECHO | ICANON;
        tcsetattr(0, TCSANOW,  &tio);
        while(1) {
                c = getchar();
                if (c == '\n' || i == max_size)
                        break;
                buff[i++] = c;
                putc('*', stdout);
        }
        buff[i] = '\0';
        putc('\n', stdout);
        tio.c_lflag |= ECHO | ICANON;
        tcsetattr(0, TCSANOW,  &tio);
        return buff;
}
Il  problema e`  che, essendo  il terminale  modalita` raw,  ti arrivano
tutti i tasti premuti (quindi anche eventuali backspace o del utilizzati
per  corregere la  password). Se la  password da  inserire e`  "abc", ma
l'utente sbaglia  e scrive  "abd", poi schiaccia  backspace e  scrive la
"c", il tuo programma vedra` questa stringa: "abd\bc".
Io utilizzerei una funzione del genere:
char *getpwd(char *buff, int max_size) {
        struct termios tio;
        char c, i = 0;
        tcgetattr(0, &tio);
        tio.c_lflag ^= ECHO;
        tcsetattr(0, TCSANOW,  &tio);
        while(1) {
                c = getchar();
                if (c == '\n' || i == max_size)
                        break;
 
                buff[i++] = c;
        }
        buff[i] = '\0';
        putc('\n', stdout);
        tio.c_lflag |= ECHO;
        tcsetattr(0, TCSANOW,  &tio);
        return buff;
}
In pratica rinunci agli asterischi  (in questo modo non dai informazioni
sulla lunghezza  della password) e  ti tieni l'editing fatto  dal driver
della console.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Not an editor command: Wq

 
man 3 getpass
C'era bisogno di postare 3 volte?
Adieu,
-- 
Lestat de Lioncourt                               |          Ciro Mattia Gonano
  JabberID: 
les...@jabber.students.cs.unibo.it
    |    Undergraduate Student in
  ICQ#: 52631406                                  |         Computer Science at
  URL: 
http://www.CS.UniBO.It/~gonano
             |       University of Bologna
            <powered by Linux Slackware 8.1 on Kernel 2.4.18-xfs>

 
...
DESCRIPTION
       This function is obsolete. Do not use it.
...


alternative?


...
Se ho capito bene il problema, una soluzione (non e' la piu'
semplice) potrebbe richiedere l'utilizzo delle meravigliose ncurses.
Ciao
Newsgroup: it.comp.os.linux.development
Titolo: SuSE 6.3 -Kdevelop 1.1 - Non riesco a fargli vedere htdig.

Salve!
Siccome non ho voglia di smanettare con Glimpse, ho installato htdig
come motore di ricerca.
Il Setup di Kdevelop si ostina a non vederlo, probabilmente perchč si
aspetta Glimpse.
Devo mettere un link furbo da qualche parte forse?
Grazie.
Lollo.

 Lollo.
Sono di nuovo io Fabio De bernardi, ho ritrovato il link per scaricare
la versione 1.2 di kdevelop
per suse 6.3 
ftp://129.187.206.68/pub/unix/ide/KDevelop/binaries/SuSE-6.3/
Ciao spero di esserti stato di aiuto.
Newsgroup: it.comp.os.linux.development
Titolo: TCL

Ciao a tutti, mi servirebbe un aiuto :
mi sono appena avvicinato al mondo della programmazione, iniziando ora a
fare qualcosa in Tcl, e quindi
scusate se vi sembrerà una stronzata...
Come posso fare in Tcl ad assegnare ad una variabile un valore casuale?
se io ho la variabile "tiro" e voglio che gli sia assegnato casualmente
uno tra i due valori "0" o "1" qual' è il
comando?
Spero di aver spiegato correttamente il problema e di non avervi
annoiato con le mie cazzate
da newbee.. --;)
m3t[A]d0n3

 Come posso fare in Tcl ad assegnare ad una variabile un valore casuale?
In Extended Tcl c'è la funzione "random" (che ritorna un intero). In Tcl
ho paura che debba ricorrere ad un programma esterno...
Ciao
 David
-- 
<d.santinoli presso mi. flashnet. it>
Newsgroup: it.comp.os.linux.development
Titolo: Lazarus e Linux

Quale files devo scaricare per utilizzare
Lazarus (io ho scaricato lazarus-0.9.4.1-fpc_1.9.6_050103.i386.rpm
ma mi dice che manca qualche cosa, i sorgenti di fpc)
nella distribuzione suse 9.0?
Mi potete indicare il link?
Ciao by Enzo
www.scozzaro.it

> Lazarus (io ho scaricato lazarus-0.9.4.1-fpc_1.9.6_050103.i386.rpm
devi scaricare ache fpcsrc da SF
Bye,
Raktzo

Newsgroup: it.comp.os.linux.development
Titolo: compilatori e /long long/





Ciao a tutti volevo chiedervi un' informazione. Il 
compilatore gcc e g++,
della mia versione Linux (red hat 6.1) non supporta il 
tipo /long long/ a 64
bit......mi sembra strano eppure e' la penultima 
versione della red hat,
sapete per caso se tale versione include anche un 
altro compilatore che
supporta tale tipo? Starete pensando: perche' non provi 
a cercare fra i
compilatori che ti hanno dato nella distribuzione?
Ho 
installato Linux da solo 2 settimane (purtroppo) e non riesco ancora 
a
districarmi bene.
Ciao Gianni



 districarmi bene. Ciao Gianni
La rh6.1 non supporta il long long? impossibile. Usa l'egcs e sicuramente
e' supportato. prova a compilare col g++ questo
#include <iostream>
int main()
{
	long long val = 50;
	cout << val << endl;
	return 0;
}
-- 
Wave++, member of EventOrizon software
http://members.xoom.it/wavexx

Scusa l'ignoranza ma non so cos'e' l'egcs. Io compilo sempre col comando : 
g++ nome_file.cc -o nome_file
e dichiarando una variabile /long long/ ho solo 32 bit (provato).
Egcs e' un altro compilatore? se si qual' e' il comando per compilare?
Ciao e grazie Gianni. 
--
Posted from 
twingo.tiscalinet.it
 [195.130.224.85] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 grazie Gianni. 
L'egcs e' il compilatore sperimentale basato su gcc che crea eseguibili +
ottimizzati. Gli eseguibili sono sempre gcc g++ etc, quindi quando lanci il gcc
in realta' lanci l'egcs (nota come anche egcs vada bene)...
Se ottieni solo 32 bit, non ci puoi fare nulla, o e' il compilatore che non e'
stato abilitato per il quad oppure e' il sistema stesso che non lo consente


in realta' lanci l'egcs (nota come anche egcs vada bene)...
ma i progetti gcc ed egcs non sono stati fusi di nuovo insieme?


Nel caso io stia dicendo delle fesserie, come provare quanti bito sono
dedicati agli interi piu' grandi?
Bye Gianni


 in realta' lanci l'egcs (nota come anche egcs vada bene)...
egcs non esiste piu è solo diventato una parte del evoluzione del gcc e
la squadra del egcs è ora la mantenitrice dell gcc...
 
-- 
Pazzooo

 dedicati agli interi piu' grandi? Bye Gianni
si, gcc ed egcs si sono rifusi insieme dalla 2.95.2 ma le rh6.1 e 6.2 usano
ancora l'egcs
poi... per avere la dim in bits di un tipo base fai
cout << "Dimensione in bits di long long: " << sizeof(long long)*8;
-- 
Wave++, member of EventOrizon software
 
http://wavexx.cjb.net
 
http://eventorizon.cjb.net
Just use your mind, and open it to the world

dedicati agli interi piu' grandi?
forse sizeof(intero più grande)? :-))
Newsgroup: it.comp.os.linux.development
Titolo: Un installer per linux from scratch

Ciao a tutti,sono appena arrivato e vorrei farvi una grande domanda:
sul mio pc ho creato un sistema LFS,ma ora vorrei creare una iso
installabile da mettere nel mio sito...come fare? Come installer
chiaramente preferirei una cosa tipo anaconda,ma mi va bene anche
un'installer Feather-like (copia dei file con una scarsa finestrella
di avanzamento in Xdialog).A presto matrobriva.

matro...@libero.it
 wrote:

Mah.. mica è così semplice, specialmente partendo da una versione 
"personalizzata". Devi gestire partizionamento, boot-loader, initrd e 
balle varie..
Io in passato me lo sono fatto ma difficilmente poteva essere usato da 
altri su pc diversi dal mio.
Vedi se questo ti può essere utile:
http://www.linux-live.org/
Ciao.
-- 
*** Linux user # 198661 ---_ ICQ 33500725 ***
    ***  Home  
http://www.kailed.net
  ***
        ***  Powered by openSUSE  ***

Grazie tantissimo,inoltre ho saputo anche di isolinux

Newsgroup: it.comp.os.linux.development
Titolo: QListBox e segnali

Ho iniziato a fare qualcosa con le QT e Kde e volevo avere un aiuto con un
oggetto QListBox.
Io ne ho creato uno nel costruttore della mia classe e questa listbox viene
aggiornata da un'altra funzione.
Non riesco a fare in modo che quando un elemento della listbox viene
selezionato mi venga aggiornata una Qgrid..(sempre richiamando una funzione
SLOT)..
Io uso:
connect(l,SIGNAL(selected(int)),this,SLOT(adjust()));
com l listbox..
Ma che metto come argomento di selected?
Grazie in anticipo.
Francesco
-- 
---------------------------
Francesco
ICQ# 17581464
Slack RuleZ!!!
---------------------------

Non importa ho risolto..

Newsgroup: it.comp.os.linux.development
Titolo: network programming

Salve a tutti, avrei alcuni quesiti sulla programmazione con le socket.
1) Volevo sapere se conoscevate qualche risorsa in rete che parlava   di  
come gestire la perdita dei messaggi (a user level) quando si ha a che
fare con una applicazione client/server UDP.
2)Devo scrivere un programma che mantiene una lista di informazioni e ogni
elemento di questa lista ha associato un timeout allo scadere del quale
l'elemento deve essere eliminato. Io pensavo di associare ad ogni elemento
delle lista un timestamp che mi dice quando l'elemento e' stato inserito
nella lista e periodicamente vado ad esaminare la lista per vedere quali
elementi hanno superato il timeout, cioe' sono diventati troppo vecchi.
Quello che volevo sapere e' se era possibile in C evitare di fare polling,
andando ad esaminare periodicamente la lista, ma fare in modo che
automaticamente allo scadere del timeout si possa essere avvertiti. Mi sa
che non mi sono spiegato benissimo... 
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 fare con una applicazione client/server UDP.
Non so darti un link, ma quando usi UDP l'affidabilità (quindi la
gestione dei pacchetti persi) è completamente lasciata all'applicazione,
quindi devi essere tu a decidere cosa fare (ad esempio richiedere una
ritrasmissione) e quando farlo (cioè devi stabilire un criterio per
accorgerti della perdita).
-- 
 |\ |       <-> 
http://digilander.libero.it/nemesis2001/
 | \|emesis <->      "War, war never change us..."
 

 che non mi sono spiegato benissimo...
man alarm
Dichiari un signal handler che vieve chiamato periodicamente. Il problema e`
che ti interrompera` il trasferimento in corso (se ne hai).
Un alternativa e` di fare il/i trasferimento/i con una poll() con timeout. Ti
salvi quando e` dovuto il prossimo controllo e chiami la poll() sul/sui canale/i
attivo/i con timeout messo alla differenza tra l'ora corrente e l'ora del
prossimo timeout. Con qualche lista ordinata per scadenza e un paio di valori
di controllo dovresti cavartela egregiamente. Va da se che devi dichiarare
il/i canale/i di I/O asincroni, ma questo e` facile...
Io userei il secondo metodo. Piu` pulito e tieni tutto sotto controllo piu`
facilmente.
Ciao,
-- 
       Roberto Divia`             Love at first sight is one of the greatest
       =============             labour-saving devices the world has ever seen.
Mailbox: C02110                 CERN-European Organization for Nuclear Research
E-mail: 
Robert...@cern.ch
           CH-1211 GENEVE 23, Switzerland

 
Tanto per aggiungere due righe e ribadire quello che ha detto
Newsgroup: it.comp.os.linux.development
Titolo: unione di schede di rete

Problema:
il file  modules.conf contiene
alias eth0 8139too
alias eth1 8139too
alias eth2 8139too
alias bond0 bonding
options bond0 mode=0 miimon=100
IL modulo bonding.o viene caricato con insmod per potergli poi passare i
suddeti parametri.
In rc.local vengono lanciati questi comandi:
ifconfig bond0 192.168.1.1 up
ifenslave bond0 eth0
ifenslave bond0 eth1
ifenslave bond0 eth2
alla fine le schede eth0 1 e 2 hanno lo stesso mac address e lo stesso ip
address dell'interfaccia virtuale bond0
Vanno insieme triplicando la banda senza problemi.
IL problema sorge quando stacco una delle tre schede: praticamente le altre
due continuano si ad andare ma vanno sempre a testare la presenza della
terza generando un ritardo di un secondo.
Praticamente la rete ogni 3 secondi di ferma di 1.
Facendo un ping continuo su su indirizzo esterno ottengo due ping regolati e
uno perso.
Come posso fare per far capire al sistema di non testare la scheda mancante
piu' di una volta?
Ho provato sia su Red hat 7.2 (kernel 2.4.18)che su suse 7 for ia-32 (kernel
2.4.7-64GB-SMP) ma solito risultato.


Se vuoi rimuovere la scheda credo tu debba fare
ifenslave -d bond0 eth1 
Se vuoi farlo fare in automatico non saprei come potrebbe fare il sistema
per determinare se la scheda sia disabilitata definitivamente o si tratta
di un problema "temporaneo".
Ciao.
Alessandro.

 Vanno insieme triplicando la banda senza problemi.
 
Anche io sono interessatissmo a questa funzione. Sapresti consigliarmi
qualche lettura interessante? In particolare sai come far funzionare due
schede in "tandem" in modo tale che se una si blocchi il server continui
ad andare?
Ti ringrazio
Newsgroup: it.comp.os.linux.development
Titolo: formato dei tipi mode_t e int DEV

(1)
Per la funzione umask della libc il parametro mode_t va espresso
in decimale o in ottale ??
Cioe' se voglio l'equivalente di
	umask 077
della shell come accetta questa funzione il parametro ???
(2)
Volendo creare un device con major 3 e minor 4
mknod pero' prende un intero come parametro,
dov'e' spiegata la formula ?
Grazie in anticipo, AGX

 dov'e' spiegata la formula ?
[root@fokhouse /tmp]# grep '^#.\+MKDEV' /usr/include/linux/kdev_t.h
#define MKDEV(ma,mi)    (((ma) << MINORBITS) | (mi))
#define MKDEV(ma,mi)    ((ma)<<8 | (mi))
[root@fokhouse /tmp]#
Ciao ciao,
Andrea
-- 
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and 
 the Ugly)."
(by Matt Welsh)

#define MKDEV(ma,mi)    (((ma) << MINORBITS) | (mi))
ecco dove dovevo guardare !
Grazie !!!
Newsgroup: it.comp.os.linux.development
Titolo: pthread e codice rientrante

in un programma devo lanciare n thread che fanno tutti la stessa cosa in
parallelo e ovviamente la funzione è una sola.
Il mio dubbio è: per ogni thread viene allocata una funzione diversa?
Ovvero, se io definisco una variabile locale nella funzione del thread,
rischio che mi venga sovrascritta dagli altri thread o no?



No.
Ogni thread ha il suo stack.
I problemi li hai solo con le variabili condivise (static e globali).
Manlio Perillo

 Ogni thread ha il suo stack.
perfetto, era come mi ricordavo, ma volevo essere sicuro.
grazie

 rischio che mi venga sovrascritta dagli altri thread o no?
Ogni thread ha il proprio stack piů vari registri. La sezione codice, 
variabili statiche
e heap sono in comune. Quindi direi che se dichiari una variabile nella 
funzione del thread
viene allocata nello stack del thread e quindi sei tranquillo.
Una cosa perň occhio a scrivere la funzione rientrante (come dici 
nell'oggetto).
By.

Newsgroup: it.comp.os.linux.development
Titolo: Problema con le librerie GTK

Salve!
Ho un problema nel compilare questo semplice listato "prova.c":
-------------------------------------------------------
#include <gtk/gtk.h>
 int main(){
   return 0;
   }
-------------------------------------------------------
Do il seguente comando alla console:
[michele@pavilon Desktop]$ gcc -o prova prova.c -I/usr/include/gtk-1.2
e come risultato ottengo migliaia di righe di messaggi di warning e di
errore.
Sicuramente ho sbagliato qualcosa di basilare, potreste aiutarmi?
p.s. fino ad ora ho esclusivamente programmato in C++ in ambiente DOS:
     conosco la programmazione ad oggetti, ma non ho mai realizzato
     un applicazione visuale.

 
Ogni applicativo scritto utilizzando GTK necessita della funzione
gtk_init(&argc, &argv);
per funzionare. Inoltre inizia cosě:
int main(int argc, char *argv[])
La funzione gtk_init č necessaria perchč 
provvede ad inizializzare varie cose al posto dell'utente.
Inoltre prova a compilare cosě:
gcc -o prova prova.c `pkg-config gtk+-2.0 --cflags --libs`
Ciao
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Sicuramente ho sbagliato qualcosa di basilare, potreste aiutarmi?
Sbagli nel non leggere la documentazione delle GTK. Non solo la linea di
comando di gcc è sbagliata, ma il codice non c'entra nulla con le GTK.
Vai qui, e comincia a leggere:
 
http://www.gtk.org
 
http://developer.gnome.org
Ciao,
 Emmanuele.
-- 
Emmanuele Bassi (Zefram)           [ 
http://digilander.libero.it/ebassi/
 ]
GnuPG Key fingerprint = 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4
Newsgroup: it.comp.os.linux.development
Titolo: Come redirigere la console in tcl

Ciao,
apro un nuovo topic più specifico.
Vorrei fare un programmino grafico con tcl
che visualizzi sul lato sinistro una finestra e sulla destra dei bottoni.
I bottoni dovrebbero permettermi di lanciare i comandi per esempio
[ ls ] [ pwd ] [ whoami ] eccetera
però l'output dei comandi lo vorrei redirigere nella finestra a sinistra.
quale comando si può usare per la redirezione dei comandi con tcl ?
TIA

 quale comando si può usare per la redirezione dei comandi con tcl ?
Potresti ad esempio avviare il programma tramite una pipe, e poi andare
via fileevent per leggerne lo standard output a mano a mano che arriva
Qualcosa del tipo:
     proc read_a_line {channel} {
         set s [gets $channel]
         if { $s != "" } {
             ....
         }
     }
     set fd [open [list "|comando" "parametro" "parametro"] r]
     fileevent $fd readable [list read_a_line $fd]
     ...
-- 
  |   \    \  | ___|_  |_  |  ianezz a casa sua... :-)
  |  _ \  | \ | _|    /   /   Verba volant, scripta
 _|_/  _\_|  _|____|___|___|  manent, data corrupted

Newsgroup: it.comp.os.linux.development
Titolo: problema con flex

Sto provando ad imparare flex e bison per scrivere parser.
Ho un problema quando voglio fare funzionare flex assieme a bison perché
nel file .l di flex devo mettere dei return che invec di andare alla
parte generata da bison mi causano l'uscita del programma.
Mi spiego meglio: se metto nel file flex la riga
create	fprintf (stdout, "trovato create\n");
il parser funziona benissimo. E dopo ogni riga si rimette in ascolto. Ma
se metto
create	{fprintf (stdout, "trovato create\n"); return CREATE;};
quel return mi fa uscire dal programma.
Come mai!?!?!?

 Come mai!?!?!?
ecco, casualmente dopo aver postato ho capito: il parse va invocato con
yyparse quando si usa anche bison e non yylex come quando si usa solo
flex....

Newsgroup: it.comp.os.linux.development
Titolo: convertire xls in cvs senza oo

Salve a tutti,
ho bisogno di eseguire una conversione da un batch di un file xls in csv ma 
senza utilizzare openoffice... conoscete qualche programma che da 
commandline mi esegua questa conversione?
grazie 1000
A. 


puoi usare uno script perl che si chiama xls2csv
http://search.cpan.org/~ken/xls2csv-1.06/script/xls2csv
ma ha qualche problemino con le formule
Newsgroup: it.comp.os.linux.development
Titolo: Oracle Proc....

Salve a tutti.
Sto realizzando un programma in PROC Oracle.
Ho dichiarato una struttura contenente dei campi.
Inserisco dei valori in essa e voglio che vengano inseriti dentro una tabella:
EXEC SQL AT INFO INSERT INTO ORDINI VALUES(:r);
dove r è la variabile (un puntatore)associata alla struttura.
Quando eseguo questa operazione mi ritorna un errore PLS- 1401.
Sono andato a vedere il manuale degli errori che dice "identifier over 18 characters long"
A cosa si riferisce?
Grazie anticipatamente.
--
TiscaliNet, libero accesso ad Internet.
http://www.tiscalinet.it
--
Posted from 
laguna.tiscalinet.it
 [195.130.224.86] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 EXEC SQL AT INFO INSERT INTO ORDINI VALUES(:r);
[snip]
come e' dichiarata la variabile 'r'?
In compilazione non ottieni alcun warning?
Perche' non "EXEC SQL INSERT INTO ORDINI VALUES(:r);"?
-- 
| .*^*.   Ciao              mf
|/     \        @tiscalinet
+-------*----------------------->
|         maurof           .it

Newsgroup: it.comp.os.linux.development
Titolo: info su linguaggi

Scusate potete dirmi quel e' il linguaggio che usa il punto
esclamativo per i commenti?
(esempio: /etc/X11/app.defaults/XTerm)
Grazie in anticipo
-- 
Saluti, Dalet

 (esempio: /etc/X11/app.defaults/XTerm)
Quello nel file citato non è un linguaggio.  È un file di 
configurazione in cui '!' serve per indicare una linea di commento.
Molti (forse tutti) programmi dell'ambiente X usano parser con 
commenti introdotti dal punto esclamativo contrariamente a quelli di 
altri ambienti che usano '#'.
Il punto esclamativo l'ho invece visto come carattere per introdurre i 
commenti in alcuni linguaggi assembler.
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   < 
http://giovanni.homelinux.net/
 >
Newsgroup: it.comp.os.linux.development
Titolo: ciclo e sigaction

Salve...
Dovrei fare un ciclo che si interrompe con Ctrl-c... ho scritto:
while(1)
{
sigaction(....);
....
}
ma nn funziona.. ho sbagliato?
Grazie mille!!

Filippa :



Cosi' e' difficile dirlo...
Alessandro.

Filippa wrote:

A me: 
   sigaction(....); 
non lo compila neanche. 
Forse non te ne rendi conto ma cosi` non e` proprio semplice tirare a 
indovinare cosa c'e` che non va. 
L'unica osservazione che mi viene da fare e': dove hai messo il 
signal handler (mi mancano un po' di ....) .
Ciao
Simone

Ci riprovo, includendo nel messaggio più codice...
struct sigaction azione;
int main ()
{
...
siginterrupt (SIGINT, 0);
...
while(1)
    {
    sigaction (SIGINT, &azione, NULL);
    azione.sa_handler = gestore_x;
    ....
    ....
    }
}
viod gestore_x(int s)
{
...
}
questo è il codice, spero di essere stata più esauriente...

Filippa wrote:

Beh, non so cosa ci sia nei .... dentro il while, ma mi pare esagerato 
reinstallare il signal handler in continuazione, inoltre se non setti 
azione prima di chiamare sigaction ...
Riprova con qualcosa come:
struct sigaction azione;
int main (){
{
    ...
    azione.sa_handler = gestore_x;
    sigaction (SIGINT, &azione, NULL);
    while(1) {
        ...     
    }
Ciao
Simone

 ma nn funziona.. ho sbagliato?
Così dovrebbe andar bene:
#include <setjmp.h>
#include <signal.h>
sigjmp_buf jmpb;
void gestore_x(int s)
{
	siglongjmp(jmpb, 1);
}
int main()
{
	/* uso signal, andrà bene anche sigaction */
	if(signal(SIGINT, gestore_x) == SIG_ERR)
		exit(1);
	if(sigsetjmp(jmpb, 1) == 0)
 		/* metti nel loop quello che vuoi */
		while(1)
			;
 
	exit(0);
}
-- 
                    |   .-.
Gianluca Di Corato  |  : | :  I N  P E A C E  W E  T R U S T
   (aka sgrung)     |  '/|\'
Newsgroup: it.comp.os.linux.development
Titolo: kernel BUG

>>:/OuZ\:<<<
per rispondermi in mail rimuovere TOGLIQUESTO

  [<c01087c0>]
Prima di tutto hai  caricato un modulo proprietario closed-source. Visto
che BUG e`  stato chiamato in page_alloc.c scommetto che  hai una scheda
NVidia ed hai carito i driver binari.
Bug come  questi se ne sono  visti molti, e nessuno  puo` aiutarti visto
che nessuno sa cosa combina  il modulo NVidia. Lamentati con il supporto
della NV.
Prova a riprodurre il bug *senza* caricare il modulo (rimuoverlo dopo il
caricamento  non serve  a  nulla). Se riesci,  devi decodificare  l'oops
seguendo le indicazioni che trovi in Documentation/oops-tracing.txt.
Visto  che   il  BUG  non   blocca  la  macchina,  dovresti   averlo  da
qualche  parte  nei  log. Devi  decodificarlo  appena  possibile,  senza
caricare/scaricare alcun modulo.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
La vasca da bagno fu inventata nel 1850, il telefono nel 1875.
Se fossi vissuto nel 1850, avrei potuto restare in vasca per 25 anni
senza sentir squillare il telefono

 Kronos
Ciao e grazie ancora di tutto ;-)


 vengono tracciati in fase di avvio della macchina...mah
Nulla di preoccupante.
ciao
K
-- 
Home: 
http://kronoz.cjb.net
Se alla sera, dopo una strepitosa vittoria, guardandoti allo
specchio dovessi notare un secondo paio di palle, che il tuo 
cuore non si riempia d'orgoglio, perche` vuol dire che ti 
stanno inculando -- Saggio Cinese

 filtrare l'oops con ksymoops e mandare un report alla lkml.
Provero'
grazie di tutto e ciao :)


 invalid operand: 0000
risolto: era un modulo di ram difettoso :(

Newsgroup: it.comp.os.linux.development
Titolo: Parentesi graffe

come faccio a digitare le parentesi graffe per la programmazione in C? Se
uso la tastiera italiana su RH non riesco a trovarle (in windows ALT-123
ecc.ecc.)
Una idea?


Da console:
{ = AltGr + 8
} = AltGr + 9
(ma dovrebbero fungere anche Alt + 123 e Alt + 125)
Sotto X:
{ = AltGr + 7
} = AltGr + 0
(e qui i codici ascii non vanno proprio)
Alceste
-------------------------------------------------------------------

...

Grazie, ma dove č scritto?

 Grazie, ma dove è scritto?
Io l'ho saputo tramite consigli di amici + un po' di fortuna smanettando
con la tastiera... Cmq poi ho scoperto che l'Italian-HOWTO e alcuni
README delle keymap danno buone indicazioni.
Alceste
-------------------------------------------------------------------
Newsgroup: it.comp.os.linux.development
Titolo: [linux] Comunicare con un altro prog

We!
Ho un programma X che dialoga con l'utente da consolle. Devo creare un 
mio programma (in C++) che avvii X e dialoghi con lui in un modo simile.
Aiutooo!!
Palantir

 mio programma (in C++) che avvii X e dialoghi con lui in un modo simile.
Puoi usare un socket unix oppure la memoria condivisa.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
"I've seen things you people wouldn't believe...
 Attack Ships on fire off the shores of Orion.
 I've watched C-beams glitter in the dark off of Tanhauser Gate.
 All those moments will be lost in time...like tears, in rain.
 Time to die." -- Roy Batty (played by Rutger Hauer)

Newsgroup: it.comp.os.linux.development
Titolo: settare ext3/ext4 in read only

Buongiorno, vorrei chiedervi semplicemente se è possibile impostare il
"/" filesystem in readonly o in una modalità che gli utenti e nemmeno
root non possano modifcare nulla.
Quindi avrei
/dev/sda1 che è la radice "/" in read only
/dev/sda2 che è la "/home" degli utenti
/dev/sda3 swap
Io vorrei far girare un software sulla /home/<utente> che salvi i suoi
parametri e tutto che ciò gli serve nella sua cartella ma lasciare il
resto del file system intatto (in sola lettura) in modo tale che se
anche la corrente dovesse mancare, e quindi il sistema venga spento
brutalmente, il file system non subisca alcuna perdita. Il computer
verrà destinato ad un ambito industriale, ecco perchè dovrà poter
sempre ripartire anche se viene spenta malamente.
Diciamo che sto cercando una soluzione tipo l'EWF di Windows Embedded.
Grazie a tutti per le eventuali risposte, ovviamente ogni altro
consiglio o suggerimento è ben accetto.
Saluti, Davide

 root non possano modifcare nulla.
Mai pensato di usare UnionFs? in questo modo puoi avere il tuo sistema
perfettamente readonly, ma permettere la scrittura di files in alcune aree
utili (ad esempio /tmp) in memoria.
Il filesystem non potrï¿œ essere corrotto, puoi memorizzare files per cache ed
elaborazioni temporanee e in caso di problemi potrai sempre ritornare al
sistema pulito con un semplice riavvio.
-- 
| /
| \Byte - Andrea Briganti
http://kbyte.ciotoni.net
 - 
http://cslug.linux.it
Newsgroup: it.comp.os.linux.development
Titolo: problemi con compilatore gcc

salve a tutti!
vorrei chiedetvi aiuto su una questione piuttosto spinosa x me ke spero qcn
possa aiutarmi a risolvere!
Provando a compilare i sorgenti di MPlayer il configure mi diceva ke il mio
compilatore gcc 2.96 distribuito con la Mandrake 8.0 non andava bene e ke
dovevo upgradare al gcc 3.0.
Allora ho scaricato i pacchetti rpm relativi a gcc-3.0-0.85-i686,
gcc-c++-3.0-0.85-i686, cpp-3.0-0.85-i686,
libstdc++-3.0-0.85-i686, libgcc-3.0-0.85-i686.
Li ho installati quindi ho provato a compilare un tipico hello world x
vedere quanto meno se funzionava il preprocessore il linker e via dicendo e
... beh mi dà errore dicendo ke non trova iostream.h (l'unico file da
includere).
Ho pensato ke devo settare in qlc modo qlc variabile globale ke indichi dove
trovare i file da includere, tuttavia non sapendo quale fosse, ho cercato
intanto dove stesse iostream.h sul mio disco e lo ho trovato solo in
/usr/include/g++-3
Ho quindi riprovato con gcc -I/usr/include/g++-3 hello.cc ma questa volta
trovava una sfilza quasi infinita di problemi nel file iostream.h.
Ora non so + ke fare!
Il risultato attuale è ke sto senza compilatore c/c++ e quindi non posso
virtualmente fare nulla di interessante con linux!
Grazie per l'attenzione e attendo risposte!
ciao!
--
Massimo Di Casola
Email: 
max...@inwind.it

 dovevo upgradare al gcc 3.0.
Togli gcc-2.96 e gcc-3.0 e installa il buon 2.95.3!
Ciao
Stefano

 includere).
e ci credo che si arrabbia!
iostream.h NON è affatto un header standard. L'header standard si chiama 
<iostream> (senza il .h) e dichiara i nomi nel namespace std. Ecco un 
tipico hello world:
#include <iostream>
int main()
{
  std::cout << "Hello world!" << std::endl;
}
Ciao Anto
-- 
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it

Newsgroup: it.comp.os.linux.development
Titolo: Eseguire un applicazione da un'altra applicazione

Ciao.
Come faccio a lanciare un programma da un altro programma scritto in C,
in ambiente Linux (quindi niente MFC)? Ovvero come implemento
ShellExecute sotto Linux?
Grazie,
Nico
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


mmh...non so, se vuoi che venga eseguito dalla shell puoi usare system(), 
altrimenti forki e poi chiami una delle exec()
ciao


Ok. Tradotto :-) ?
Non ho esperienza in C ma vorrei modificare un'applicazione esistente
affinchè, con un certo evento, che ho già individuato nel codice, mi
lanci uno specifico script Perl.
Ciao e grazie,


 Nico
bye
-- 
David Mugnai
To err is human...to really foul up requires the root password.
Newsgroup: it.comp.os.linux.development
Titolo: iniziare con make

Essendomi stufato di usare il gcc da riga di comando, dove posso trovare dei
doc. per capire il funzionamento del make?
thanx

Max wrote:

prova : man make
Ciao
Emiliano

 prova : man make
Magari info make e' meglio, eh?
Cerchiamo di non dare risposte prefabbricate, per piacere. man make 
dice solo quali sono gli argomenti a riga di comando, 200 righe
forse compreso le righe vuote e le intestazioni... Ci fa il brodo.
E poi immagino che man lo sappia usare pure lui.
Su info invece trovi sostanzialmente il manuale del GNU make che e'
quello che effettivamente serve per lavorarci.
In piu' consiglio a Max: non appena ne capisci qualcosa di piu' di dare
una occhiata anche ad autoconf/automake, se ti rendi
conto che i tuoi progetti cominciano ad essere di una certa
complessita'...
-- 
Francesco P. Lovergine

Newsgroup: it.comp.os.linux.development
Titolo: Kylix 2 Enterprice

 assai a quelli della Borland ma gratis(Open-Source non ci spererei) .
Semmai fatteli tu e distribuiscili sotto GPL.
Molti te ne saranno grati.
Alessandro.

 dobbiamo fare i pirati anche per il software linux?!! Se non fosse gratis
By Enri'S
-- 
                        --- Linux Powered ---

Newsgroup: it.comp.os.linux.development
Titolo: Cross Compiler

Salve a tutti.
       Avrei un estremo bisogno di travare materiale che spieghi le
basi di funzionamento genrali di un qualsiasi CROSS COMPILER
(ASSEMBLER). Sulla rete non sono riuscito a trovare informazioni sulla
teoria di base e sul funzionamento teorico.
Grazie a TUTTI
              Daniele


Da una rapida scorsa alla documentazione del GCC (che puoi trovare qui 
http://gcc.gnu.org/onlinedocs/
) non ho visto ciò che ricordavo sulla 
documentazione del funzionamento del compilatore e che nelle prime 
versioni era disponibile.  Ma vale la pena di dare un'occhiata se 
trovi qualcosa di interessante.
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >
Newsgroup: it.comp.os.linux.development
Titolo: Problema Scheda Audio

Ho  problema; ho installato Open Linux 2.2.5  sul mio PC ma
non riesco a fargli riconoscere la mia scheda audio.
Si tratta di una OPTi Sound System della quale elenco le risorse
(secondo la voce Risorse del Computer di Win98):
OPTi Plug and Play Sound System:
Intervallo di I/O     0534-0537
Intervallo di I/O     0380-038B
Intervallo di I/O     0220-022F
Intervallo di I/O     0E0C-0E0F
Livello di interrupt  05
DMA                   03
DMA                   06
OPTi PLUGANDPLAY MPU401:
Intervallo di I/O     0300-0301
Livello di Interrupt  09
Ho provato col comando insmod a caricare il
modulo mpu401, il modulo uart401 ed il modulo sb con gli opportuni valori di
irq,
dma ed i/o, ma niente quando faccio la prova suono con il comando
play mi dice: device busy oppure Not such device.
Ho provato varie combinazioni di valori di dma, irq, ma niente.
Che faccio? Mi arrendo e rinuncio all'audio? Esistono dei moduli del kernel
per la mia scheda audio?
Grazie.
--
           _!_?_
         <\° ° />
 karloff \@/ 
libero.it

seros wrote:

Scrivi nel newsgroup giusto, che ti risponderà più gente.
Comunque cosa inserisci il modulo sb.o se non è una soundblaster???
Va in /usr/src/linux/Documentation/sound e fatti una cultura

Si tratta di una OPTi Sound System 
Se e' simile alla mia e non ti fa schifo tirare giu' mezzo mega di roba,
OPTi 931 su 
http://www.linuxvalley.com/~lserni
...oppure guarda i drivers ALSA, che sono fatti bene assai.
Leonardo
".signature": bad command or file name

 Va in /usr/src/linux/Documentation/sound e fatti una cultura
Ci sono stato ma non ci ho capito molto e quello che ho capito ho provato ad
applicarlo
ma non ha funzionato. Comunque visto che tu sei così colto potevi darmi un
aiutino
un po' più concreto....
 Ciao


 per la mia scheda audio?
Non e' che per caso su Open Linux
c'e' come su Red Hat il comando 'sndconfig'?
E` molto piu` comodo fargli fare tutto
automaticamente e poi capire che cosa ha fatto :-)
Ciao,
	Nicola

Newsgroup: it.comp.os.linux.development
Titolo: Niubbo in C

Perche questo pezzo di codice:
void on_frmMain_realize (GtkWidget *widget, gpointer user_data)
{
	conn=mysql_init (conn);
	if (conn != NULL)
	{ 
		conn=mysql_real_connect (conn, vMyHost, vMyUser, vMyPwd, vMyDb, 0, NULL, 0);
	}
}
mi da:
parse error before ';' token
sul mysql_real_connect ?

 [2002-11-20 00:44]:

Così come è scritto, pur avendo qualche dubbio sulla sintassi delle
chiamate, il codice è corretto. Sei sicuro di non esserti dimenticato
qualche parentesi in giro?
Ciao,
 Emmanuele.
-- 
Emmanuele Bassi (Zefram)           [ 
http://www.radiance.ods.org/~zefram
 ]
GnuPG Key fingerprint = 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4

  sul mysql_real_connect ?
prova a spezzare la riga con \ <invio> come ho fatto sopra ...
ciao ...
-- 
#include <stdio.h>
int main(void){char c[]={10,65,110,116,111,110,105,111,32,98,97,114,98,111,110,
101,32,60,104,105,110,100,101,109,105,116,64,116,105,115,99,97,108,105,110,101,
116,46,105,116,62,10,10,0}; printf("%s",c); return 0;}
Newsgroup: it.comp.os.linux.development
Titolo: DLL sotto Linux ?

Salve a tutti,
ho seguito da poco una discussione su questi temi, ma non ho trovato
la risposta alla mia domanda : qual'e' l'equivalente delle DLL Windows
sotto Linux ?
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
-----------------------------------------------------
"There is nothing better for understanding a kangaroo
 than seeing it jump." [D.Grune, C.J.H. Jacobs]
-----------------------------------------------------

 sotto Linux ?
Sono le lib*.so[.version]. Solitamente le carica il loader ld.so.
Ciao
 David
-- 
<d.santinoli presso mi. flashnet. it>

Sono le lib*.so[.version]. Solitamente le carica il loader ld.so.
Grazie dell'informazione.
Approfitto per chiederti se e' possibile crearle (penso proprio di
si') usando il semplice gcc. Se si', mi faresti un piccolo esempio ?
Magari anche uno di utilizzo delle stesse librerie.


 Magari anche uno di utilizzo delle stesse librerie.
http://www.linuxdoc.org/HOWTO/Program-Library-HOWTO/index.html
Ciao
-- 
Simone Piccardi
Microsoft is NOT the answer. Microsoft is the Question.
The answer is: "NO!"

Newsgroup: it.comp.os.linux.development
Titolo: MONO su embedded linux

Salve a tutti,
sono uno studente universitario (ingegneria informatica) al lavoro per
un progetto di tesi presso una azienda. Il progetto prevede il porting
di un sistema sviluppato su piattaforma .NET su s.o. Linux embedded.
L'hardware embedded è un architettura pc (geode 300mhz, flash card
32MB, sdram 64MB) sul quale installare linux e valutare la possibilità
di utilizzare MONO per il porting del sistema.
L'hardware specificato funge da RTU in una architettura di tipo SCADA.
Sono nella fase di ricerca dei s.o. linux disponibili, orientata in
particolare a sistemi free o open-source a basso costo.
Scrivo per cercare consigli a riguardo, e considerazioni sui sistemi
che qualcuno abbia già preso in esame.
Il sistema operativo da scegliere dovrebbe essere il più possibile
modulare e consentire una certa "comodità" nell'aggiornamento delle
librerie di sistema.
Grazie a chi potrà fornire consigli utili!

 Grazie a chi potrà fornire consigli utili!
openembedded[1] - oppure poky[2].
ovviamente, dovrai pacchettizzare mono con bitbake - non un'impresa
impossibile, ma dovrai studiarti bene il formato.
ciao,
 Emmanuele.
+++
[1] 
http://openembedded.org
[2] 
http://projects.o-hand.com/poky/

 di utilizzare MONO per il porting del sistema.
Hum, io sto lottando per fare entrare il runtime sulla flash da 64MB (al
momento mi toccare fare il boot da NFS); non penso che ci siano
speranze per 32MB. La CPU è un C3 a 400MHz, con 64MB di SDRAM; le
prestazioni sono accettabili (almeno per il mio usecase).
Luca
Luca
-- 
Collect some stars to shine for you
And start today 'cause there's only a few
A sign of times my friend

 Grazie a chi potrà fornire consigli utili!
Dai uno sguardo a questo:
http://www.mono-project.com/Small_footprint
Newsgroup: it.comp.os.linux.development
Titolo: Cerco programma per monitorare carico CPU

Avrei bisogno di un programma in grado di monitorare il carico di una
CPU e di salvare i file a video in un file. Sapreste indicarimi dei
programmi validi?


Esistono il comando top, oppure l'applet "Monitor di sistema" di GNOME, 
e molte altre alternative, sempre che non abbia capito male.
Per la seconda richiesta, ad essere sincero non ho capito cosa ti serve :)
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Xoen
Jabber ID : 
xo...@jabber.linux.it
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

"tload" ;-)
Saluti,
-- 
David N. Welton
 - 
http://www.dedasys.com/davidw/
Apache, Linux, Tcl Consulting
 - 
http://www.dedasys.com/


Salva l'output di uptime, o il contenuto di /proc/loadavg, ad ogni 
istante di tempo in un file di testo. Poi puoi usare gnuplot o altro per 
fare un grafico.
#!/bin/sh
while true; do
    cat /proc/loadavg # o uptime
    sleep 1
done > load_data.txt
Daniele

Grazie 1000

Newsgroup: it.comp.os.linux.development
Titolo: [gtk] file support.c

ciao
premetto che io fino a ieri invece che chiamare la lookup_widget mettevo
come variabili globali tutti i widget nel file interface.h...
ora: la lookup_widget ha bisogno comunque del widget parent.
quindi comunque questo deve essere messo nell' interface.h.
o no?

o no?
No.
In una callback viene passato il pointer al widget che l'ha chiamata.
tu prendi quel pointer, fai il "cast" opportuno a GtkWidget* (usando
le macro di Gtk, non il cast del C !!!)  e lo passi alla
lookup_widget()
Es: (vado a memoria)
void calback ( GtkObject* obj, .....)
{
	GtkWidget *wdgt = lookup_widget (GTK_WIDGET(obj),
		"nome_del_widget_che devi_ottenere");
}
Nei sorgenti di Glade trovi un esempio utile.
Ciao
F.

Newsgroup: it.comp.os.linux.development
Titolo: pipes shell e C++

Salve a tutti,
Qualcuno ha qualche esempio di codice C/C++ che gestisce la pipe della
shell?
L'obiettivo e' per esempio:
ls | mioprog
Grazie in anticipo.



Ok, mi sono risposto da solo : stdin
che domanda idiota :-(



neanche tanto.
penso che popen, popen2 e famiglia siano piu' indicate
Ciao,
Riccardo
-- 
-=Riccardo Galli=-
 _,e.
s~  ``
 ~@.   ideralis Programs
.   ol 
 `**~  
http://www.sideralis.net


Ma questa funzione non si usa quando dall'interno del mio programma
voglio creare un'altro processo con una pipe fra il chiamante e il
"chiamato"?
Io volevo solo fare un comando che ricevesso l'input da shell (il
chiamante).
Non so, forse non mi ero spiegato bene.
Comunque, colgo al volo l'occasione di chiedere se esiste una maniera per
fare il debug di un programma di questo tipo, ovvero:
nel caso ls | mioprog, come uso gdb per debuggare mioprog?
Grazie ancora
Newsgroup: it.comp.os.linux.development
Titolo: Trasferimento file con PHP

Salve a tutti
Come faccio a trasferire un file fra due apache usando il PHP?
Ho provato con:
$fp=fsockopen("
www.bodyglamour.com/negozio/UPDATE.sql
", 80, &$errno, &$errstr,30);
ecc.
ma mi da errore N.0. riesco solo a scaricare e visualizzare l'indice se, dopo
l'indirizzo non specifico alcuna directory o file.
Ciao
Salvatore

 ecc.
risolto! La directory andava specificata nell'intestazione http

 Come faccio a trasferire un file fra due apache usando il PHP?
a proposito di php:
$ telnet 
news.tin.it
 119
200 
news.tin.it
 (Twister v1.2.0)
group it.comp.www.php
411 No Such Group
forse e' un po' OT, ma visto che da queste parti bazzica Marco...
ciao
Kronos
-- 
Home: 
http://kronoz.tsx.org
Io mi ricordo sempre il compleanno della mia ragazza:
cade il giorno dopo di quando lei me lo ricorda


E' in ferie e sta godendo su una isola dei mairi tropicali ed il telefono
piu vicino dista da lui 3000 Km :-))
-- 
Sidewinder  
---------------------------------------------------------------------
(It is an old Debian tradition to leave at least twice a year ...)
	-- Sven Rudolph
---------------------------------------------------------------------

 piu vicino dista da lui 3000 Km :-))
ah, ecco...
sapresti dirmi se il messaggio di creazione e' stato mandato?
ciao
Kronos
-- 
Home: 
http://kronoz.tsx.org
Ci sono due cose che l'uomo non puo' nascondere:
essere ubriaco ed essere innamorato.
Newsgroup: it.comp.os.linux.development
Titolo: cambiare immagine ad una pixmap gtk

sto da poco cercando di imparere le GTK2, il problema, fin'ora con la
documentazione online sono riuscito ad andare avanti, ma ora 
mi sono bloccato, e nn riesco a cambiare l'immagine ad una 
pixmap, quello che ho fatto è: 
/*creo N pixmap la metto in un eventbox gli dò dimensione e posizione
e definisco i vari eventi*/
 
  for(i=0;i<N;i++)
  {
  	event[i] = gtk_event_box_new ();
  	gtk_widget_show (event[i]);
  	gtk_widget_set_events (event[i], GDK_EXPOSURE_MASK
                         | GDK_LEAVE_NOTIFY_MASK
                         | GDK_BUTTON_PRESS_MASK
                         | GDK_POINTER_MOTION_MASK
                         | GDK_POINTER_MOTION_HINT_MASK);
  	gtk_fixed_put (GTK_FIXED (fixed1), event[i], 8*i, 16+i);
  	gtk_widget_set_size_request (event[i], 30, 21);
 
  	imm[i] = gtk_image_new_from_file ("image.png");
  	//gtk_widget_set_name (image1, "image1");
 
  	gtk_widget_show (imm[i]);
  	gtk_container_add (GTK_CONTAINER (event[i]), imm[i]);	
	g_signal_connect ((gpointer) event[i], "button_press_event",
                    G_CALLBACK (on_image1_button_press_event),
                    imm[i]);
	g_signal_connect ((gpointer) event[i], "button_release_event",
                    G_CALLBACK (on_image1_button_release_event),
		    fixed1);
	gtk_signal_connect ((gpointer) event[i], "motion_notify_event",
                    (GtkSignalFunc) on_image1_motion_notify_event, 
		    fixed1);
  }
 
/* questa è la callbacks che richiama se premo un tasot del mouse 
    io vogli che se premo il tasto destro mi cambi l'immagine */
gboolean
on_image1_button_press_event           (GtkWidget       *widget,
                                        GdkEventButton  *event,
                                        gpointer         user_data)
{
  if (event->button == 1)
  {
  	premuto = TRUE;
  }
  else if (event->button == 2)
  {
  	g_print ("tasto centrale\n");
  } 
  else if (event->button == 3)
  {
  	GtkPixmap *tmp;
	tmp=gtk_image_new_from_file ("image2.png");
 
  	gtk_pixmap_set ( ((GtkPixmap*)(user_data))->pixmap, tmp->pixmap ,NULL);
	g_print ("tasto destro\n");
  } 
 return FALSE;
}
ma quando clicco con il tasto destro il programma mi và in "segmention fault"
dove sbaglio?
nella documentazione delle GtkPixmap l'unica funzione che ho trovato 
per cambiare immagine è questa "gtk_pixmap_set" ma c'è anche scritto che
è deprecata, quindi ci deve essere un modo diverso per farlo, ma come?

 è deprecata, quindi ci deve essere un modo diverso per farlo, ma come?
Boh...forse basta usare GtkImage, poi c'è anche un tipo GdkPixmap
potrebbe essere utile, però non saprei.
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Xoen
Jabber ID : 
xo...@jabber.linux.it
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 provato, tutto questo in teoria, ma magari funge.
Azzz non avevo fatto caso che prima caricavo una GtkImage e dopo
la usavo come GtkPixmap :D
cmq ora funziona solo devo capire come creare una GdkImage 
da file per passarla come secondo parametro
Newsgroup: it.comp.os.linux.development
Titolo: SVGA, CGI, e SDL... e OpenGL....

Ho visto su un sito un tutorial sulla SVGAlib. Com'è? E' in modalità console
o in X-win?
E la CGI? Conviene comunque usare la SDL?
Con la SDL, si possono usare, oltre al double buffering, il page flipping e
lo scrolling hardware?
Come mai ho visto in diversi listati, diversi modi di inizializzare
l'OpenGL?
Infine, dove posso trovare documentazione sull'X-Lib e sulla programmazione
linux ingenerale?
Grazie!
--
Marco Iannaccone
marc...@tin.it
Nick: Tolkien
ICQ UIN: 18748121
"This is a new ship, boy, but she's got the right name...
You treat her like a lady, and she'll always bring you home"
"Questa è una nave moderna, ma ha un nome antico e glorioso...
Trattala come una signora e ti riporterà sempre a casa"
FAQ di it.comp.lang.c:
http://www.programmazione.it/linguaggi/c/itcomplangc.htm
FAQ di it.comp.lang.c++:
http://www.programmazione.it/linguaggi/c/lang_faq.htm

 Infine, dove posso trovare documentazione sull'X-Lib e sulla programmazione
Credo che i testi piu` validi siano ancora quelli che han fatto la
fortuna di Tim O'Reilly (li trovi in fondo a
http://unix.oreilly.com/
).  Ma onestamente andare dritti sull'Xlib e`
un bel casino che IMHO vale la pena di risparmiarsi.
-- 
Matteo Ianeselli  
matteoianeselli AT 
poboxes.com

--
Per favore riduci la tua firma alle quattro righe standard.
-- 
ciao, | [Per rispondere togli "toglimi" dal mio indirizzo.]
Marco | * The Internet is full. Go away.  -- Joel Furr *
      | (Ri)scoprire fidonet: 
http://bbs.mi.linux.it

potrei sbagliarmi.
No, e' in continua evoluzione. Tra non moltissimo uscira' la versione
2.0beta3
Saluti,
    Mardy

> lo scrolling hardware?
per lo scrolling HW non ho ancora visto niente nella doumentazione,
il double buffering lo implementa automaticamente,
basta passare a SDL_InitVideo() il flag SDL_HWSURFACE, per
il page flipping SDL_DOUBLEBUFF in OR con il flag precedente,
in modo che la libreria allochi due buffer in memoria video e non nella memoria
di sistema.
per un tutoria ancora allo primo stadio 
nalug.linux.it/giochi