Rev 4366 | Rev 4409 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4366 | Rev 4368 | ||
---|---|---|---|
Line 987... | Line 987... | ||
987 | ipc_answer_0(rid, ENOMEM); |
987 | ipc_answer_0(rid, ENOMEM); |
988 | free(old); |
988 | free(old); |
989 | free(new); |
989 | free(new); |
990 | return; |
990 | return; |
991 | } |
991 | } |
- | 992 | /* Determine the path to the parent of the node with the new name. */ |
|
- | 993 | char *parentc = str_dup(newc); |
|
- | 994 | if (!parentc) { |
|
- | 995 | rwlock_write_unlock(&namespace_rwlock); |
|
- | 996 | ipc_answer_0(rid, rc); |
|
- | 997 | free(old); |
|
- | 998 | free(new); |
|
- | 999 | return; |
|
- | 1000 | } |
|
- | 1001 | char *lastsl = str_rchr(parentc + 1, L'/'); |
|
- | 1002 | if (lastsl) |
|
- | 1003 | *lastsl = '\0'; |
|
- | 1004 | else |
|
- | 1005 | parentc[1] = '\0'; |
|
992 | /* Lookup parent of the new file name. */ |
1006 | /* Lookup parent of the new file name. */ |
993 | rc = vfs_lookup_internal(newc, L_PARENT, &new_par_lr, NULL); |
1007 | rc = vfs_lookup_internal(parentc, L_NONE, &new_par_lr, NULL); |
- | 1008 | free(parentc); /* not needed anymore */ |
|
994 | if (rc != EOK) { |
1009 | if (rc != EOK) { |
995 | rwlock_write_unlock(&namespace_rwlock); |
1010 | rwlock_write_unlock(&namespace_rwlock); |
996 | ipc_answer_0(rid, rc); |
1011 | ipc_answer_0(rid, rc); |
997 | free(old); |
1012 | free(old); |
998 | free(new); |
1013 | free(new); |