Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fs/fat/fat_ops.c

    r4cac2d69 r430de97  
    974974        uint16_t bps;
    975975        uint16_t rde;
    976        
    977         /* Accept the mount options */
    978         char *opts;
    979         int rc = async_data_write_accept((void **) &opts, true, 0, 0, 0, NULL);
    980        
    981         if (rc != EOK) {
    982                 ipc_answer_0(rid, rc);
    983                 return;
    984         }
     976        int rc;
     977
     978        /* accept the mount options */
     979        ipc_callid_t callid;
     980        size_t size;
     981        if (!async_data_write_receive(&callid, &size)) {
     982                ipc_answer_0(callid, EINVAL);
     983                ipc_answer_0(rid, EINVAL);
     984                return;
     985        }
     986        char *opts = malloc(size + 1);
     987        if (!opts) {
     988                ipc_answer_0(callid, ENOMEM);
     989                ipc_answer_0(rid, ENOMEM);
     990                return;
     991        }
     992        ipcarg_t retval = async_data_write_finalize(callid, opts, size);
     993        if (retval != EOK) {
     994                ipc_answer_0(rid, retval);
     995                free(opts);
     996                return;
     997        }
     998        opts[size] = '\0';
    985999
    9861000        /* Check for option enabling write through. */
Note: See TracChangeset for help on using the changeset viewer.