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); |