Subversion Repositories HelenOS

Rev

Rev 2677 | Rev 2934 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2677 Rev 2745
Line 162... Line 162...
162
 */
162
 */
163
static inline int answer_preprocess(call_t *answer, ipc_data_t *olddata)
163
static inline int answer_preprocess(call_t *answer, ipc_data_t *olddata)
164
{
164
{
165
    int phoneid;
165
    int phoneid;
166
 
166
 
167
    if (IPC_GET_RETVAL(answer->data) == EHANGUP) {
167
    if ((native_t) IPC_GET_RETVAL(answer->data) == EHANGUP) {
168
        /* In case of forward, hangup the forwared phone,
168
        /* In case of forward, hangup the forwared phone,
169
         * not the originator
169
         * not the originator
170
         */
170
         */
171
        spinlock_lock(&answer->data.phone->lock);
171
        spinlock_lock(&answer->data.phone->lock);
172
        spinlock_lock(&TASK->answerbox.lock);
172
        spinlock_lock(&TASK->answerbox.lock);
Line 352... Line 352...
352
 *
352
 *
353
 * @param call      Call structure with the answer.
353
 * @param call      Call structure with the answer.
354
 */
354
 */
355
static void process_answer(call_t *call)
355
static void process_answer(call_t *call)
356
{
356
{
357
    if (IPC_GET_RETVAL(call->data) == EHANGUP &&
357
    if (((native_t) IPC_GET_RETVAL(call->data) == EHANGUP) &&
358
        (call->flags & IPC_CALL_FORWARDED))
358
        (call->flags & IPC_CALL_FORWARDED))
359
        IPC_SET_RETVAL(call->data, EFORWARD);
359
        IPC_SET_RETVAL(call->data, EFORWARD);
360
 
360
 
361
    if (call->flags & IPC_CALL_CONN_ME_TO) {
361
    if (call->flags & IPC_CALL_CONN_ME_TO) {
362
        if (IPC_GET_RETVAL(call->data))
362
        if (IPC_GET_RETVAL(call->data))