Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 531695f in mainline


Ignore:
Timestamp:
2009-12-13T15:08:56Z (12 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master
Children:
fc6dd18
Parents:
8aa42e3
Message:

simplify clipboard service

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/clip/clip.c

    r8aa42e3 r531695f  
    4646static void clip_put_data(ipc_callid_t rid, ipc_call_t *request)
    4747{
    48         ipc_callid_t callid;
     48        char *data;
     49        int rc;
    4950        size_t size;
    5051       
     
    6465                break;
    6566        case CLIPBOARD_TAG_BLOB:
    66                 if (!async_data_write_receive(&callid, &size)) {
    67                         ipc_answer_0(callid, EINVAL);
    68                         ipc_answer_0(rid, EINVAL);
    69                         break;
    70                 }
    71                
    72                 char *data = malloc(size);
    73                 if (!data) {
    74                         ipc_answer_0(callid, ENOMEM);
    75                         ipc_answer_0(rid, ENOMEM);
    76                         break;
    77                 }
    78                
    79                 ipcarg_t retval = async_data_write_finalize(callid, data, size);
    80                 if (retval != EOK) {
    81                         ipc_answer_0(rid, retval);
    82                         free(data);
     67                rc = async_data_blob_receive(&data, 0, &size);
     68                if (rc != EOK) {
     69                        ipc_answer_0(rid, rc);
    8370                        break;
    8471                }
Note: See TracChangeset for help on using the changeset viewer.