CWD_API int virtual_chdir_file(const char *path, int (*p_chdir)(const char *path)) /* {{{ */
{
- int length = (int)strlen(path);
+ size_t length = strlen(path);
char *temp;
int retval;
ALLOCA_FLAG(use_heap)
if (length == 0) {
return 1; /* Can't cd to empty string */
}
- while(--length >= 0 && !IS_SLASH(path[length])) {
+ while(--length < SIZE_MAX && !IS_SLASH(path[length])) {
}
- if (length == -1) {
+ if (length == SIZE_MAX) {
/* No directory only file name */
errno = ENOENT;
return -1;