FreeCalypso > hg > freecalypso-tools
view ffstools/tiffs-mkfs/struct.h @ 965:2969032bdfac
fcup-smsend[mult]: fix buglet in K&R C NULL pointer passing
The only 100% safe way to pass a NULL pointer as a function argument
in K&R C is to cast 0 to a pointer type; failing to do so may cause
mysterious bugs (invalid stack frames or garbage in argument registers)
on 64-bit machines. This issue has already been fixed in most of
FC host tools, but I just found some missed spots: passing of NULL UDH
to PDU encoding functions in fcup-smsend[mult] in the case of single
(not concatenated) SMS.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 01 Sep 2023 07:33:51 +0000 |
parents | 178ed445021d |
children |
line wrap: on
line source
/* some general limits */ #define MAX_FN_COMPONENT 20 #define MAX_DIR_NEST 6 #define MAX_DIR_ENTRIES 128 /* tree of content to be written */ struct tree_object { char name[MAX_FN_COMPONENT+1]; int is_dir; union { struct { struct tree_object *children[MAX_DIR_ENTRIES]; unsigned nchildren; uint16_t *ffs_link_ptr; } d; struct { char host_pathname[MAXPATHLEN]; } f; } u; }; /* actual TIFFS on-media structure */ struct tiffs_inode { uint16_t size; uint8_t reserved1; uint8_t type; uint16_t child; uint16_t sibling; uint32_t location; uint16_t sequence; uint16_t updates; }; /* TIFFS object types */ #define OBJTYPE_FILE 0xF1 #define OBJTYPE_FILE_RO 0xE1 #define OBJTYPE_DIR 0xF2 #define OBJTYPE_SYMLINK 0xF3 #define OBJTYPE_SEGMENT 0xF4