dlugolecki.net.pl
Dziennik
Polecane
Software
projects
/
gedcom-parse.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Keep old encoding if new one cannot be created.
[gedcom-parse.git]
/
gedcom
/
message.c
diff --git
a/gedcom/message.c
b/gedcom/message.c
index 62954b4cc53f6a8ba395d1ae20a7bec37a1c7a13..213e0493126ec81184adcc895093ef209a2b6583 100644
(file)
--- a/
gedcom/message.c
+++ b/
gedcom/message.c
@@
-41,6
+41,12
@@
void reset_mess_buffer()
mess_buffer[0] = '\0';
}
mess_buffer[0] = '\0';
}
+void cleanup_mess_buffer()
+{
+ if (mess_buffer)
+ free(mess_buffer);
+}
+
void init_mess_buffer()
{
if (mess_buffer == NULL) {
void init_mess_buffer()
{
if (mess_buffer == NULL) {
@@
-48,6
+54,8
@@
void init_mess_buffer()
if (mess_buffer) {
mess_buffer[0] = '\0';
bufsize = INITIAL_BUF_SIZE;
if (mess_buffer) {
mess_buffer[0] = '\0';
bufsize = INITIAL_BUF_SIZE;
+ if (atexit(cleanup_mess_buffer) != 0)
+ gedcom_warning(_("Could not register buffer cleanup function"));
}
else {
fprintf(stderr, _("Could not allocate memory at %s, %d"),
}
else {
fprintf(stderr, _("Could not allocate memory at %s, %d"),
@@
-114,7
+122,10
@@
int gedcom_warning(const char* s, ...)
va_list ap;
reset_mess_buffer();
va_list ap;
reset_mess_buffer();
- safe_buf_append(_("Warning on line %d: "), line_no);
+ if (line_no != 0)
+ safe_buf_append(_("Warning on line %d: "), line_no);
+ else
+ safe_buf_append(_("Warning: "));
va_start(ap, s);
res = safe_buf_vappend(s, ap);
va_end(ap);
va_start(ap, s);
res = safe_buf_vappend(s, ap);
va_end(ap);
@@
-130,7
+141,10
@@
int gedcom_error(const char* s, ...)
va_list ap;
reset_mess_buffer();
va_list ap;
reset_mess_buffer();
- safe_buf_append(_("Error on line %d: "), line_no);
+ if (line_no != 0)
+ safe_buf_append(_("Error on line %d: "), line_no);
+ else
+ safe_buf_append(_("Error: "));
va_start(ap, s);
res = safe_buf_vappend(s, ap);
va_end(ap);
va_start(ap, s);
res = safe_buf_vappend(s, ap);
va_end(ap);
@@
-140,7
+154,7
@@
int gedcom_error(const char* s, ...)
return res;
}
return res;
}
-void gedcom_mem_error(char *filename, int line)
+void gedcom_mem_error(c
onst c
har *filename, int line)
{
gedcom_error(_("Could not allocate memory at %s, %d"), filename, line);
}
{
gedcom_error(_("Could not allocate memory at %s, %d"), filename, line);
}