/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
Bech_bb 500
kyllekylle 500
jdjespers.. 500
gibson 300
scootergr.. 300
molokyle 287
10  strarup 270
#define OPT_PEER_H ((uint64_t)1 << 34) gi~
Fra : Leif Neland


Dato : 30-11-09 15:01

FreeBSD:

Jeg prøver at modificere asterisk, og skal i den forbindelse lave et
64-bit flag

i app_dial.c

flagene 0 til 31 er defineret
enum {
OPT_ANNOUNCE =   (1 << 0),
OPT_RESETCDR =   (1 << 1),
....
OPT_CALLER_MIXMONITOR = (1 << 30),
}

Flagene derefter er defineret
#define DIAL_STILLGOING (1 << 31)
#define DIAL_NOFORWARDHTML ((uint64_t)1 << 32) /* flags are now 64 bits,
so keep it up! */
#define OPT_CANCEL_ELSEWHERE ((uint64_t)1 << 33)


Men prøver jeg at udskrive flag lavet med uint64_t er de alle 0?!

ast_verb(2,"Testing: DIAL_STILLGOING = %d\n",DIAL_STILLGOING) skriver et
stort negativt tal
ast_verb(2,"Testing: DIAL_NOFORWARDHTML = %d\n",DIAL_NOFORWARDHTML)
skriver nul?!

Hvad er der galt?
--
Jeg foretrækker min the tilberedt efter BS6008

 
 
Leif Neland (30-11-2009)
Kommentar
Fra : Leif Neland


Dato : 30-11-09 15:34

Leif Neland skrev:
> FreeBSD:
>
> Jeg prøver at modificere asterisk, og skal i den forbindelse lave et
> 64-bit flag
>
> i app_dial.c
>
> flagene 0 til 31 er defineret
> enum {
> OPT_ANNOUNCE = (1 << 0),
> OPT_RESETCDR = (1 << 1),
> ...
> OPT_CALLER_MIXMONITOR = (1 << 30),
> }
>
> Flagene derefter er defineret
> #define DIAL_STILLGOING (1 << 31)
> #define DIAL_NOFORWARDHTML ((uint64_t)1 << 32) /* flags are now 64 bits,
> so keep it up! */
> #define OPT_CANCEL_ELSEWHERE ((uint64_t)1 << 33)
>
>
> Men prøver jeg at udskrive flag lavet med uint64_t er de alle 0?!
>
> ast_verb(2,"Testing: DIAL_STILLGOING = %d\n",DIAL_STILLGOING) skriver et
> stort negativt tal
> ast_verb(2,"Testing: DIAL_NOFORWARDHTML = %d\n",DIAL_NOFORWARDHTML)
> skriver nul?!
>
> Hvad er der galt?

en 64-bit værdi passer ikke i en %d...
%llu var bedre.

Leif

--
Jeg foretrækker min the tilberedt efter BS6008

Søg
Reklame
Statistik
Spørgsmål : 177415
Tips : 31962
Nyheder : 719565
Indlæg : 6407849
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste