|
| #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
| |
|
|