anytime you have a design decision that involves "hmm, should i overload the arguments of a function to allow more than one different operation (e.g., overloading a function to allow for parameters for two different operations, say addition and deletion), or should i simply create two differently named functions to represent the two disparate operations, taking into effect this decision has in maintenance?
int create(int key, uint8_t *data);versus
int create(int key, int delete, uint8_t *data);
you should always opt for the latter, and almost never the former
the reason why?
net use \\x\y /user:zversus
net use /delete \\x\y /user:zwhich would you prefer to show other people? note that this is not to say what you would prefer to use yourself, with all of your solid computing knowledge available to you.