summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
3b5cb2c)
Also include necessary casts to make sequence macros worked properly.
Based on code contributed by M. Levinson.
/*
* type for holding the sequence set of a message
*/
/*
* type for holding the sequence set of a message
*/
-typedef unsigned int seqset_t;
-
-/*
- * Determine the number of user defined sequences we
- * can have. The first 5 sequence flags are for
- * internal nmh message flags.
- */
-#define NUMATTRS ((sizeof(seqset_t) * Nbby) - 5)
+typedef unsigned long seqset_t;
/*
* first free slot for user defined sequences
/*
* first free slot for user defined sequences
+/*
+ * Determine the number of user defined sequences we
+ * can have. The first FFATTRSLOT sequence flags are for
+ * internal nmh message flags.
+ */
+#define NUMATTRS ((sizeof(seqset_t) * Nbby) - FFATTRSLOT)
+
/*
* internal messages attributes (sequences)
*/
/*
* internal messages attributes (sequences)
*/
#define set_deleted(mp,msgnum) ((mp)->msgstats[(msgnum) - mp->lowoff] |= DELETED)
#define in_sequence(mp,seqnum,msgnum) \
#define set_deleted(mp,msgnum) ((mp)->msgstats[(msgnum) - mp->lowoff] |= DELETED)
#define in_sequence(mp,seqnum,msgnum) \
- ((mp)->msgstats[(msgnum) - mp->lowoff] & (1 << (FFATTRSLOT + seqnum)))
+ ((mp)->msgstats[(msgnum) - mp->lowoff] & ((seqset_t)1 << (FFATTRSLOT + seqnum)))
#define clear_sequence(mp,seqnum,msgnum) \
#define clear_sequence(mp,seqnum,msgnum) \
- ((mp)->msgstats[(msgnum) - mp->lowoff] &= ~(1 << (FFATTRSLOT + seqnum)))
+ ((mp)->msgstats[(msgnum) - mp->lowoff] &= ~((seqset_t)1 << (FFATTRSLOT + seqnum)))
#define add_sequence(mp,seqnum,msgnum) \
#define add_sequence(mp,seqnum,msgnum) \
- ((mp)->msgstats[(msgnum) - mp->lowoff] |= (1 << (FFATTRSLOT + seqnum)))
+ ((mp)->msgstats[(msgnum) - mp->lowoff] |= ((seqset_t)1 << (FFATTRSLOT + seqnum)))
#define is_seq_private(mp,seqnum) \
#define is_seq_private(mp,seqnum) \
- ((mp)->attrstats & (1 << (FFATTRSLOT + seqnum)))
+ ((mp)->attrstats & ((seqset_t)1 << (FFATTRSLOT + seqnum)))
#define make_seq_public(mp,seqnum) \
#define make_seq_public(mp,seqnum) \
- ((mp)->attrstats &= ~(1 << (FFATTRSLOT + seqnum)))
+ ((mp)->attrstats &= ~((seqset_t)1 << (FFATTRSLOT + seqnum)))
#define make_seq_private(mp,seqnum) \
#define make_seq_private(mp,seqnum) \
- ((mp)->attrstats |= (1 << (FFATTRSLOT + seqnum)))
+ ((mp)->attrstats |= ((seqset_t)1 << (FFATTRSLOT + seqnum)))
#define make_all_public(mp) \
((mp)->attrstats = 0)
#define make_all_public(mp) \
((mp)->attrstats = 0)
#define MHNCHK 0x0001 /* did nontext check */
#define MHNYES 0x0002 /* .. and known to be non-text */
#define MHNCHK 0x0001 /* did nontext check */
#define MHNYES 0x0002 /* .. and known to be non-text */
-#define CUR (1 << (FFATTRSLOT + NUMATTRS - 1))
+#define CUR ((seqset_t)1 << (FFATTRSLOT + NUMATTRS - 1))
#ifdef BPOP
# define VIRTUAL SELECT_EMPTY
#ifdef BPOP
# define VIRTUAL SELECT_EMPTY