The arguments are defined as unsigned long:
typedef struct open_arg_s {
unsigned long ret;
unsigned long ptr_filename;
unsigned long flags;
unsigned long mode;
} open_arg_s;
However the code has a lot of tests for negativeness:
if (arg->ret >= 0) {
// This is always executed
}
The arguments are defined as
unsigned long:However the code has a lot of tests for negativeness: