diff --git a/sysdeps/unix/sysv/sco3.2.4/direct.h b/sysdeps/unix/sysv/sco3.2.4/direct.h index 350300eb22..b3eaa54c8b 100644 --- a/sysdeps/unix/sysv/sco3.2.4/direct.h +++ b/sysdeps/unix/sysv/sco3.2.4/direct.h @@ -9,5 +9,14 @@ struct direct short int d_pad; long int d_off; unsigned short int d_reclen; - char d_name[1]; + char d_name[1]; /* Actually longer. */ }; + +#include + +/* We calculate the length of the name by taking the length of the whole + `struct direct' record, subtracting the size of everything before the + name, and subtracting one for the terminating null. */ + +#define D_NAMLEN(d) \ + ((d)->d_reclen - offsetof (struct direct, d_name) - 1)