Rev 4268 | Rev 4357 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4268 | Rev 4305 | ||
---|---|---|---|
Line 753... | Line 753... | ||
753 | fat_bs_t *bs; |
753 | fat_bs_t *bs; |
754 | uint16_t bps; |
754 | uint16_t bps; |
755 | uint16_t rde; |
755 | uint16_t rde; |
756 | int rc; |
756 | int rc; |
757 | 757 | ||
- | 758 | /* accept the mount options */ |
|
- | 759 | ipc_callid_t callid; |
|
- | 760 | size_t size; |
|
- | 761 | if (!ipc_data_write_receive(&callid, &size)) { |
|
- | 762 | ipc_answer_0(callid, EINVAL); |
|
- | 763 | ipc_answer_0(rid, EINVAL); |
|
- | 764 | return; |
|
- | 765 | } |
|
- | 766 | char *opts = malloc(size + 1); |
|
- | 767 | if (!opts) { |
|
- | 768 | ipc_answer_0(callid, ENOMEM); |
|
- | 769 | ipc_answer_0(rid, ENOMEM); |
|
- | 770 | return; |
|
- | 771 | } |
|
- | 772 | ipcarg_t retval = ipc_data_write_finalize(callid, opts, size); |
|
- | 773 | if (retval != EOK) { |
|
- | 774 | ipc_answer_0(rid, retval); |
|
- | 775 | free(opts); |
|
- | 776 | return; |
|
- | 777 | } |
|
- | 778 | opts[size] = '\0'; |
|
- | 779 | ||
758 | /* initialize libblock */ |
780 | /* initialize libblock */ |
759 | rc = block_init(dev_handle, BS_SIZE); |
781 | rc = block_init(dev_handle, BS_SIZE); |
760 | if (rc != EOK) { |
782 | if (rc != EOK) { |
761 | ipc_answer_0(rid, rc); |
783 | ipc_answer_0(rid, rc); |
762 | return; |
784 | return; |