Mercurial > cpython-lru_cache-weakref
comparison Python/errors.c @ 42793:61fb597917d1
Use unicode for much of errors.
| author | Neal Norwitz <nnorwitz@gmail.com> |
|---|---|
| date | Fri, 24 Aug 2007 19:54:13 +0000 |
| parents | 0fcc18aba385 |
| children | 84618b2064c1 |
comparison
equal
deleted
inserted
replaced
| 42790:6124b2ef6512 | 42793:61fb597917d1 |
|---|---|
| 348 | 348 |
| 349 | 349 |
| 350 PyObject * | 350 PyObject * |
| 351 PyErr_SetFromErrnoWithFilename(PyObject *exc, char *filename) | 351 PyErr_SetFromErrnoWithFilename(PyObject *exc, char *filename) |
| 352 { | 352 { |
| 353 PyObject *name = filename ? PyString_FromString(filename) : NULL; | 353 PyObject *name = filename ? PyUnicode_FromString(filename) : NULL; |
| 354 PyObject *result = PyErr_SetFromErrnoWithFilenameObject(exc, name); | 354 PyObject *result = PyErr_SetFromErrnoWithFilenameObject(exc, name); |
| 355 Py_XDECREF(name); | 355 Py_XDECREF(name); |
| 356 return result; | 356 return result; |
| 357 } | 357 } |
| 358 | 358 |
| 427 PyObject *PyErr_SetExcFromWindowsErrWithFilename( | 427 PyObject *PyErr_SetExcFromWindowsErrWithFilename( |
| 428 PyObject *exc, | 428 PyObject *exc, |
| 429 int ierr, | 429 int ierr, |
| 430 const char *filename) | 430 const char *filename) |
| 431 { | 431 { |
| 432 PyObject *name = filename ? PyString_FromString(filename) : NULL; | 432 PyObject *name = filename ? PyUnicode_FromString(filename) : NULL; |
| 433 PyObject *ret = PyErr_SetExcFromWindowsErrWithFilenameObject(exc, | 433 PyObject *ret = PyErr_SetExcFromWindowsErrWithFilenameObject(exc, |
| 434 ierr, | 434 ierr, |
| 435 name); | 435 name); |
| 436 Py_XDECREF(name); | 436 Py_XDECREF(name); |
| 437 return ret; | 437 return ret; |
| 466 } | 466 } |
| 467 PyObject *PyErr_SetFromWindowsErrWithFilename( | 467 PyObject *PyErr_SetFromWindowsErrWithFilename( |
| 468 int ierr, | 468 int ierr, |
| 469 const char *filename) | 469 const char *filename) |
| 470 { | 470 { |
| 471 PyObject *name = filename ? PyString_FromString(filename) : NULL; | 471 PyObject *name = filename ? PyUnicode_FromString(filename) : NULL; |
| 472 PyObject *result = PyErr_SetExcFromWindowsErrWithFilenameObject( | 472 PyObject *result = PyErr_SetExcFromWindowsErrWithFilenameObject( |
| 473 PyExc_WindowsError, | 473 PyExc_WindowsError, |
| 474 ierr, name); | 474 ierr, name); |
| 475 Py_XDECREF(name); | 475 Py_XDECREF(name); |
| 476 return result; | 476 return result; |
| 556 dict = mydict = PyDict_New(); | 556 dict = mydict = PyDict_New(); |
| 557 if (dict == NULL) | 557 if (dict == NULL) |
| 558 goto failure; | 558 goto failure; |
| 559 } | 559 } |
| 560 if (PyDict_GetItemString(dict, "__module__") == NULL) { | 560 if (PyDict_GetItemString(dict, "__module__") == NULL) { |
| 561 modulename = PyString_FromStringAndSize(name, | 561 modulename = PyUnicode_FromStringAndSize(name, |
| 562 (Py_ssize_t)(dot-name)); | 562 (Py_ssize_t)(dot-name)); |
| 563 if (modulename == NULL) | 563 if (modulename == NULL) |
| 564 goto failure; | 564 goto failure; |
| 565 if (PyDict_SetItemString(dict, "__module__", modulename) != 0) | 565 if (PyDict_SetItemString(dict, "__module__", modulename) != 0) |
| 566 goto failure; | 566 goto failure; |
| 608 | 608 |
| 609 moduleName = PyObject_GetAttrString(t, "__module__"); | 609 moduleName = PyObject_GetAttrString(t, "__module__"); |
| 610 if (moduleName == NULL) | 610 if (moduleName == NULL) |
| 611 PyFile_WriteString("<unknown>", f); | 611 PyFile_WriteString("<unknown>", f); |
| 612 else { | 612 else { |
| 613 char* modstr = PyString_AsString(moduleName); | 613 char* modstr = PyUnicode_AsString(moduleName); |
| 614 if (modstr && | 614 if (modstr && |
| 615 strcmp(modstr, "__builtin__") != 0) | 615 strcmp(modstr, "__builtin__") != 0) |
| 616 { | 616 { |
| 617 PyFile_WriteString(modstr, f); | 617 PyFile_WriteString(modstr, f); |
| 618 PyFile_WriteString(".", f); | 618 PyFile_WriteString(".", f); |
| 726 if (PyObject_SetAttrString(v, "lineno", tmp)) | 726 if (PyObject_SetAttrString(v, "lineno", tmp)) |
| 727 PyErr_Clear(); | 727 PyErr_Clear(); |
| 728 Py_DECREF(tmp); | 728 Py_DECREF(tmp); |
| 729 } | 729 } |
| 730 if (filename != NULL) { | 730 if (filename != NULL) { |
| 731 tmp = PyString_FromString(filename); | 731 tmp = PyUnicode_FromString(filename); |
| 732 if (tmp == NULL) | 732 if (tmp == NULL) |
| 733 PyErr_Clear(); | 733 PyErr_Clear(); |
| 734 else { | 734 else { |
| 735 if (PyObject_SetAttrString(v, "filename", tmp)) | 735 if (PyObject_SetAttrString(v, "filename", tmp)) |
| 736 PyErr_Clear(); | 736 PyErr_Clear(); |
| 803 fclose(fp); | 803 fclose(fp); |
| 804 if (i == lineno) { | 804 if (i == lineno) { |
| 805 char *p = linebuf; | 805 char *p = linebuf; |
| 806 while (*p == ' ' || *p == '\t' || *p == '\014') | 806 while (*p == ' ' || *p == '\t' || *p == '\014') |
| 807 p++; | 807 p++; |
| 808 return PyString_FromString(p); | 808 return PyUnicode_FromString(p); |
| 809 } | 809 } |
| 810 return NULL; | 810 return NULL; |
| 811 } | 811 } |
| 812 | 812 |
| 813 #ifdef __cplusplus | 813 #ifdef __cplusplus |
