added hawk_bloc_t and hawk_uloc_t.
fixed bugs in hawk_geterrbinf() and hawk-geterruinf()
This commit is contained in:
26
lib/err.c
26
lib/err.c
@ -297,10 +297,18 @@ void hawk_gem_geterrbinf (hawk_gem_t* gem, hawk_errbinf_t* errinf)
|
||||
const hawk_ooch_t* msg;
|
||||
hawk_oow_t wcslen, mbslen;
|
||||
|
||||
errinf->num = gem->errnum;
|
||||
errinf->loc = gem->errloc;
|
||||
msg = (gem->errmsg[0] == '\0')? gem->errstr(gem->errnum): gem->errmsg;
|
||||
/*errinf->num = gem->errnum;*/
|
||||
errinf->loc.line = gem->errloc.line;
|
||||
errinf->loc.colm = gem->errloc.colm;
|
||||
if (gem->errloc.file) errinf->loc.file = HAWK_NULL;
|
||||
else
|
||||
{
|
||||
mbslen = HAWK_COUNTOF(gem->xerrlocfile);
|
||||
hawk_conv_ucstr_to_bcstr_with_cmgr(gem->errloc.file, &wcslen, gem->xerrlocfile, &mbslen, gem->cmgr);
|
||||
errinf->loc.file = gem->xerrlocfile; /* this can be truncated and is transient */
|
||||
}
|
||||
|
||||
msg = (gem->errmsg[0] == '\0')? gem->errstr(gem->errnum): gem->errmsg;
|
||||
mbslen = HAWK_COUNTOF(errinf->msg);
|
||||
hawk_conv_ucstr_to_bcstr_with_cmgr (msg, &wcslen, errinf->msg, &mbslen, gem->cmgr);
|
||||
#endif
|
||||
@ -312,8 +320,18 @@ void hawk_gem_geterruinf (hawk_gem_t* gem, hawk_erruinf_t* errinf)
|
||||
const hawk_ooch_t* msg;
|
||||
hawk_oow_t wcslen, mbslen;
|
||||
|
||||
msg = (gem->errmsg[0] == '\0')? gem->errstr(gem->errnum): gem->errmsg;
|
||||
/*errinf->num = gem->errnum;*/
|
||||
errinf->loc.line = gem->errloc.line;
|
||||
errinf->loc.colm = gem->errloc.colm;
|
||||
if (gem->errloc.file) errinf->loc.file = HAWK_NULL;
|
||||
else
|
||||
{
|
||||
wcslen = HAWK_COUNTOF(gem->xerrlocfile);
|
||||
hawk_conv_bcstr_to_ucstr_with_cmgr(gem->errloc.file, &mbslen, gem->xerrlocfile, &wcslen, gem->cmgr, 1);
|
||||
errinf->loc.file = gem->xerrlocfile; /* this can be truncated and is transient */
|
||||
}
|
||||
|
||||
msg = (gem->errmsg[0] == '\0')? gem->errstr(gem->errnum): gem->errmsg;
|
||||
wcslen = HAWK_COUNTOF(errinf->msg);
|
||||
hawk_conv_bcstr_to_ucstr_with_cmgr (msg, &mbslen, errinf->msg, &wcslen, gem->cmgr, 1);
|
||||
#else
|
||||
|
Reference in New Issue
Block a user