Changeset 732bb0c in mainline for uspace/srv/vfs/vfs_ops.c


Ignore:
Timestamp:
2009-04-14T19:08:10Z (16 years ago)
Author:
Jiri Svoboda <jirik.svoboda@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4482bc7
Parents:
47a6708
Message:

Nuke strncmp().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/vfs/vfs_ops.c

    r47a6708 r732bb0c  
    805805void vfs_rename(ipc_callid_t rid, ipc_call_t *request)
    806806{
    807         size_t len;
     807        size_t olen, nlen;
    808808        ipc_callid_t callid;
    809809        int rc;
    810810
    811811        /* Retrieve the old path. */
    812         if (!ipc_data_write_receive(&callid, &len)) {
     812        if (!ipc_data_write_receive(&callid, &olen)) {
    813813                ipc_answer_0(callid, EINVAL);
    814814                ipc_answer_0(rid, EINVAL);
    815815                return;
    816816        }
    817         char *old = malloc(len + 1);
     817        char *old = malloc(olen + 1);
    818818        if (!old) {
    819819                ipc_answer_0(callid, ENOMEM);
     
    821821                return;
    822822        }
    823         if ((rc = ipc_data_write_finalize(callid, old, len))) {
    824                 ipc_answer_0(rid, rc);
    825                 free(old);
    826                 return;
    827         }
    828         old[len] = '\0';
     823        if ((rc = ipc_data_write_finalize(callid, old, olen))) {
     824                ipc_answer_0(rid, rc);
     825                free(old);
     826                return;
     827        }
     828        old[olen] = '\0';
    829829       
    830830        /* Retrieve the new path. */
    831         if (!ipc_data_write_receive(&callid, &len)) {
     831        if (!ipc_data_write_receive(&callid, &nlen)) {
    832832                ipc_answer_0(callid, EINVAL);
    833833                ipc_answer_0(rid, EINVAL);
     
    835835                return;
    836836        }
    837         char *new = malloc(len + 1);
     837        char *new = malloc(nlen + 1);
    838838        if (!new) {
    839839                ipc_answer_0(callid, ENOMEM);
     
    842842                return;
    843843        }
    844         if ((rc = ipc_data_write_finalize(callid, new, len))) {
     844        if ((rc = ipc_data_write_finalize(callid, new, nlen))) {
    845845                ipc_answer_0(rid, rc);
    846846                free(old);
     
    848848                return;
    849849        }
    850         new[len] = '\0';
    851 
    852         char *oldc = canonify(old, &len);
    853         char *newc = canonify(new, NULL);
     850        new[nlen] = '\0';
     851
     852        char *oldc = canonify(old, &olen);
     853        char *newc = canonify(new, &nlen);
    854854        if (!oldc || !newc) {
    855855                ipc_answer_0(rid, EINVAL);
     
    858858                return;
    859859        }
    860         if (!strncmp(newc, oldc, len)) {
     860        oldc[olen] = '\0';
     861        newc[nlen] = '\0';
     862        if (!str_lcmp(newc, oldc, str_length(oldc))) {
    861863                /* oldc is a prefix of newc */
    862864                ipc_answer_0(rid, EINVAL);
Note: See TracChangeset for help on using the changeset viewer.