Changes in / [c646ea0:b89e1d3] in mainline


Ignore:
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • tools/autotool.py

    rc646ea0 rb89e1d3  
    271271                                                unsigned_sizes[name] = value_int
    272272                                                unsigned_tags[tag] = value_int
    273                                                 unsigned_strcs[strc] = value_int
    274                                                 unsigned_concs[conc] = value_int
     273                                                if (strc != ""):
     274                                                        unsigned_strcs[strc] = value_int
     275                                                if (conc != ""):
     276                                                        unsigned_concs[conc] = value_int
    275277                                        elif (subcategory == "signed"):
    276278                                                signed_sizes[name] = value_int
    277279                                                signed_tags[tag] = value_int
    278                                                 signed_strcs[strc] = value_int
    279                                                 signed_concs[conc] = value_int
     280                                                if (strc != ""):
     281                                                        signed_strcs[strc] = value_int
     282                                                if (conc != ""):
     283                                                        signed_concs[conc] = value_int
    280284                                        else:
    281285                                                print_error(["Unexpected keyword \"%s\" in \"%s\" on line %s." % (subcategory, PROBE_OUTPUT, j), COMPILER_FAIL])
     
    325329               
    326330                if (not fnd):
    327                         print_error(['Unable to find appropriate unsigned printf formatter for %u bytes' % b,
    328                                      COMPILER_FAIL])
     331                        macros.append({'oldmacro': "\"o\"", 'newmacro': "PRIo%u" % (b * 8)})
     332                        macros.append({'oldmacro': "\"u\"", 'newmacro': "PRIu%u" % (b * 8)})
     333                        macros.append({'oldmacro': "\"x\"", 'newmacro': "PRIx%u" % (b * 8)})
     334                        macros.append({'oldmacro': "\"X\"", 'newmacro': "PRIX%u" % (b * 8)})
    329335               
    330336               
     
    337343               
    338344                if (not fnd):
    339                         print_error(['Unable to find appropriate signed printf formatter for %u bytes' % b,
    340                                      COMPILER_FAIL])
     345                        macros.append({'oldmacro': "\"d\"", 'newmacro': "PRId%u" % (b * 8)})
    341346               
    342347               
     
    344349                for name, value in probe['unsigned_concs'].items():
    345350                        if (value == b):
    346                                 if ((name.startswith('@')) or (name == "")):
    347                                         macros.append({'oldmacro': "c ## U", 'newmacro': "UINT%u_C(c)" % (b * 8)})
    348                                 else:
    349                                         macros.append({'oldmacro': "c ## U%s" % name, 'newmacro': "UINT%u_C(c)" % (b * 8)})
    350                                 fnd = True
    351                                 break
    352                
    353                 if (not fnd):
    354                         print_error(['Unable to find appropriate unsigned literal macro for %u bytes' % b,
    355                                      COMPILER_FAIL])
     351                                macros.append({'oldmacro': "c ## U%s" % name, 'newmacro': "UINT%u_C(c)" % (b * 8)})
     352                                fnd = True
     353                                break
     354               
     355                if (not fnd):
     356                        macros.append({'oldmacro': "c ## U", 'newmacro': "UINT%u_C(c)" % (b * 8)})
    356357               
    357358               
     
    359360                for name, value in probe['signed_concs'].items():
    360361                        if (value == b):
    361                                 if ((name.startswith('@')) or (name == "")):
    362                                         macros.append({'oldmacro': "c", 'newmacro': "INT%u_C(c)" % (b * 8)})
    363                                 else:
    364                                         macros.append({'oldmacro': "c ## %s" % name, 'newmacro': "INT%u_C(c)" % (b * 8)})
    365                                 fnd = True
    366                                 break
    367                
    368                 if (not fnd):
    369                         print_error(['Unable to find appropriate unsigned literal macro for %u bytes' % b,
    370                                      COMPILER_FAIL])
     362                                macros.append({'oldmacro': "c ## %s" % name, 'newmacro': "INT%u_C(c)" % (b * 8)})
     363                                fnd = True
     364                                break
     365               
     366                if (not fnd):
     367                        macros.append({'oldmacro': "c", 'newmacro': "INT%u_C(c)" % (b * 8)})
    371368       
    372369        for tag in ['CHAR', 'SHORT', 'INT', 'LONG', 'LLONG']:
     
    571568                probe = probe_compiler(common,
    572569                        [
    573                                 {'type': 'char', 'tag': 'CHAR', 'strc': '"hh"', 'conc': '"@@"'},
    574                                 {'type': 'short int', 'tag': 'SHORT', 'strc': '"h"', 'conc': '"@"'},
     570                                {'type': 'char', 'tag': 'CHAR', 'strc': '"hh"', 'conc': '""'},
     571                                {'type': 'short int', 'tag': 'SHORT', 'strc': '"h"', 'conc': '""'},
    575572                                {'type': 'int', 'tag': 'INT', 'strc': '""', 'conc': '""'},
    576573                                {'type': 'long int', 'tag': 'LONG', 'strc': '"l"', 'conc': '"L"'},
  • uspace/lib/drv/generic/driver.c

    rc646ea0 rb89e1d3  
    203203                        break;
    204204                default:
    205                         ipc_answer_0(callid, ENOENT);
     205                        if (!(callid & IPC_CALLID_NOTIFICATION))
     206                                ipc_answer_0(callid, ENOENT);
    206207                }
    207208        }
  • uspace/srv/clip/clip.c

    rc646ea0 rb89e1d3  
    172172                        break;
    173173                default:
    174                         ipc_answer_0(callid, ENOENT);
     174                        if (!(callid & IPC_CALLID_NOTIFICATION))
     175                                ipc_answer_0(callid, ENOENT);
    175176                }
    176177        }
  • uspace/srv/devman/main.c

    rc646ea0 rb89e1d3  
    405405                        break;
    406406                default:
    407                         ipc_answer_0(callid, ENOENT);
     407                        if (!(callid & IPC_CALLID_NOTIFICATION))
     408                                ipc_answer_0(callid, ENOENT);
    408409                }
    409410        }
  • uspace/srv/devmap/devmap.c

    rc646ea0 rb89e1d3  
    10521052                        break;
    10531053                default:
    1054                         ipc_answer_0(callid, ENOENT);
     1054                        if (!(callid & IPC_CALLID_NOTIFICATION))
     1055                                ipc_answer_0(callid, ENOENT);
    10551056                }
    10561057        }
     
    11101111                        break;
    11111112                default:
    1112                         ipc_answer_0(callid, ENOENT);
     1113                        if (!(callid & IPC_CALLID_NOTIFICATION))
     1114                                ipc_answer_0(callid, ENOENT);
    11131115                }
    11141116        }
  • uspace/srv/loader/main.c

    rc646ea0 rb89e1d3  
    411411                        break;
    412412                }
    413                 if (IPC_GET_METHOD(call) != IPC_M_PHONE_HUNGUP) {
     413                if ((callid & IPC_CALLID_NOTIFICATION) == 0 &&
     414                    IPC_GET_METHOD(call) != IPC_M_PHONE_HUNGUP) {
    414415                        DPRINTF("Responding EINVAL to method %d.\n",
    415416                            IPC_GET_METHOD(call));
  • uspace/srv/ns/task.c

    rc646ea0 rb89e1d3  
    262262        if (ht == NULL) {
    263263                /* No such task exists. */
    264                 ipc_answer_0(callid, ENOENT);
    265                 return;
     264                retval = ENOENT;
     265                goto out;
    266266        }
    267267
Note: See TracChangeset for help on using the changeset viewer.