From 9af6b0d4f940ddb6bc1e15e026ee0beed9b8fc40 Mon Sep 17 00:00:00 2001 From: acanas Date: Mon, 26 Apr 2021 15:27:27 +0200 Subject: [PATCH] Version 20.68: Apr 26, 2021 New module swad_error. --- Makefile | 2 +- icon/filext32x32/cct32x32.gif | Bin 0 -> 1525 bytes icon/filext32x32/clf32x32.gif | Bin 0 -> 1525 bytes icon/filext32x32/tim32x32.gif | Bin 0 -> 1525 bytes swad_API.c | 11 +- swad_HTML.c | 57 ++-- swad_ID.c | 5 +- swad_MFU.c | 5 +- swad_QR.c | 9 +- swad_RSS.c | 7 +- swad_account.c | 5 +- swad_agenda.c | 27 +- swad_alert.c | 15 +- swad_announcement.c | 9 +- swad_assignment.c | 27 +- swad_attendance.c | 53 +-- swad_banner.c | 17 +- swad_box.c | 7 +- swad_building.c | 15 +- swad_call_for_exam.c | 47 +-- swad_center.c | 21 +- swad_center_config.c | 11 +- swad_changelog.h | 3 +- swad_chat.c | 9 +- swad_config.c | 9 +- swad_connected.c | 21 +- swad_country.c | 21 +- swad_country_config.c | 5 +- swad_course.c | 49 +-- swad_course_config.c | 3 +- swad_database.c | 41 +-- swad_date.c | 7 +- swad_degree.c | 25 +- swad_degree_type.c | 21 +- swad_department.c | 13 +- swad_duplicate.c | 3 +- swad_enrolment.c | 73 +++-- swad_error.c | 600 ++++++++++++++++++++++++++++++++++ swad_error.h | 100 ++++++ swad_exam.c | 49 +-- swad_exam_log.c | 7 +- swad_exam_print.c | 27 +- swad_exam_result.c | 45 +-- swad_exam_session.c | 49 +-- swad_exam_set.c | 57 ++-- swad_figure.c | 107 +++--- swad_file.c | 39 +-- swad_file_browser.c | 151 ++++----- swad_follow.c | 3 +- swad_form.c | 3 +- swad_forum.c | 57 ++-- swad_game.c | 91 +++--- swad_group.c | 83 ++--- swad_hierarchy.c | 5 +- swad_holiday.c | 33 +- swad_indicator.c | 9 +- swad_info.c | 9 +- swad_institution.c | 23 +- swad_institution_config.c | 3 +- swad_layout.c | 553 +------------------------------ swad_layout.h | 60 +--- swad_link.c | 15 +- swad_logo.c | 9 +- swad_mail.c | 21 +- swad_main.c | 5 +- swad_mark.c | 21 +- swad_match.c | 71 ++-- swad_match_result.c | 43 +-- swad_media.c | 47 +-- swad_message.c | 77 ++--- swad_network.c | 5 +- swad_notice.c | 19 +- swad_notification.c | 9 +- swad_pagination.c | 17 +- swad_parameter.c | 13 +- swad_password.c | 9 +- swad_photo.c | 27 +- swad_place.c | 13 +- swad_plugin.c | 23 +- swad_profile.c | 9 +- swad_program.c | 37 ++- swad_project.c | 93 +++--- swad_record.c | 37 ++- swad_report.c | 9 +- swad_room.c | 23 +- swad_scope.c | 5 +- swad_session.c | 3 +- swad_setting.c | 3 +- swad_statistic.c | 35 +- swad_string.c | 35 +- swad_survey.c | 129 ++++---- swad_syllabus.c | 25 +- swad_system_config.c | 3 +- swad_tag.c | 7 +- swad_test.c | 91 +++--- swad_test_import.c | 19 +- swad_test_print.c | 37 ++- swad_test_visibility.c | 5 +- swad_timeline_comment.c | 3 +- swad_timeline_database.c | 3 +- swad_timeline_form.c | 9 +- swad_timeline_publication.c | 3 +- swad_timeline_user.c | 9 +- swad_timetable.c | 49 +-- swad_user.c | 91 +++--- swad_xml.c | 31 +- swad_zip.c | 31 +- 107 files changed, 2146 insertions(+), 1948 deletions(-) create mode 100644 icon/filext32x32/cct32x32.gif create mode 100644 icon/filext32x32/clf32x32.gif create mode 100644 icon/filext32x32/tim32x32.gif create mode 100644 swad_error.c create mode 100644 swad_error.h diff --git a/Makefile b/Makefile index 9403b83e..5bf77ee1 100644 --- a/Makefile +++ b/Makefile @@ -35,7 +35,7 @@ OBJS = swad_account.o swad_action.o swad_agenda.o swad_alert.o \ swad_course_config.o swad_cryptography.o \ swad_database.o swad_date.o swad_degree.o swad_degree_config.o \ swad_degree_type.o swad_department.o swad_duplicate.o \ - swad_enrolment.o swad_exam.o swad_exam_log.o \ + swad_enrolment.o swad_error.o swad_exam.o swad_exam_log.o \ swad_exam_print.o swad_exam_result.o swad_exam_session.o \ swad_exam_set.o \ swad_figure.o swad_figure_cache.o swad_file.o swad_file_browser.o \ diff --git a/icon/filext32x32/cct32x32.gif b/icon/filext32x32/cct32x32.gif new file mode 100644 index 0000000000000000000000000000000000000000..5bf90d0c968d97203e55455e111a87dba3542780 GIT binary patch literal 1525 zcmVmDnv#@ zMMp$NNJU3UMo39VNJ>bWG$c()NR>7zNlQseOi4^mOHEHqo;?IlQBF`&Pnkd*QBzP- zR8gQr08>>`Q&m$~R8v$|R90A3sYVZ3TUcLOSz26Ks7nQ4TUuLPTAxfWYgtxYUR$P5 z1+YvEU0+C@X>V(3Yi(+5Zfk9CY;JIEz+V(^ac;q26^&|Po@hgH zb8xh05V~SGu4PShc5}9E2C!}tczSnvdw6<$d3$|&e13aA zk|Us^pQ5CprKhB(sHLZ=rl_i?(WO_ZtEkJReCebywXm<{tt-o~b?~b|+pT}VvaR>9 zHQcj(%ekrMxMJ(KaQV4A?z})78@Y(_H`3W&hM?`qgvr*>mmLhxOK!@!E9% z*=Y9Mi~rks@ZXvI-g*AtbNb(o;^Nukf!O};_2(?>+9m|?Bn+b69?&R+8`uzX<|NsC0 z|NsC0|NsC0A^8LW3IP8AEC2ui03ZM$000R70RIUbNU)&6g9kUYS;(-V!-s9yXfoId z*uIPV@@dqEuVcr1AVJz2X^&nfOa&cX)cEn`C7h= zIkV=?oI2Z~OHy!AMxiB%(zJx ziP&rj6DCWXLQ>|cONY5e!9bnA%8=8hh><2xo+R0VW{#Q1?_RqOsN!u$}E5Mkb(yYC|H012_z9l4wH1liHa!{bca1OwUUe^e3W8I z7a0H`B>*OLp#&37h~kVV-*|I^k@nO?iZE3)V@xEJv~dFf0~ldN41;ikj2X)u(xnLn z*@x9Mtwy<&GZ2m@>jMqe#$$2O7A-3kI` zgj?BVL@*W(}OT;3iI1Az}!Mi zO*GX^P!JpQsD|;r3_BdK$I*Z+GC^yUd|7r2Z~Sn?EkiR+1V+9hRZ;TD6OT=B;S|>& bPZ&f61WY&W^wUs7@PK9rRc$pw0RaFz^WpVn literal 0 HcmV?d00001 diff --git a/icon/filext32x32/clf32x32.gif b/icon/filext32x32/clf32x32.gif new file mode 100644 index 0000000000000000000000000000000000000000..5bf90d0c968d97203e55455e111a87dba3542780 GIT binary patch literal 1525 zcmVmDnv#@ zMMp$NNJU3UMo39VNJ>bWG$c()NR>7zNlQseOi4^mOHEHqo;?IlQBF`&Pnkd*QBzP- zR8gQr08>>`Q&m$~R8v$|R90A3sYVZ3TUcLOSz26Ks7nQ4TUuLPTAxfWYgtxYUR$P5 z1+YvEU0+C@X>V(3Yi(+5Zfk9CY;JIEz+V(^ac;q26^&|Po@hgH zb8xh05V~SGu4PShc5}9E2C!}tczSnvdw6<$d3$|&e13aA zk|Us^pQ5CprKhB(sHLZ=rl_i?(WO_ZtEkJReCebywXm<{tt-o~b?~b|+pT}VvaR>9 zHQcj(%ekrMxMJ(KaQV4A?z})78@Y(_H`3W&hM?`qgvr*>mmLhxOK!@!E9% z*=Y9Mi~rks@ZXvI-g*AtbNb(o;^Nukf!O};_2(?>+9m|?Bn+b69?&R+8`uzX<|NsC0 z|NsC0|NsC0A^8LW3IP8AEC2ui03ZM$000R70RIUbNU)&6g9kUYS;(-V!-s9yXfoId z*uIPV@@dqEuVcr1AVJz2X^&nfOa&cX)cEn`C7h= zIkV=?oI2Z~OHy!AMxiB%(zJx ziP&rj6DCWXLQ>|cONY5e!9bnA%8=8hh><2xo+R0VW{#Q1?_RqOsN!u$}E5Mkb(yYC|H012_z9l4wH1liHa!{bca1OwUUe^e3W8I z7a0H`B>*OLp#&37h~kVV-*|I^k@nO?iZE3)V@xEJv~dFf0~ldN41;ikj2X)u(xnLn z*@x9Mtwy<&GZ2m@>jMqe#$$2O7A-3kI` zgj?BVL@*W(}OT;3iI1Az}!Mi zO*GX^P!JpQsD|;r3_BdK$I*Z+GC^yUd|7r2Z~Sn?EkiR+1V+9hRZ;TD6OT=B;S|>& bPZ&f61WY&W^wUs7@PK9rRc$pw0RaFz^WpVn literal 0 HcmV?d00001 diff --git a/icon/filext32x32/tim32x32.gif b/icon/filext32x32/tim32x32.gif new file mode 100644 index 0000000000000000000000000000000000000000..5bf90d0c968d97203e55455e111a87dba3542780 GIT binary patch literal 1525 zcmVmDnv#@ zMMp$NNJU3UMo39VNJ>bWG$c()NR>7zNlQseOi4^mOHEHqo;?IlQBF`&Pnkd*QBzP- zR8gQr08>>`Q&m$~R8v$|R90A3sYVZ3TUcLOSz26Ks7nQ4TUuLPTAxfWYgtxYUR$P5 z1+YvEU0+C@X>V(3Yi(+5Zfk9CY;JIEz+V(^ac;q26^&|Po@hgH zb8xh05V~SGu4PShc5}9E2C!}tczSnvdw6<$d3$|&e13aA zk|Us^pQ5CprKhB(sHLZ=rl_i?(WO_ZtEkJReCebywXm<{tt-o~b?~b|+pT}VvaR>9 zHQcj(%ekrMxMJ(KaQV4A?z})78@Y(_H`3W&hM?`qgvr*>mmLhxOK!@!E9% z*=Y9Mi~rks@ZXvI-g*AtbNb(o;^Nukf!O};_2(?>+9m|?Bn+b69?&R+8`uzX<|NsC0 z|NsC0|NsC0A^8LW3IP8AEC2ui03ZM$000R70RIUbNU)&6g9kUYS;(-V!-s9yXfoId z*uIPV@@dqEuVcr1AVJz2X^&nfOa&cX)cEn`C7h= zIkV=?oI2Z~OHy!AMxiB%(zJx ziP&rj6DCWXLQ>|cONY5e!9bnA%8=8hh><2xo+R0VW{#Q1?_RqOsN!u$}E5Mkb(yYC|H012_z9l4wH1liHa!{bca1OwUUe^e3W8I z7a0H`B>*OLp#&37h~kVV-*|I^k@nO?iZE3)V@xEJv~dFf0~ldN41;ikj2X)u(xnLn z*@x9Mtwy<&GZ2m@>jMqe#$$2O7A-3kI` zgj?BVL@*W(}OT;3iI1Az}!Mi zO*GX^P!JpQsD|;r3_BdK$I*Z+GC^yUd|7r2Z~Sn?EkiR+1V+9hRZ;TD6OT=B;S|>& bPZ&f61WY&W^wUs7@PK9rRc$pw0RaFz^WpVn literal 0 HcmV?d00001 diff --git a/swad_API.c b/swad_API.c index 0217a89e..bf8e8e66 100644 --- a/swad_API.c +++ b/swad_API.c @@ -105,6 +105,7 @@ cp -f /home/acanas/swad/swad/swad /var/www/cgi-bin/ #include "swad_API.h" #include "swad_attendance.h" #include "swad_database.h" +#include "swad_error.h" #include "swad_file_browser.h" #include "swad_forum.h" #include "swad_global.h" @@ -1653,7 +1654,7 @@ static int API_WritePageIntoHTMLBuffer (struct soap *soap, /***** Write page from file to text buffer *****/ /* Open file */ if ((FileHTML = fopen (PathRelFileHTML,"rb")) == NULL) - Lay_ShowErrorAndExit ("Can not open XML file."); + Err_ShowErrorAndExit ("Can not open XML file."); /* Compute file size */ fseek (FileHTML,0L,SEEK_END); @@ -1664,7 +1665,7 @@ static int API_WritePageIntoHTMLBuffer (struct soap *soap, if ((*HTMLBuffer = malloc (Length + 1)) == NULL) { fclose (FileHTML); - Lay_NotEnoughMemoryExit (); + Err_NotEnoughMemoryExit (); return soap_receiver_fault (soap, "Web page can not be copied into buffer", "Not enough memory for buffer"); @@ -2262,7 +2263,7 @@ int swad__sendMyGroups (struct soap *soap, /***** Create a list of groups selected from myGroups *****/ if ((LstGrpsIWant.GrpCods = calloc (LstGrpsIWant.NumGrps, sizeof (*LstGrpsIWant.GrpCods))) == NULL) - Lay_NotEnoughMemoryExit (); + Err_NotEnoughMemoryExit (); for (NumGrp = 0, Ptr = myGroups; *Ptr; NumGrp++) @@ -2836,7 +2837,7 @@ static void API_GetLstGrpsSel (const char *Groups) // Here NestedCalls is always 1 if ((Gbl.Crs.Grps.LstGrpsSel.GrpCods = calloc (Gbl.Crs.Grps.LstGrpsSel.NumGrps, sizeof (*Gbl.Crs.Grps.LstGrpsSel.GrpCods))) == NULL) - Lay_NotEnoughMemoryExit (); + Err_NotEnoughMemoryExit (); for (Ptr = Groups, NumGrp = 0; *Ptr; @@ -3636,7 +3637,7 @@ int swad__sendMessage (struct soap *soap, /***** Allocate space for query *****/ if ((Query = malloc (API_MAX_BYTES_QUERY_RECIPIENTS + 1)) == NULL) - Lay_NotEnoughMemoryExit (); + Err_NotEnoughMemoryExit (); /***** Build query for recipients from database *****/ if (ReplyUsrCod > 0) diff --git a/swad_HTML.c b/swad_HTML.c index 6948a57a..83712a21 100644 --- a/swad_HTML.c +++ b/swad_HTML.c @@ -30,6 +30,7 @@ #include // For vasprintf #include // For free +#include "swad_error.h" #include "swad_global.h" #include "swad_HTML.h" @@ -128,7 +129,7 @@ void HTM_TABLE_Begin (const char *fmt,...) NumBytesPrinted = vasprintf (&Class,fmt,ap); va_end (ap); if (NumBytesPrinted < 0) // -1 if no memory or any other error - Lay_NotEnoughMemoryExit (); + Err_NotEnoughMemoryExit (); /***** Print HTML *****/ HTM_TxtF ("",Class); @@ -252,7 +253,7 @@ void HTM_TBODY_Begin (const char *fmt,...) NumBytesPrinted = vasprintf (&Attr,fmt,ap); va_end (ap); if (NumBytesPrinted < 0) // -1 if no memory or any other error - Lay_NotEnoughMemoryExit (); + Err_NotEnoughMemoryExit (); /***** Print HTML *****/ HTM_TxtF ("",Attr); @@ -294,7 +295,7 @@ void HTM_TR_Begin (const char *fmt,...) NumBytesPrinted = vasprintf (&Attr,fmt,ap); va_end (ap); if (NumBytesPrinted < 0) // -1 if no memory or any other error - Lay_NotEnoughMemoryExit (); + Err_NotEnoughMemoryExit (); /***** Print HTML *****/ HTM_TxtF ("",Attr); @@ -391,7 +392,7 @@ static void HTM_TH_BeginAttr (const char *fmt,...) NumBytesPrinted = vasprintf (&Attr,fmt,ap); va_end (ap); if (NumBytesPrinted < 0) // -1 if no memory or any other error - Lay_NotEnoughMemoryExit (); + Err_NotEnoughMemoryExit (); /***** Print HTML *****/ HTM_TxtF ("
",Attr); @@ -453,7 +454,7 @@ void HTM_TD_Begin (const char *fmt,...) NumBytesPrinted = vasprintf (&Attr,fmt,ap); va_end (ap); if (NumBytesPrinted < 0) // -1 if no memory or any other error - Lay_NotEnoughMemoryExit (); + Err_NotEnoughMemoryExit (); /***** Print HTML *****/ HTM_TxtF ("",Attr); @@ -528,7 +529,7 @@ void HTM_DIV_Begin (const char *fmt,...) NumBytesPrinted = vasprintf (&Attr,fmt,ap); va_end (ap); if (NumBytesPrinted < 0) // -1 if no memory or any other error - Lay_NotEnoughMemoryExit (); + Err_NotEnoughMemoryExit (); /***** Print HTML *****/ HTM_TxtF ("
",Attr); @@ -619,7 +620,7 @@ void HTM_SPAN_Begin (const char *fmt,...) NumBytesPrinted = vasprintf (&Attr,fmt,ap); va_end (ap); if (NumBytesPrinted < 0) // -1 if no memory or any other error - Lay_NotEnoughMemoryExit (); + Err_NotEnoughMemoryExit (); /***** Print HTML *****/ HTM_TxtF ("",Attr); @@ -685,7 +686,7 @@ void HTM_UL_Begin (const char *fmt,...) NumBytesPrinted = vasprintf (&Attr,fmt,ap); va_end (ap); if (NumBytesPrinted < 0) // -1 if no memory or any other error - Lay_NotEnoughMemoryExit (); + Err_NotEnoughMemoryExit (); /***** Print HTML *****/ HTM_TxtF ("