diff --git a/swad_ID.c b/swad_ID.c index a84c1d1b..1f239400 100644 --- a/swad_ID.c +++ b/swad_ID.c @@ -649,10 +649,10 @@ static void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat, HTM_SPAN_Begin ("class=\"%s\" title=\"%s\"", UsrDat->IDs.List[NumID].Confirmed ? "USR_ID_C" : "USR_ID_NC", - Str_BuildMsgStr (UsrDat->IDs.List[NumID].Confirmed ? Txt_ID_X_confirmed : - Txt_ID_X_not_confirmed, - UsrDat->IDs.List[NumID].ID)); - Str_FreeMsg (); + Str_BuildStringStr (UsrDat->IDs.List[NumID].Confirmed ? Txt_ID_X_confirmed : + Txt_ID_X_not_confirmed, + UsrDat->IDs.List[NumID].ID)); + Str_FreeString (); HTM_Txt (UsrDat->IDs.List[NumID].ID); HTM_Txt (UsrDat->IDs.List[NumID].Confirmed ? "✓" : ""); diff --git a/swad_account.c b/swad_account.c index cc271c8a..a7dc946d 100644 --- a/swad_account.c +++ b/swad_account.c @@ -420,10 +420,10 @@ void Acc_ShowFormGoToRequestNewAccount (void) extern const char *Txt_Create_account; /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_New_on_PLATFORM_Sign_up, - Cfg_PLATFORM_SHORT_NAME),NULL, + Box_BoxBegin (NULL,Str_BuildStringStr (Txt_New_on_PLATFORM_Sign_up, + Cfg_PLATFORM_SHORT_NAME),NULL, Hlp_PROFILE_SignUp,Box_NOT_CLOSABLE); - Str_FreeMsg (); + Str_FreeString (); /***** Button to go to request the creation of a new account *****/ Frm_StartForm (ActFrmMyAcc); diff --git a/swad_agenda.c b/swad_agenda.c index 48d582ab..6d22b48c 100644 --- a/swad_agenda.c +++ b/swad_agenda.c @@ -357,12 +357,12 @@ void Agd_ShowUsrAgenda (void) /***** Begin box *****/ ItsMe = Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod); - Box_BoxBegin ("100%",Str_BuildMsgStr (Txt_Public_agenda_USER, - Gbl.Usrs.Other.UsrDat.FullName), + Box_BoxBegin ("100%",Str_BuildStringStr (Txt_Public_agenda_USER, + Gbl.Usrs.Other.UsrDat.FullName), ItsMe ? Agd_PutIconsMyPublicAgenda : Agd_PutIconsOtherPublicAgenda, Hlp_PROFILE_Agenda_public_agenda,Box_NOT_CLOSABLE); - Str_FreeMsg (); + Str_FreeString (); /***** Show the current events in the user's agenda *****/ Agd_ShowEventsToday (Agd_ANOTHER_AGENDA_TODAY); @@ -400,12 +400,12 @@ void Agd_ShowOtherAgendaAfterLogIn (void) { /***** Begin box *****/ ItsMe = Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod); - Box_BoxBegin ("100%",Str_BuildMsgStr (Txt_Public_agenda_USER, - Gbl.Usrs.Other.UsrDat.FullName), + Box_BoxBegin ("100%",Str_BuildStringStr (Txt_Public_agenda_USER, + Gbl.Usrs.Other.UsrDat.FullName), ItsMe ? Agd_PutIconToViewEditMyFullAgenda : Agd_PutIconsOtherPublicAgenda, Hlp_PROFILE_Agenda_public_agenda,Box_NOT_CLOSABLE); - Str_FreeMsg (); + Str_FreeString (); /***** Show the current events in the user's agenda *****/ Agd_ShowEventsToday (Agd_ANOTHER_AGENDA_TODAY); @@ -1900,10 +1900,10 @@ void Agd_PrintAgdQRCode (void) extern const char *Txt_Where_s_USER; /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Where_s_USER, - Gbl.Usrs.Me.UsrDat.FullName),NULL, + Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Where_s_USER, + Gbl.Usrs.Me.UsrDat.FullName),NULL, NULL,Box_NOT_CLOSABLE); - Str_FreeMsg (); + Str_FreeString (); /***** Print QR code ****/ QR_PrintQRCode (); diff --git a/swad_attendance.c b/swad_attendance.c index be39784c..efdd349f 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -2208,7 +2208,6 @@ void Att_RegisterMeAsStdInAttEvent (void) extern const char *Txt_Your_comment_has_been_updated; struct AttendanceEvent Att; bool Present; - char *CommentParamName; char CommentStd[Cns_MAX_BYTES_TEXT + 1]; char CommentTch[Cns_MAX_BYTES_TEXT + 1]; @@ -2222,11 +2221,10 @@ void Att_RegisterMeAsStdInAttEvent (void) /***** Get comments for this student *****/ Present = Att_CheckIfUsrIsPresentInAttEventAndGetComments (Att.AttCod,Gbl.Usrs.Me.UsrDat.UsrCod, CommentStd,CommentTch); - if (asprintf (&CommentParamName,"CommentStd%s", - Gbl.Usrs.Me.UsrDat.EncryptedUsrCod) < 0) - Lay_NotEnoughMemoryExit (); - Par_GetParToHTML (CommentParamName,CommentStd,Cns_MAX_BYTES_TEXT); - free (CommentParamName); + Par_GetParToHTML (Str_BuildStringStr ("CommentStd%s", + Gbl.Usrs.Me.UsrDat.EncryptedUsrCod), + CommentStd,Cns_MAX_BYTES_TEXT); + Str_FreeString (); if (Present || CommentStd[0] || @@ -2271,7 +2269,6 @@ void Att_RegisterStudentsInAttEvent (void) unsigned NumStdsPresent; unsigned NumStdsAbsent; struct UsrData UsrData; - char *CommentParamName; char CommentStd[Cns_MAX_BYTES_TEXT + 1]; char CommentTch[Cns_MAX_BYTES_TEXT + 1]; @@ -2337,11 +2334,10 @@ void Att_RegisterStudentsInAttEvent (void) { /***** Get comments for this student *****/ Att_CheckIfUsrIsPresentInAttEventAndGetComments (Att.AttCod,Gbl.Usrs.LstUsrs[Rol_STD].Lst[NumUsr].UsrCod,CommentStd,CommentTch); - if (asprintf (&CommentParamName,"CommentTch%s", - Gbl.Usrs.LstUsrs[Rol_STD].Lst[NumUsr].EncryptedUsrCod) < 0) - Lay_NotEnoughMemoryExit (); - Par_GetParToHTML (CommentParamName,CommentTch,Cns_MAX_BYTES_TEXT); - free (CommentParamName); + Par_GetParToHTML (Str_BuildStringStr ("CommentTch%s", + Gbl.Usrs.LstUsrs[Rol_STD].Lst[NumUsr].EncryptedUsrCod), + CommentTch,Cns_MAX_BYTES_TEXT); + Str_FreeString (); Present = !Gbl.Usrs.LstUsrs[Rol_STD].Lst[NumUsr].Remove; diff --git a/swad_calendar.c b/swad_calendar.c index 80f67202..cde44015 100644 --- a/swad_calendar.c +++ b/swad_calendar.c @@ -128,9 +128,9 @@ void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,void (*FuncParams) (vo "first-day-of-week-%u.png", FirstDayOfWeek); Ico_PutSettingIconLink (Icon, - Str_BuildMsgStr (Txt_First_day_of_the_week_X, - Txt_DAYS_SMALL[FirstDayOfWeek])); - Str_FreeMsg (); + Str_BuildStringStr (Txt_First_day_of_the_week_X, + Txt_DAYS_SMALL[FirstDayOfWeek])); + Str_FreeString (); Frm_EndForm (); HTM_DIV_End (); } diff --git a/swad_centre.c b/swad_centre.c index 055d07a4..cb646d69 100644 --- a/swad_centre.c +++ b/swad_centre.c @@ -264,11 +264,11 @@ static void Ctr_ListCentres (void) unsigned NumCtr; /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Centres_of_INSTITUTION_X, - Gbl.Hierarchy.Ins.FullName), + Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Centres_of_INSTITUTION_X, + Gbl.Hierarchy.Ins.FullName), Ctr_PutIconsListingCentres, Hlp_INSTITUTION_Centres,Box_NOT_CLOSABLE); - Str_FreeMsg (); + Str_FreeString (); if (Gbl.Hierarchy.Ins.Ctrs.Num) // There are centres in the current institution { @@ -476,11 +476,11 @@ static void Ctr_EditCentresInternal (void) Hie_WriteMenuHierarchy (); /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Centres_of_INSTITUTION_X, - Gbl.Hierarchy.Ins.FullName), + Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Centres_of_INSTITUTION_X, + Gbl.Hierarchy.Ins.FullName), Ctr_PutIconsEditingCentres, Hlp_INSTITUTION_Centres,Box_NOT_CLOSABLE); - Str_FreeMsg (); + Str_FreeString (); /***** Put a form to create a new centre *****/ Ctr_PutFormToCreateCentre (); @@ -2003,11 +2003,11 @@ void Ctr_ListCtrsFound (MYSQL_RES **mysql_res,unsigned NumCtrs) { /***** Begin box and table *****/ /* Number of centres found */ - Box_BoxTableBegin (NULL,Str_BuildMsgLongStr ((long) NumCtrs, - (NumCtrs == 1) ? Txt_centre : - Txt_centres), + Box_BoxTableBegin (NULL,Str_BuildStringLongStr ((long) NumCtrs, + (NumCtrs == 1) ? Txt_centre : + Txt_centres), NULL,NULL,Box_NOT_CLOSABLE,2); - Str_FreeMsg (); + Str_FreeString (); /***** Write heading *****/ Ctr_PutHeadCentresForSeeing (false); // Order not selectable diff --git a/swad_centre_config.c b/swad_centre_config.c index ac69129d..d88524b9 100644 --- a/swad_centre_config.c +++ b/swad_centre_config.c @@ -797,10 +797,10 @@ static void CtrCfg_NumDegs (void) HTM_TD_Begin ("class=\"LB\""); Frm_StartFormGoTo (ActSeeDeg); Ctr_PutParamCtrCod (Gbl.Hierarchy.Ctr.CtrCod); - HTM_BUTTON_SUBMIT_Begin (Str_BuildMsgStr (Txt_Degrees_of_CENTRE_X, - Gbl.Hierarchy.Ctr.ShrtName), + HTM_BUTTON_SUBMIT_Begin (Str_BuildStringStr (Txt_Degrees_of_CENTRE_X, + Gbl.Hierarchy.Ctr.ShrtName), "BT_LINK DAT",NULL); - Str_FreeMsg (); + Str_FreeString (); HTM_Unsigned (Deg_GetNumDegsInCtr (Gbl.Hierarchy.Ctr.CtrCod)); HTM_BUTTON_End (); Frm_EndForm (); diff --git a/swad_changelog.h b/swad_changelog.h index 2caf91b0..a3ce91da 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -492,7 +492,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - * En OpenSWAD: ps2pdf source.ps destination.pdf */ -#define Log_PLATFORM_VERSION "SWAD 19.108.6 (2019-12-30)" +#define Log_PLATFORM_VERSION "SWAD 19.108.7 (2019-12-30)" #define CSS_FILE "swad19.101.5.css" #define JS_FILE "swad19.91.1.js" /* @@ -502,6 +502,7 @@ ps2pdf source.ps destination.pdf Version 19.10x: Dec 30, 2019 Map in country information. (? lines) Version 19.10x: Dec 30, 2019 Map in institution information. (? lines) + Version 19.108.7: Dec 30, 2019 Code refactoring related to printing messages. (249674 lines) Version 19.108.6: Dec 30, 2019 Code refactoring related to printing messages. (249717 lines) Version 19.108.5: Dec 30, 2019 Code refactoring related to printing messages. (249712 lines) Version 19.108.4: Dec 30, 2019 Code refactoring related to printing messages. (249709 lines) diff --git a/swad_country.c b/swad_country.c index 6634a5db..917e0ffa 100644 --- a/swad_country.c +++ b/swad_country.c @@ -537,7 +537,6 @@ void Cty_DrawCountryMapAndNameWithLink (struct Country *Cty,Act_Action_t Action, void Cty_DrawCountryMap (struct Country *Cty,const char *Class) { char *URL; - char *Icon; /***** Draw country map *****/ if (Cty_CheckIfCountryMapExists (Cty)) @@ -546,12 +545,10 @@ void Cty_DrawCountryMap (struct Country *Cty,const char *Class) Cfg_URL_ICON_COUNTRIES_PUBLIC, Cty->Alpha2) < 0) Lay_NotEnoughMemoryExit (); - if (asprintf (&Icon,"%s.png", - Cty->Alpha2) < 0) - Lay_NotEnoughMemoryExit (); - HTM_IMG (URL,Icon,Cty->Name[Gbl.Prefs.Language], + HTM_IMG (URL,Str_BuildStringStr ("%s.png",Cty->Alpha2), + Cty->Name[Gbl.Prefs.Language], "class=\"%s\"",Class); - free (Icon); + Str_FreeString (); free (URL); } else @@ -2044,11 +2041,11 @@ void Cty_ListCtysFound (MYSQL_RES **mysql_res,unsigned NumCtys) { /***** Begin box and table *****/ /* Number of countries found */ - Box_BoxTableBegin (NULL,Str_BuildMsgLongStr ((long) NumCtys, - NumCtys == 1 ? Txt_country : - Txt_countries), + Box_BoxTableBegin (NULL,Str_BuildStringLongStr ((long) NumCtys, + NumCtys == 1 ? Txt_country : + Txt_countries), NULL,NULL,Box_NOT_CLOSABLE,2); - Str_FreeMsg (); + Str_FreeString (); /***** Write heading *****/ Cty_PutHeadCountriesForSeeing (false); // Order not selectable diff --git a/swad_country_config.c b/swad_country_config.c index 3280d80f..2a4a8ca7 100644 --- a/swad_country_config.c +++ b/swad_country_config.c @@ -343,10 +343,10 @@ static void CtyCfg_NumInss (void) HTM_TD_Begin ("class=\"LB\""); Frm_StartFormGoTo (ActSeeIns); Cty_PutParamCtyCod (Gbl.Hierarchy.Cty.CtyCod); - HTM_BUTTON_SUBMIT_Begin (Str_BuildMsgStr (Txt_Institutions_of_COUNTRY_X, - Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]), + HTM_BUTTON_SUBMIT_Begin (Str_BuildStringStr (Txt_Institutions_of_COUNTRY_X, + Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]), "BT_LINK DAT",NULL); - Str_FreeMsg (); + Str_FreeString (); HTM_Unsigned (Ins_GetNumInssInCty (Gbl.Hierarchy.Cty.CtyCod)); HTM_BUTTON_End (); Frm_EndForm (); diff --git a/swad_course.c b/swad_course.c index 910dd337..ce0ce767 100644 --- a/swad_course.c +++ b/swad_course.c @@ -743,11 +743,11 @@ static void Crs_ListCourses (void) unsigned Year; /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Courses_of_DEGREE_X, - Gbl.Hierarchy.Deg.ShrtName), + Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Courses_of_DEGREE_X, + Gbl.Hierarchy.Deg.ShrtName), Crs_PutIconsListCourses, Hlp_DEGREE_Courses,Box_NOT_CLOSABLE); - Str_FreeMsg (); + Str_FreeString (); if (Gbl.Hierarchy.Deg.Crss.Num) // There are courses in the current degree { @@ -947,11 +947,11 @@ static void Crs_EditCoursesInternal (void) Hie_WriteMenuHierarchy (); /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Courses_of_DEGREE_X, - Gbl.Hierarchy.Deg.ShrtName), + Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Courses_of_DEGREE_X, + Gbl.Hierarchy.Deg.ShrtName), Crs_PutIconsEditingCourses, Hlp_DEGREE_Courses,Box_NOT_CLOSABLE); - Str_FreeMsg (); + Str_FreeString (); /***** Put a form to create or request a new course *****/ Crs_PutFormToCreateCourse (); @@ -2269,9 +2269,9 @@ static void Crs_PutButtonToRegisterInCrs (void) // If the course being edited is different to the current one... if (Crs_EditingCrs->CrsCod != Gbl.Hierarchy.Crs.CrsCod) Crs_PutParamCrsCod (Crs_EditingCrs->CrsCod); - Btn_PutCreateButton (Str_BuildMsgStr (Txt_Register_me_in_X, - Crs_EditingCrs->ShrtName)); - Str_FreeMsg (); + Btn_PutCreateButton (Str_BuildStringStr (Txt_Register_me_in_X, + Crs_EditingCrs->ShrtName)); + Str_FreeString (); Frm_EndForm (); } @@ -2445,10 +2445,10 @@ void Crs_GetAndWriteCrssOfAUsr (const struct UsrData *UsrDat,Rol_Role_t Role) HTM_TR_Begin (NULL); HTM_TH_Begin (1,7,"LM"); - HTM_TxtF ("%s:",Str_BuildMsgStr (Txt_USER_in_COURSE, - Role == Rol_UNK ? Txt_User[Usr_SEX_UNKNOWN] : // Role == Rol_UNK ==> any role - Txt_ROLES_SINGUL_Abc[Role][UsrDat->Sex])); - Str_FreeMsg (); + HTM_TxtF ("%s:",Str_BuildStringStr (Txt_USER_in_COURSE, + Role == Rol_UNK ? Txt_User[Usr_SEX_UNKNOWN] : // Role == Rol_UNK ==> any role + Txt_ROLES_SINGUL_Abc[Role][UsrDat->Sex])); + Str_FreeString (); HTM_TH_End (); HTM_TR_End (); @@ -2505,11 +2505,11 @@ void Crs_ListCrssFound (MYSQL_RES **mysql_res,unsigned NumCrss) { /***** Begin box and table *****/ /* Number of courses found */ - Box_BoxTableBegin (NULL,Str_BuildMsgLongStr ((long) NumCrss, - (NumCrss == 1) ? Txt_course : - Txt_courses), + Box_BoxTableBegin (NULL,Str_BuildStringLongStr ((long) NumCrss, + (NumCrss == 1) ? Txt_course : + Txt_courses), NULL,NULL,Box_NOT_CLOSABLE,2); - Str_FreeMsg (); + Str_FreeString (); /***** Heading row *****/ HTM_TR_Begin (NULL); diff --git a/swad_date.c b/swad_date.c index 278e5d2b..43171b6f 100644 --- a/swad_date.c +++ b/swad_date.c @@ -165,14 +165,12 @@ void Dat_PutSpanDateFormat (Dat_Format_t Format) void Dat_PutScriptDateFormat (Dat_Format_t Format) { - char *Id; - - if (asprintf (&Id,"date_format_%u",(unsigned) Format) < 0) - Lay_NotEnoughMemoryExit (); - Dat_WriteLocalDateHMSFromUTC (Id,Gbl.StartExecutionTimeUTC, + Dat_WriteLocalDateHMSFromUTC (Str_BuildStringLong ("date_format_%ld", + (long) Format), + Gbl.StartExecutionTimeUTC, Format,Dat_SEPARATOR_NONE, false,true,false,0x0); - free (Id); + Str_FreeString (); } /*****************************************************************************/ diff --git a/swad_degree.c b/swad_degree.c index c96dc7dd..ccc3aaa0 100644 --- a/swad_degree.c +++ b/swad_degree.c @@ -763,11 +763,11 @@ static void Deg_ListDegrees (void) unsigned NumDeg; /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Degrees_of_CENTRE_X, - Gbl.Hierarchy.Ctr.ShrtName), + Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Degrees_of_CENTRE_X, + Gbl.Hierarchy.Ctr.ShrtName), Deg_PutIconsListingDegrees, Hlp_CENTRE_Degrees,Box_NOT_CLOSABLE); - Str_FreeMsg (); + Str_FreeString (); if (Gbl.Hierarchy.Ctr.Degs.Num) // There are degrees in the current centre { @@ -945,11 +945,11 @@ static void Deg_EditDegreesInternal (void) Hie_WriteMenuHierarchy (); /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Degrees_of_CENTRE_X, - Gbl.Hierarchy.Ctr.ShrtName), + Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Degrees_of_CENTRE_X, + Gbl.Hierarchy.Ctr.ShrtName), Deg_PutIconsEditingDegrees, Hlp_CENTRE_Degrees,Box_NOT_CLOSABLE); - Str_FreeMsg (); + Str_FreeString (); if (Gbl.DegTypes.Num) { @@ -1957,11 +1957,11 @@ void Deg_ListDegsFound (MYSQL_RES **mysql_res,unsigned NumDegs) { /***** Begin box and table *****/ /* Number of degrees found */ - Box_BoxTableBegin (NULL,Str_BuildMsgLongStr ((long) NumDegs, - (NumDegs == 1) ? Txt_degree : - Txt_degrees), + Box_BoxTableBegin (NULL,Str_BuildStringLongStr ((long) NumDegs, + (NumDegs == 1) ? Txt_degree : + Txt_degrees), NULL,NULL,Box_NOT_CLOSABLE,2); - Str_FreeMsg (); + Str_FreeString (); /***** Write heading *****/ Deg_PutHeadDegreesForSeeing (); diff --git a/swad_degree_config.c b/swad_degree_config.c index 34a9bb07..be878b90 100644 --- a/swad_degree_config.c +++ b/swad_degree_config.c @@ -334,10 +334,10 @@ static void DegCfg_NumCrss (void) HTM_TD_Begin ("class=\"LB\""); Frm_StartFormGoTo (ActSeeCrs); Deg_PutParamDegCod (Gbl.Hierarchy.Deg.DegCod); - HTM_BUTTON_SUBMIT_Begin (Str_BuildMsgStr (Txt_Courses_of_DEGREE_X, - Gbl.Hierarchy.Deg.ShrtName), + HTM_BUTTON_SUBMIT_Begin (Str_BuildStringStr (Txt_Courses_of_DEGREE_X, + Gbl.Hierarchy.Deg.ShrtName), "BT_LINK DAT",NULL); - Str_FreeMsg (); + Str_FreeString (); HTM_Unsigned (Crs_GetNumCrssInDeg (Gbl.Hierarchy.Deg.DegCod)); HTM_BUTTON_End (); Frm_EndForm (); diff --git a/swad_department.c b/swad_department.c index b2747ee6..f0696e12 100644 --- a/swad_department.c +++ b/swad_department.c @@ -111,12 +111,12 @@ void Dpt_SeeDepts (void) Dpt_GetListDepartments (Gbl.Hierarchy.Ins.InsCod); /***** Begin box and table *****/ - Box_BoxTableBegin (NULL,Str_BuildMsgStr (Txt_Departments_of_INSTITUTION_X, - Gbl.Hierarchy.Ins.FullName), + Box_BoxTableBegin (NULL,Str_BuildStringStr (Txt_Departments_of_INSTITUTION_X, + Gbl.Hierarchy.Ins.FullName), Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ? Dpt_PutIconToEditDpts : NULL, Hlp_INSTITUTION_Departments,Box_NOT_CLOSABLE,2); - Str_FreeMsg (); + Str_FreeString (); /***** Write heading *****/ HTM_TR_Begin (NULL); @@ -266,10 +266,10 @@ static void Dpt_EditDepartmentsInternal (void) Dpt_GetListDepartments (Gbl.Hierarchy.Ins.InsCod); /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Departments_of_INSTITUTION_X, - Gbl.Hierarchy.Ins.FullName),NULL, + Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Departments_of_INSTITUTION_X, + Gbl.Hierarchy.Ins.FullName),NULL, Hlp_INSTITUTION_Departments_edit,Box_NOT_CLOSABLE); - Str_FreeMsg (); + Str_FreeString (); /***** Put a form to create a new department *****/ Dpt_PutFormToCreateDepartment (); diff --git a/swad_figure.c b/swad_figure.c index 80c2dcf5..376fbada 100644 --- a/swad_figure.c +++ b/swad_figure.c @@ -4974,10 +4974,10 @@ static void Fig_GetAndShowNumUsrsPerFirstDayOfWeek (void) FirstDayOfWeek) < 0) Lay_NotEnoughMemoryExit (); Ico_PutIcon (Icon, - Str_BuildMsgStr (Txt_First_day_of_the_week_X, - Txt_DAYS_SMALL[FirstDayOfWeek]), + Str_BuildStringStr (Txt_First_day_of_the_week_X, + Txt_DAYS_SMALL[FirstDayOfWeek]), "ICO40x40"); - Str_FreeMsg (); + Str_FreeString (); free (Icon); HTM_TD_End (); diff --git a/swad_file_browser.c b/swad_file_browser.c index 6178f232..5ff30c18 100644 --- a/swad_file_browser.c +++ b/swad_file_browser.c @@ -11807,11 +11807,11 @@ void Brw_ListDocsFound (MYSQL_RES **mysql_res,unsigned long NumDocs, { /***** Begin box and table *****/ /* Number of documents found */ - Box_BoxTableBegin (NULL,Str_BuildMsgLongStr ((long) NumDocs, - (NumDocs == 1) ? TitleSingular : - TitlePlural), + Box_BoxTableBegin (NULL,Str_BuildStringLongStr ((long) NumDocs, + (NumDocs == 1) ? TitleSingular : + TitlePlural), NULL,NULL,Box_NOT_CLOSABLE,2); - Str_FreeMsg (); + Str_FreeString (); /***** Write heading *****/ HTM_TR_Begin (NULL); diff --git a/swad_forum.c b/swad_forum.c index 9be53f88..b31020f6 100644 --- a/swad_forum.c +++ b/swad_forum.c @@ -1236,21 +1236,21 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod, PstCod); Ico_PutIconLink (Enabled ? "eye.svg" : "eye-slash.svg", - Str_BuildMsgLong (Enabled ? Txt_FORUM_Post_X_allowed_Click_to_ban_it : - Txt_FORUM_Post_X_banned_Click_to_unban_it, - (long) PstNum)); - Str_FreeMsg (); + Str_BuildStringLong (Enabled ? Txt_FORUM_Post_X_allowed_Click_to_ban_it : + Txt_FORUM_Post_X_banned_Click_to_unban_it, + (long) PstNum)); + Str_FreeString (); Frm_EndForm (); } else { Ico_PutIcon (Enabled ? "eye.svg" : "eye-slash.svg", - Str_BuildMsgLong (Enabled ? Txt_FORUM_Post_X_allowed : - Txt_FORUM_Post_X_banned, - (long) PstNum), + Str_BuildStringLong (Enabled ? Txt_FORUM_Post_X_allowed : + Txt_FORUM_Post_X_banned, + (long) PstNum), "ICO_HIDDEN ICO16x16"); - Str_FreeMsg (); + Str_FreeString (); } /***** Form to remove post *****/ diff --git a/swad_game.c b/swad_game.c index bc615828..666322c9 100644 --- a/swad_game.c +++ b/swad_game.c @@ -1871,9 +1871,9 @@ static void Gam_ListOneOrMoreQuestionsForEdition (long GamCod,unsigned NumQsts, { Lay_PutContextualLinkOnlyIcon (ActUp_GamQst,NULL,Gam_PutParamsOneQst, "arrow-up.svg", - Str_BuildMsgStr (Txt_Move_up_X, - StrQstInd)); - Str_FreeMsg (); + Str_BuildStringStr (Txt_Move_up_X, + StrQstInd)); + Str_FreeString (); } else Ico_PutIconOff ("arrow-up.svg",Txt_Movement_not_allowed); @@ -1883,9 +1883,9 @@ static void Gam_ListOneOrMoreQuestionsForEdition (long GamCod,unsigned NumQsts, { Lay_PutContextualLinkOnlyIcon (ActDwnGamQst,NULL,Gam_PutParamsOneQst, "arrow-down.svg", - Str_BuildMsgStr (Txt_Move_down_X, - StrQstInd)); - Str_FreeMsg (); + Str_BuildStringStr (Txt_Move_down_X, + StrQstInd)); + Str_FreeString (); } else Ico_PutIconOff ("arrow-down.svg",Txt_Movement_not_allowed); diff --git a/swad_group.c b/swad_group.c index 7b10205a..1c461675 100644 --- a/swad_group.c +++ b/swad_group.c @@ -1509,10 +1509,10 @@ static void Grp_ListGroupsForEdition (void) Grp_PutParamGrpCod (Grp->GrpCod); Ico_PutIconLink (Grp->Open ? "unlock.svg" : "lock.svg", - Str_BuildMsgStr (Grp->Open ? Txt_Group_X_open_click_to_close_it : - Txt_Group_X_closed_click_to_open_it, - Grp->GrpName)); - Str_FreeMsg (); + Str_BuildStringStr (Grp->Open ? Txt_Group_X_open_click_to_close_it : + Txt_Group_X_closed_click_to_open_it, + Grp->GrpName)); + Str_FreeString (); Frm_EndForm (); HTM_TD_End (); @@ -1524,10 +1524,10 @@ static void Grp_ListGroupsForEdition (void) Grp_PutParamGrpCod (Grp->GrpCod); Ico_PutIconLink (Grp->FileZones ? "folder-open-green.svg" : "folder-red.svg", - Str_BuildMsgStr (Grp->FileZones ? Txt_File_zones_of_the_group_X_enabled_click_to_disable_them : - Txt_File_zones_of_the_group_X_disabled_click_to_enable_them, - Grp->GrpName)); - Str_FreeMsg (); + Str_BuildStringStr (Grp->FileZones ? Txt_File_zones_of_the_group_X_enabled_click_to_disable_them : + Txt_File_zones_of_the_group_X_disabled_click_to_enable_them, + Grp->GrpName)); + Str_FreeString (); Frm_EndForm (); HTM_TD_End (); @@ -2381,10 +2381,10 @@ static void Grp_WriteRowGrp (struct Group *Grp,bool Highlight) HTM_TD_Begin ("class=\"BM\""); Ico_PutIconOff (Grp->Open ? "unlock.svg" : "lock.svg", - Str_BuildMsgStr (Grp->Open ? Txt_Group_X_open : - Txt_Group_X_closed, - Grp->GrpName)); - Str_FreeMsg (); + Str_BuildStringStr (Grp->Open ? Txt_Group_X_open : + Txt_Group_X_closed, + Grp->GrpName)); + Str_FreeString (); HTM_TD_End (); /***** Group name *****/ diff --git a/swad_help.c b/swad_help.c index 53260234..ee371a77 100644 --- a/swad_help.c +++ b/swad_help.c @@ -141,21 +141,21 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void) if (ActionsRemoveMe[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role] != ActUnk) { /* Request my removing from this course */ - Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildMsgStr (Txt_Remove_me_from_THE_COURSE_X, - Gbl.Hierarchy.Crs.ShrtName), + Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStringStr (Txt_Remove_me_from_THE_COURSE_X, + Gbl.Hierarchy.Crs.ShrtName), ActionsRemoveMe[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role], Btn_REMOVE_BUTTON,Txt_Remove_me); - Str_FreeMsg (); + Str_FreeString (); } } else // I do not belong to this course { /* Request my registration in this course */ - Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildMsgStr (Txt_Register_me_in_X, - Gbl.Hierarchy.Crs.ShrtName), + Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStringStr (Txt_Register_me_in_X, + Gbl.Hierarchy.Crs.ShrtName), ActReqSignUp, Btn_CREATE_BUTTON,Txt_Sign_up); - Str_FreeMsg (); + Str_FreeString (); } } @@ -166,11 +166,11 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void) Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role == Rol_TCH) // I am a teacher in current course { /* Request students enrolment */ - Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildMsgStr (Txt_Register_students_in_COURSE_X, - Gbl.Hierarchy.Crs.ShrtName), + Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStringStr (Txt_Register_students_in_COURSE_X, + Gbl.Hierarchy.Crs.ShrtName), ActReqEnrSevStd, Btn_CREATE_BUTTON,Txt_Register_students); - Str_FreeMsg (); + Str_FreeString (); } if (Gbl.Action.Act != ActMyCrs) // I am not seeing the action to list my courses @@ -183,42 +183,42 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void) if (Gbl.Hierarchy.Deg.DegCod > 0) // Degree selected { /* Select a course */ - Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildMsgStr (Gbl.Hierarchy.Level == Hie_CRS ? Txt_Select_create_course_in_X : - Txt_Select_or_create_one_course_in_X, - Gbl.Hierarchy.Deg.ShrtName), + Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStringStr (Gbl.Hierarchy.Level == Hie_CRS ? Txt_Select_create_course_in_X : + Txt_Select_or_create_one_course_in_X, + Gbl.Hierarchy.Deg.ShrtName), ActSeeCrs, Btn_CONFIRM_BUTTON,Txt_Courses); - Str_FreeMsg (); + Str_FreeString (); } else if (Gbl.Hierarchy.Ctr.CtrCod > 0) // Centre selected { /* Select a degree */ - Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildMsgStr (Gbl.Hierarchy.Deg.DegCod > 0 ? Txt_Select_or_create_another_degree_in_X : - Txt_Select_or_create_one_degree_in_X, - Gbl.Hierarchy.Ctr.ShrtName), + Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStringStr (Gbl.Hierarchy.Deg.DegCod > 0 ? Txt_Select_or_create_another_degree_in_X : + Txt_Select_or_create_one_degree_in_X, + Gbl.Hierarchy.Ctr.ShrtName), ActSeeDeg, Btn_CONFIRM_BUTTON,Txt_Degrees); - Str_FreeMsg (); + Str_FreeString (); } else if (Gbl.Hierarchy.Ins.InsCod > 0) // Institution selected { /* Select a centre */ - Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildMsgStr (Gbl.Hierarchy.Ctr.CtrCod > 0 ? Txt_Select_or_create_another_centre_in_X : - Txt_Select_or_create_one_centre_in_X, - Gbl.Hierarchy.Ins.ShrtName), + Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStringStr (Gbl.Hierarchy.Ctr.CtrCod > 0 ? Txt_Select_or_create_another_centre_in_X : + Txt_Select_or_create_one_centre_in_X, + Gbl.Hierarchy.Ins.ShrtName), ActSeeCtr, Btn_CONFIRM_BUTTON,Txt_Centres); - Str_FreeMsg (); + Str_FreeString (); } else if (Gbl.Hierarchy.Cty.CtyCod > 0) // Country selected { /* Select an institution */ - Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildMsgStr (Gbl.Hierarchy.Ins.InsCod > 0 ? Txt_Select_or_create_another_institution_in_X : - Txt_Select_or_create_one_institution_in_X, - Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]), + Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStringStr (Gbl.Hierarchy.Ins.InsCod > 0 ? Txt_Select_or_create_another_institution_in_X : + Txt_Select_or_create_one_institution_in_X, + Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]), ActSeeIns, Btn_CONFIRM_BUTTON,Txt_Institutions); - Str_FreeMsg (); + Str_FreeString (); } else /* Select a country */ @@ -240,11 +240,11 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void) Btn_CONFIRM_BUTTON,Txt_Log_in); /* Sign up */ - Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildMsgStr (Txt_New_on_PLATFORM_Sign_up, - Cfg_PLATFORM_SHORT_NAME), + Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStringStr (Txt_New_on_PLATFORM_Sign_up, + Cfg_PLATFORM_SHORT_NAME), ActFrmMyAcc, Btn_CREATE_BUTTON,Txt_Create_account); - Str_FreeMsg (); + Str_FreeString (); } /***** End table and box *****/ diff --git a/swad_hierarchy.c b/swad_hierarchy.c index 0c2692e3..7a2828a3 100644 --- a/swad_hierarchy.c +++ b/swad_hierarchy.c @@ -788,10 +788,10 @@ char *Hie_BuildGoToMsg (const char *Where) { extern const char *Txt_Go_to_X; - return Str_BuildMsgStr (Txt_Go_to_X,Where); + return Str_BuildStringStr (Txt_Go_to_X,Where); } void Hie_FreeGoToMsg (void) { - Str_FreeMsg (); + Str_FreeString (); } diff --git a/swad_hierarchy_config.c b/swad_hierarchy_config.c index 46b804d8..e676ec61 100644 --- a/swad_hierarchy_config.c +++ b/swad_hierarchy_config.c @@ -25,9 +25,6 @@ /********************************* Headers ***********************************/ /*****************************************************************************/ -#define _GNU_SOURCE // For asprintf -#include // For asprintf - #include "swad_form.h" #include "swad_global.h" #include "swad_HTML.h" diff --git a/swad_indicator.c b/swad_indicator.c index 23cbf1c6..cd023c62 100644 --- a/swad_indicator.c +++ b/swad_indicator.c @@ -25,9 +25,7 @@ /********************************* Headers ***********************************/ /*****************************************************************************/ -#define _GNU_SOURCE // For asprintf #include // For NULL -#include // For aprintf #include // To access MySQL databases #include "swad_action.h" diff --git a/swad_institution.c b/swad_institution.c index ab948051..614c1c42 100644 --- a/swad_institution.c +++ b/swad_institution.c @@ -291,11 +291,11 @@ static void Ins_ListInstitutions (void) unsigned NumIns; /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Institutions_of_COUNTRY_X, - Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]), + Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Institutions_of_COUNTRY_X, + Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]), Ins_PutIconsListingInstitutions, Hlp_COUNTRY_Institutions,Box_NOT_CLOSABLE); - Str_FreeMsg (); + Str_FreeString (); if (Gbl.Hierarchy.Cty.Inss.Num) // There are institutions in the current country { @@ -538,11 +538,11 @@ static void Ins_EditInstitutionsInternal (void) Hie_WriteMenuHierarchy (); /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Institutions_of_COUNTRY_X, - Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]), + Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Institutions_of_COUNTRY_X, + Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]), Ins_PutIconsEditingInstitutions, Hlp_COUNTRY_Institutions,Box_NOT_CLOSABLE); - Str_FreeMsg (); + Str_FreeString (); /***** Put a form to create a new institution *****/ Ins_PutFormToCreateInstitution (); @@ -1968,11 +1968,11 @@ void Ins_ListInssFound (MYSQL_RES **mysql_res,unsigned NumInss) { /***** Begin box and table *****/ /* Number of institutions found */ - Box_BoxTableBegin (NULL,Str_BuildMsgLongStr ((long) NumInss, - NumInss == 1 ? Txt_institution : - Txt_institutions), + Box_BoxTableBegin (NULL,Str_BuildStringLongStr ((long) NumInss, + NumInss == 1 ? Txt_institution : + Txt_institutions), NULL,NULL,Box_NOT_CLOSABLE,2); - Str_FreeMsg (); + Str_FreeString (); /***** Write heading *****/ Ins_PutHeadInstitutionsForSeeing (false); // Order not selectable diff --git a/swad_institution_config.c b/swad_institution_config.c index 3216d866..e5c352c6 100644 --- a/swad_institution_config.c +++ b/swad_institution_config.c @@ -467,10 +467,10 @@ static void InsCfg_NumCtrs (void) HTM_TD_Begin ("class=\"LB\""); Frm_StartFormGoTo (ActSeeCtr); Ins_PutParamInsCod (Gbl.Hierarchy.Ins.InsCod); - HTM_BUTTON_SUBMIT_Begin (Str_BuildMsgStr (Txt_Centres_of_INSTITUTION_X, - Gbl.Hierarchy.Ins.ShrtName), + HTM_BUTTON_SUBMIT_Begin (Str_BuildStringStr (Txt_Centres_of_INSTITUTION_X, + Gbl.Hierarchy.Ins.ShrtName), "BT_LINK DAT",NULL); - Str_FreeMsg (); + Str_FreeString (); HTM_Unsigned (Ctr_GetNumCtrsInIns (Gbl.Hierarchy.Ins.InsCod)); HTM_BUTTON_End (); Frm_EndForm (); diff --git a/swad_mail.c b/swad_mail.c index d2e80e8d..69d13044 100644 --- a/swad_mail.c +++ b/swad_mail.c @@ -1309,9 +1309,9 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe, if (Confirmed) { Ico_PutIcon ("check-circle.svg", - Str_BuildMsgStr (Txt_Email_X_confirmed,row[0]), + Str_BuildStringStr (Txt_Email_X_confirmed,row[0]), "ICO16x16"); - Str_FreeMsg (); + Str_FreeString (); } /* Form to change user's email */ diff --git a/swad_match.c b/swad_match.c index 1c81d12c..bc7c332c 100644 --- a/swad_match.c +++ b/swad_match.c @@ -2407,7 +2407,6 @@ static void Mch_PutFormCountdown (struct Match *Match,long Seconds,const char *C { extern const char *Txt_Countdown; char *OnSubmit; - char *Class; bool PutForm = Match->Status.Showing != Mch_END; if (PutForm) @@ -2421,24 +2420,21 @@ static void Mch_PutFormCountdown (struct Match *Match,long Seconds,const char *C Lay_NotEnoughMemoryExit (); Frm_StartFormOnSubmit (ActUnk,OnSubmit); - /***** Set class *****/ - if (asprintf (&Class,"BT_LINK MCH_BUTTON_ON %s",Color) < 0) - Lay_NotEnoughMemoryExit (); } else { - /***** Set class *****/ - if (asprintf (&Class,"BT_LINK_OFF MCH_BUTTON_HIDDEN %s",Color) < 0) - Lay_NotEnoughMemoryExit (); } /***** Put icon *****/ HTM_DIV_Begin ("class=\"MCH_SMALLBUTTON_CONT\""); - if (PutForm) - HTM_BUTTON_SUBMIT_Begin (Txt_Countdown,Class,NULL); - else - HTM_BUTTON_BUTTON_Begin (NULL,Class,NULL); + HTM_BUTTON_SUBMIT_Begin (PutForm ? Txt_Countdown : + NULL, + Str_BuildStringStr (PutForm ? "BT_LINK MCH_BUTTON_ON %s" : + "BT_LINK_OFF MCH_BUTTON_HIDDEN %s", + Color), + NULL); + Str_FreeString (); HTM_NBSP (); if (Seconds >= 0) @@ -2453,9 +2449,6 @@ static void Mch_PutFormCountdown (struct Match *Match,long Seconds,const char *C HTM_DIV_End (); - /***** Free class *****/ - free (Class); - /***** End form *****/ if (PutForm) { @@ -2708,10 +2701,10 @@ static void Mch_ShowFormColumns (const struct Match *Match) /* Number of columns */ Ico_PutSettingIconLink (NumColsIcon[NumCols], - Str_BuildMsgLongStr ((long) NumCols, - NumCols == 1 ? Txt_column : - Txt_columns)); - Str_FreeMsg (); + Str_BuildStringLongStr ((long) NumCols, + NumCols == 1 ? Txt_column : + Txt_columns)); + Str_FreeString (); /* End form */ Frm_EndForm (); @@ -3170,7 +3163,6 @@ static void Mch_DrawScoreRow (double Score,double MinScore,double MaxScore, unsigned Color; unsigned BarWidth; char *Icon; - char *Title; /***** Compute color *****/ /* @@ -3223,16 +3215,14 @@ static void Mch_DrawScoreRow (double Score,double MinScore,double MaxScore, HTM_TD_Begin ("class=\"MCH_SCO_NUM%s\"",Mch_GetClassBorder (NumRow)); if (asprintf (&Icon,"score%u_1x1.png",Color) < 0) // Background Lay_NotEnoughMemoryExit (); - if (asprintf (&Title,"%u %s", - NumUsrs, - NumUsrs == 1 ? Txt_ROLES_SINGUL_abc[Rol_STD][Usr_SEX_UNKNOWN] : - Txt_ROLES_PLURAL_abc[Rol_STD][Usr_SEX_UNKNOWN]) < 0) - Lay_NotEnoughMemoryExit (); - HTM_IMG (Cfg_URL_ICON_PUBLIC,Icon,Title, + HTM_IMG (Cfg_URL_ICON_PUBLIC,Icon, + Str_BuildStringLongStr ((long) NumUsrs, + NumUsrs == 1 ? Txt_ROLES_SINGUL_abc[Rol_STD][Usr_SEX_UNKNOWN] : + Txt_ROLES_PLURAL_abc[Rol_STD][Usr_SEX_UNKNOWN]), "class=\"MCH_SCO_BAR\" style=\"width:%u%%;\"",BarWidth); - HTM_TxtF (" %u",NumUsrs); - free (Title); + Str_FreeString (); free (Icon); + HTM_TxtF (" %u",NumUsrs); HTM_TD_End (); HTM_TR_End (); diff --git a/swad_match_result.c b/swad_match_result.c index c26ccdec..1fd64016 100644 --- a/swad_match_result.c +++ b/swad_match_result.c @@ -176,9 +176,9 @@ void McR_ShowMyMchResultsInGam (void) false); // Do not put form to start new match /***** List my matches results in game *****/ - McR_ShowResultsBegin (Str_BuildMsgStr (Txt_Results_of_game_X,Game.Title), + McR_ShowResultsBegin (Str_BuildStringStr (Txt_Results_of_game_X,Game.Title), false); // Do not list games to select - Str_FreeMsg (); + Str_FreeString (); McR_ListMyMchResultsInGam (Game.GamCod); McR_ShowResultsEnd (); @@ -220,9 +220,9 @@ void McR_ShowMyMchResultsInMch (void) false); // Do not put form to start new match /***** List my matches results in match *****/ - McR_ShowResultsBegin (Str_BuildMsgStr (Txt_Results_of_match_X,Match.Title), + McR_ShowResultsBegin (Str_BuildStringStr (Txt_Results_of_match_X,Match.Title), false); // Do not list games to select - Str_FreeMsg (); + Str_FreeString (); McR_ListMyMchResultsInMch (Match.MchCod); McR_ShowResultsEnd (); @@ -320,9 +320,9 @@ void McR_ShowAllMchResultsInGam (void) false); // Do not put form to start new match /***** List matches results in game *****/ - McR_ShowResultsBegin (Str_BuildMsgStr (Txt_Results_of_game_X,Game.Title), + McR_ShowResultsBegin (Str_BuildStringStr (Txt_Results_of_game_X,Game.Title), false); // Do not list games to select - Str_FreeMsg (); + Str_FreeString (); McR_ListAllMchResultsInGam (Game.GamCod); McR_ShowResultsEnd (); @@ -405,9 +405,9 @@ void McR_ShowAllMchResultsInMch (void) false); // Do not put form to start new match /***** List matches results in match *****/ - McR_ShowResultsBegin (Str_BuildMsgStr (Txt_Results_of_match_X,Match.Title), + McR_ShowResultsBegin (Str_BuildStringStr (Txt_Results_of_match_X,Match.Title), false); // Do not list games to select - Str_FreeMsg (); + Str_FreeString (); McR_ListAllMchResultsInMch (Match.MchCod); McR_ShowResultsEnd (); diff --git a/swad_photo.c b/swad_photo.c index 65f24970..a5b57acf 100644 --- a/swad_photo.c +++ b/swad_photo.c @@ -577,7 +577,6 @@ static bool Pho_ReceivePhotoAndDetectFaces (bool ItsMe,const struct UsrData *Usr char FileNamePhotoMap[PATH_MAX + 1]; // Full name (including path) of the temporary file with the original image with faces char FileNameTxtMap[PATH_MAX + 1]; // Full name (including path) of the temporary file with the text neccesary to make the image map char PathRelPhoto[PATH_MAX + 1]; - char *Img; FILE *FileTxtMap = NULL; // Temporary file with the text neccesary to make the image map. Initialized to avoid warning char MIMEType[Brw_MAX_BYTES_MIME_TYPE + 1]; bool WrongType = false; @@ -784,11 +783,11 @@ static bool Pho_ReceivePhotoAndDetectFaces (bool ItsMe,const struct UsrData *Usr Cfg_PATH_PHOTO_TMP_PUBLIC, Gbl.UniqueNameEncrypted); HTM_DIV_Begin ("class=\"TIT CM\""); - if (asprintf (&Img,"%s_map.jpg",Gbl.UniqueNameEncrypted) < 0) - Lay_NotEnoughMemoryExit (); - HTM_IMG (Cfg_URL_PHOTO_TMP_PUBLIC,Img,Txt_Faces_detected, + HTM_IMG (Cfg_URL_PHOTO_TMP_PUBLIC, + Str_BuildStringStr ("%s_map.jpg",Gbl.UniqueNameEncrypted), + Txt_Faces_detected, "usemap=\"#faces_map\""); - free (Img); + Str_FreeString (); HTM_DIV_End (); /***** End alert *****/ diff --git a/swad_plugin.c b/swad_plugin.c index ffdbb636..4a0618aa 100644 --- a/swad_plugin.c +++ b/swad_plugin.c @@ -28,10 +28,8 @@ TODO: Check if web service is called from an authorized IP. /********************************* Headers ***********************************/ /*****************************************************************************/ -#define _GNU_SOURCE // For asprintf #include // For boolean type #include // For NULL -#include // For fprintf, asprintf #include // For calloc, free #include @@ -98,7 +96,6 @@ void Plg_ListPlugins (void) unsigned NumPlg; struct Plugin *Plg; char URL[Cns_MAX_BYTES_WWW + Cns_BYTES_SESSION_ID + 1]; - char *Icon; if (Gbl.Usrs.Me.Role.Logged != Rol_SYS_ADM) { @@ -141,12 +138,11 @@ void Plg_ListPlugins (void) HTM_TD_Begin ("class=\"DAT LM\" style=\"width:45px;\""); HTM_A_Begin ("href=\"%s\" title=\"%s\" class=\"DAT\" target=\"_blank\"", URL,Plg->Name); - if (asprintf (&Icon,"%s24x24.gif", - Gbl.Plugins.Lst[NumPlg].Logo) < 0) - Lay_NotEnoughMemoryExit (); - HTM_IMG (Cfg_URL_ICON_PLUGINS_PUBLIC,Icon,Plg->Name, + HTM_IMG (Cfg_URL_ICON_PLUGINS_PUBLIC, + Str_BuildStringStr ("%s24x24.gif",Gbl.Plugins.Lst[NumPlg].Logo), + Plg->Name, "class=\"ICO40x40\""); - free (Icon); + Str_FreeString (); HTM_A_End (); HTM_TD_End (); @@ -383,7 +379,6 @@ static void Plg_ListPluginsForEdition (void) { unsigned NumPlg; struct Plugin *Plg; - char *Icon; /***** Write heading *****/ HTM_TABLE_BeginWidePadding (2); @@ -414,12 +409,11 @@ static void Plg_ListPluginsForEdition (void) /* Plugin logo */ // TODO: Change plugin icons to 32x32 HTM_TD_Begin ("class=\"CM\" style=\"width:45px;\""); - if (asprintf (&Icon,"%s24x24.gif", - Gbl.Plugins.Lst[NumPlg].Logo) < 0) - Lay_NotEnoughMemoryExit (); - HTM_IMG (Cfg_URL_ICON_PLUGINS_PUBLIC,Icon,Gbl.Plugins.Lst[NumPlg].Name, + HTM_IMG (Cfg_URL_ICON_PLUGINS_PUBLIC, + Str_BuildStringStr ("%s24x24.gif",Gbl.Plugins.Lst[NumPlg].Logo), + Gbl.Plugins.Lst[NumPlg].Name, "class=\"ICO40x40\""); - free (Icon); + Str_FreeString (); HTM_TD_End (); /* Plugin name */ diff --git a/swad_project.c b/swad_project.c index 5987ae85..b1bb1131 100644 --- a/swad_project.c +++ b/swad_project.c @@ -2061,9 +2061,9 @@ static void Prj_ShowOneProjectMembersWithARole (const struct Project *Prj, Gbl.Prjs.PrjCod = Prj->PrjCod; // Used to pass project code as a parameter Ico_PutContextualIconToAdd (ActionReqAddUsr[RoleInProject],NULL, Prj_PutCurrentParams, - Str_BuildMsgStr (Txt_Add_USERS, - Txt_PROJECT_ROLES_PLURAL_abc[RoleInProject])); - Str_FreeMsg (); + Str_BuildStringStr (Txt_Add_USERS, + Txt_PROJECT_ROLES_PLURAL_abc[RoleInProject])); + Str_FreeString (); HTM_TD_End (); HTM_TD_Begin ("class=\"PRJ_MEMBER_PHO\""); // Column for photo @@ -2460,9 +2460,9 @@ static void Prj_ReqRemUsrFromPrj (Prj_RoleInProject_t RoleInProject) Frm_StartForm (ActionRemUsr[RoleInProject]); Gbl.Prjs.PrjCod = Prj.PrjCod; Prj_PutCurrentParams (); - Btn_PutRemoveButton (Str_BuildMsgStr (Txt_Remove_USER_from_this_project, - Txt_PROJECT_ROLES_SINGUL_abc[RoleInProject][Gbl.Usrs.Other.UsrDat.Sex])); - Str_FreeMsg (); + Btn_PutRemoveButton (Str_BuildStringStr (Txt_Remove_USER_from_this_project, + Txt_PROJECT_ROLES_SINGUL_abc[RoleInProject][Gbl.Usrs.Other.UsrDat.Sex])); + Str_FreeString (); Frm_EndForm (); /* End alert */ diff --git a/swad_record.c b/swad_record.c index 3dfbd5b3..e92d7f59 100644 --- a/swad_record.c +++ b/swad_record.c @@ -25,10 +25,8 @@ /********************************* Headers ***********************************/ /*****************************************************************************/ -#define _GNU_SOURCE // For asprintf #include // For PATH_MAX #include // For NULL -#include // For asprintf #include // For calloc #include @@ -2859,7 +2857,6 @@ static void Rec_ShowRole (struct UsrData *UsrDat, Rol_Role_t Role; unsigned RoleUnsigned; Usr_Sex_t Sex; - char *Label; HTM_TR_Begin (NULL); @@ -3066,10 +3063,9 @@ static void Rec_ShowRole (struct UsrData *UsrDat, { /***** Form to select a sex *****/ /* Label */ - if (asprintf (&Label,"%s*",Txt_Sex) < 0) - Lay_NotEnoughMemoryExit (); - Frm_LabelColumn ("REC_C1_BOT RM","",Label); - free (Label); + Frm_LabelColumn ("REC_C1_BOT RM","", + Str_BuildStringStr ("%s*",Txt_Sex)); + Str_FreeString (); /* Data */ HTM_TD_Begin ("class=\"REC_C2_BOT LM\""); @@ -3109,17 +3105,15 @@ static void Rec_ShowRole (struct UsrData *UsrDat, static void Rec_ShowSurname1 (struct UsrData *UsrDat,bool PutForm) { extern const char *Txt_Surname_1; - char *Label; HTM_TR_Begin (NULL); /* Label */ if (PutForm) { - if (asprintf (&Label,"%s*",Txt_Surname_1) < 0) - Lay_NotEnoughMemoryExit (); - Frm_LabelColumn ("REC_C1_BOT RM","Surname1",Label); - free (Label); + Frm_LabelColumn ("REC_C1_BOT RM","Surname1", + Str_BuildStringStr ("%s*",Txt_Surname_1)); + Str_FreeString (); } else Frm_LabelColumn ("REC_C1_BOT RM",NULL,Txt_Surname_1); @@ -3180,17 +3174,15 @@ static void Rec_ShowSurname2 (struct UsrData *UsrDat,bool PutForm) static void Rec_ShowFirstName (struct UsrData *UsrDat,bool PutForm) { extern const char *Txt_First_name; - char *Label; HTM_TR_Begin (NULL); /* Label */ if (PutForm) { - if (asprintf (&Label,"%s*",Txt_First_name) < 0) - Lay_NotEnoughMemoryExit (); - Frm_LabelColumn ("REC_C1_BOT RM","FirstName",Label); - free (Label); + Frm_LabelColumn ("REC_C1_BOT RM","FirstName", + Str_BuildStringStr ("%s*",Txt_First_name)); + Str_FreeString (); } else Frm_LabelColumn ("REC_C1_BOT RM",NULL,Txt_First_name); @@ -3221,7 +3213,6 @@ static void Rec_ShowCountry (struct UsrData *UsrDat,bool PutForm) { extern const char *Txt_Country; extern const char *Txt_Another_country; - char *Label; unsigned NumCty; /***** If list of countries is empty, try to get it *****/ @@ -3237,10 +3228,9 @@ static void Rec_ShowCountry (struct UsrData *UsrDat,bool PutForm) /* Label */ if (PutForm) { - if (asprintf (&Label,"%s*",Txt_Country) < 0) - Lay_NotEnoughMemoryExit (); - Frm_LabelColumn ("REC_C1_BOT RM","OthCtyCod",Label); - free (Label); + Frm_LabelColumn ("REC_C1_BOT RM","OthCtyCod", + Str_BuildStringStr ("%s*",Txt_Country)); + Str_FreeString (); } else Frm_LabelColumn ("REC_C1_BOT RM",NULL,Txt_Country); @@ -3936,7 +3926,6 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher) extern const char *Txt_Department; extern const char *Txt_Office; extern const char *Txt_Phone; - char *Label; unsigned NumCty; unsigned NumIns; unsigned NumCtr; @@ -3957,10 +3946,9 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher) HTM_TR_Begin (NULL); /* Label */ - if (asprintf (&Label,"%s*",Txt_Country) < 0) - Lay_NotEnoughMemoryExit (); - Frm_LabelColumn ("REC_C1_BOT RM","InsCtyCod",Label); - free (Label); + Frm_LabelColumn ("REC_C1_BOT RM","InsCtyCod", + Str_BuildStringStr ("%s*",Txt_Country)); + Str_FreeString (); /* Data */ HTM_TD_Begin ("class=\"REC_C2_BOT LM\""); @@ -3996,10 +3984,9 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher) HTM_TR_Begin (NULL); /* Label */ - if (asprintf (&Label,"%s*",Txt_Institution) < 0) - Lay_NotEnoughMemoryExit (); - Frm_LabelColumn ("REC_C1_BOT RM","OthInsCod",Label); - free (Label); + Frm_LabelColumn ("REC_C1_BOT RM","OthInsCod", + Str_BuildStringStr ("%s*",Txt_Institution)); + Str_FreeString (); /* Data */ HTM_TD_Begin ("class=\"REC_C2_BOT LM\""); @@ -4038,10 +4025,9 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher) HTM_TR_Begin (NULL); /* Label */ - if (asprintf (&Label,"%s*",Txt_Centre) < 0) - Lay_NotEnoughMemoryExit (); - Frm_LabelColumn ("REC_C1_BOT RM","OthCtrCod",Label); - free (Label); + Frm_LabelColumn ("REC_C1_BOT RM","OthCtrCod", + Str_BuildStringStr ("%s*",Txt_Centre)); + Str_FreeString (); /* Data */ HTM_TD_Begin ("class=\"REC_C2_BOT LM\""); @@ -4078,10 +4064,9 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher) HTM_TR_Begin (NULL); /* Label */ - if (asprintf (&Label,"%s*",Txt_Department) < 0) - Lay_NotEnoughMemoryExit (); - Frm_LabelColumn ("REC_C1_BOT RM",Dpt_PARAM_DPT_COD_NAME,Label); - free (Label); + Frm_LabelColumn ("REC_C1_BOT RM",Dpt_PARAM_DPT_COD_NAME, + Str_BuildStringStr ("%s*",Txt_Department)); + Str_FreeString (); /* Data */ HTM_TD_Begin ("class=\"REC_C2_BOT LM\""); diff --git a/swad_report.c b/swad_report.c index 2f2563a9..a0f59340 100644 --- a/swad_report.c +++ b/swad_report.c @@ -158,10 +158,10 @@ void Rep_ReqMyUsageReport (void) Frm_StartForm (ActSeeMyUsgRep); /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Report_of_use_of_PLATFORM, - Cfg_PLATFORM_SHORT_NAME),NULL, + Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Report_of_use_of_PLATFORM, + Cfg_PLATFORM_SHORT_NAME),NULL, Hlp_ANALYTICS_Report,Box_NOT_CLOSABLE); - Str_FreeMsg (); + Str_FreeString (); /***** Header *****/ Rep_TitleReport (NULL); // NULL means do not write date @@ -264,10 +264,10 @@ static void Rep_PutLinkToMyUsageReport (struct Rep_Report *Report) extern const char *Txt_This_link_will_remain_active_as_long_as_your_user_s_account_exists; /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Report_of_use_of_PLATFORM, - Cfg_PLATFORM_SHORT_NAME),NULL, + Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Report_of_use_of_PLATFORM, + Cfg_PLATFORM_SHORT_NAME),NULL, Hlp_ANALYTICS_Report,Box_NOT_CLOSABLE); - Str_FreeMsg (); + Str_FreeString (); /***** Header *****/ Rep_TitleReport (&Report->CurrentTimeUTC); @@ -993,13 +993,13 @@ static void Rep_GetAndWriteMyCurrentCrss (Rol_Role_t Role, long CrsCod; NumCrss = Usr_GetNumCrssOfUsrWithARole (Gbl.Usrs.Me.UsrDat.UsrCod,Role); - fprintf (Gbl.F.Rep,"
  • %s %u %s", - Str_BuildMsgStr (Txt_USER_in_COURSE, - Txt_ROLES_SINGUL_Abc[Role][Gbl.Usrs.Me.UsrDat.Sex]), + fprintf (Gbl.F.Rep,"
  • "); + fprintf (Gbl.F.Rep,Txt_USER_in_COURSE, + Txt_ROLES_SINGUL_Abc[Role][Gbl.Usrs.Me.UsrDat.Sex]); + fprintf (Gbl.F.Rep," %u %s", NumCrss, NumCrss == 1 ? Txt_course : Txt_courses); - Str_FreeMsg (); if (NumCrss) { diff --git a/swad_statistic.c b/swad_statistic.c index e1ca4ed9..29201894 100644 --- a/swad_statistic.c +++ b/swad_statistic.c @@ -230,10 +230,10 @@ void Sta_AskShowCrsHits (void) Gbl.Usrs.LstUsrs[Rol_TCH].NumUsrs; /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Statistics_of_visits_to_the_course_X, - Gbl.Hierarchy.Crs.ShrtName),NULL, + Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Statistics_of_visits_to_the_course_X, + Gbl.Hierarchy.Crs.ShrtName),NULL, Hlp_ANALYTICS_Visits_visits_to_course,Box_NOT_CLOSABLE); - Str_FreeMsg (); + Str_FreeString (); /***** Show form to select the groups *****/ Grp_ShowFormToSelectSeveralGroups (NULL,Grp_MY_GROUPS); @@ -1494,10 +1494,10 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql HTM_TD_Begin ("class=\"LM\""); if (FirstRow > 1) { - HTM_BUTTON_SUBMIT_Begin (Str_BuildMsgLong (Txt_Show_previous_X_clicks, - (long) Gbl.Stat.RowsPerPage), + HTM_BUTTON_SUBMIT_Begin (Str_BuildStringLong (Txt_Show_previous_X_clicks, + (long) Gbl.Stat.RowsPerPage), "BT_LINK TIT_TBL",NULL); - Str_FreeMsg (); + Str_FreeString (); HTM_STRONG_Begin (); HTM_TxtF ("<%s",Txt_PAGES_Previous); HTM_STRONG_End (); @@ -1532,10 +1532,10 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql HTM_TD_Begin ("class=\"RM\""); if (LastRow < NumRows) { - HTM_BUTTON_SUBMIT_Begin (Str_BuildMsgLong (Txt_Show_next_X_clicks, - (long) Gbl.Stat.RowsPerPage), + HTM_BUTTON_SUBMIT_Begin (Str_BuildStringLong (Txt_Show_next_X_clicks, + (long) Gbl.Stat.RowsPerPage), "BT_LINK TIT_TBL",NULL); - Str_FreeMsg (); + Str_FreeString (); HTM_STRONG_Begin (); HTM_TxtF ("%s>",Txt_PAGES_Next); HTM_STRONG_End (); diff --git a/swad_string.c b/swad_string.c index 8dc55870..c4af34b7 100644 --- a/swad_string.c +++ b/swad_string.c @@ -2924,51 +2924,51 @@ void Str_Concat (char *Dst,const char *Src,size_t DstSize) } /*****************************************************************************/ -/******************* Build and free a message with format ********************/ +/******************** Build and free a text with format **********************/ /*****************************************************************************/ -static char *Str_Msg = NULL; +static char *Str_String = NULL; -// FormatMsg must be a string including "%s" +// fmt must be a string including "%s" // Str_FreeMsg() must be called after calling this function -char *Str_BuildMsgStr (const char *fmt,const char *Str) +char *Str_BuildStringStr (const char *fmt,const char *Str) { - Str_FreeMsg (); - if (asprintf (&Str_Msg,fmt,Str) < 0) + Str_FreeString (); + if (asprintf (&Str_String,fmt,Str) < 0) Lay_NotEnoughMemoryExit (); - return Str_Msg; + return Str_String; } -// FormatMsg must be a string including "%ld" +// fmt must be a string including "%ld" // Str_FreeMsg() must be called after calling this function -char *Str_BuildMsgLong (const char *fmt,long Num) +char *Str_BuildStringLong (const char *fmt,long Num) { - Str_FreeMsg (); - if (asprintf (&Str_Msg,fmt,Num) < 0) + Str_FreeString (); + if (asprintf (&Str_String,fmt,Num) < 0) Lay_NotEnoughMemoryExit (); - return Str_Msg; + return Str_String; } // Str_FreeMsg() must be called after calling this function -char *Str_BuildMsgLongStr (long Num,const char *Str) +char *Str_BuildStringLongStr (long Num,const char *Str) { - Str_FreeMsg (); - if (asprintf (&Str_Msg,"%ld %s",Num,Str) < 0) + Str_FreeString (); + if (asprintf (&Str_String,"%ld %s",Num,Str) < 0) Lay_NotEnoughMemoryExit (); - return Str_Msg; + return Str_String; } -void Str_FreeMsg (void) +void Str_FreeString (void) { - if (Str_Msg != NULL) + if (Str_String != NULL) { - free (Str_Msg); - Str_Msg = NULL; + free (Str_String); + Str_String = NULL; } } diff --git a/swad_string.h b/swad_string.h index 777722c3..9fc4a532 100644 --- a/swad_string.h +++ b/swad_string.h @@ -136,9 +136,9 @@ void Str_CreateRandomAlphanumStr (char *Str,size_t Length); void Str_Copy (char *Dst,const char *Src,size_t DstSize); void Str_Concat (char *Dst,const char *Src,size_t DstSize); -char *Str_BuildMsgStr (const char *fmt,const char *Str); -char *Str_BuildMsgLong (const char *fmt,long Num); -char *Str_BuildMsgLongStr (long Num,const char *Str); -void Str_FreeMsg (void); +char *Str_BuildStringStr (const char *fmt,const char *Str); +char *Str_BuildStringLong (const char *fmt,long Num); +char *Str_BuildStringLongStr (long Num,const char *Str); +void Str_FreeString (void); #endif diff --git a/swad_syllabus.c b/swad_syllabus.c index 715bc9f2..4c316105 100644 --- a/swad_syllabus.c +++ b/swad_syllabus.c @@ -624,10 +624,10 @@ static void Syl_ShowRowSyllabus (unsigned NumItem, ActUp_IteSylPra, NULL,Syl_PutParamNumItem, "arrow-up.svg", - Str_BuildMsgStr (LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_up_X_and_its_subsections : - Txt_Move_up_X, - StrItemCod)); - Str_FreeMsg (); + Str_BuildStringStr (LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_up_X_and_its_subsections : + Txt_Move_up_X, + StrItemCod)); + Str_FreeString (); } else Ico_PutIconOff ("arrow-up.svg",Txt_Movement_not_allowed); @@ -642,10 +642,10 @@ static void Syl_ShowRowSyllabus (unsigned NumItem, ActDwnIteSylPra, NULL,Syl_PutParamNumItem, "arrow-down.svg", - Str_BuildMsgStr (LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_down_X_and_its_subsections : - Txt_Move_down_X, - StrItemCod)); - Str_FreeMsg (); + Str_BuildStringStr (LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_down_X_and_its_subsections : + Txt_Move_down_X, + StrItemCod)); + Str_FreeString (); } else Ico_PutIconOff ("arrow-down.svg",Txt_Movement_not_allowed); @@ -659,9 +659,9 @@ static void Syl_ShowRowSyllabus (unsigned NumItem, ActRgtIteSylPra, NULL,Syl_PutParamNumItem, "arrow-left.svg", - Str_BuildMsgStr (Txt_Increase_level_of_X, - StrItemCod)); - Str_FreeMsg (); + Str_BuildStringStr (Txt_Increase_level_of_X, + StrItemCod)); + Str_FreeString (); } else Ico_PutIconOff ("arrow-left.svg",Txt_Movement_not_allowed); @@ -676,9 +676,9 @@ static void Syl_ShowRowSyllabus (unsigned NumItem, ActLftIteSylPra, NULL,Syl_PutParamNumItem, "arrow-right.svg", - Str_BuildMsgStr (Txt_Decrease_level_of_X, - StrItemCod)); - Str_FreeMsg (); + Str_BuildStringStr (Txt_Decrease_level_of_X, + StrItemCod)); + Str_FreeString (); } else Ico_PutIconOff ("arrow-right.svg",Txt_Movement_not_allowed); diff --git a/swad_test.c b/swad_test.c index ad351a6a..ec9f50fb 100644 --- a/swad_test.c +++ b/swad_test.c @@ -1841,9 +1841,9 @@ static void Tst_PutIconEnable (long TagCod,const char *TagTxt) Frm_StartForm (ActEnableTag); Par_PutHiddenParamLong (NULL,"TagCod",TagCod); Ico_PutIconLink ("eye-slash.svg", - Str_BuildMsgStr (Txt_Tag_X_not_allowed_Click_to_allow_it, - TagTxt)); - Str_FreeMsg (); + Str_BuildStringStr (Txt_Tag_X_not_allowed_Click_to_allow_it, + TagTxt)); + Str_FreeString (); Frm_EndForm (); HTM_TD_End (); } @@ -1860,9 +1860,9 @@ static void Tst_PutIconDisable (long TagCod,const char *TagTxt) Frm_StartForm (ActDisableTag); Par_PutHiddenParamLong (NULL,"TagCod",TagCod); Ico_PutIconLink ("eye.svg", - Str_BuildMsgStr (Txt_Tag_X_allowed_Click_to_disable_it, - TagTxt)); - Str_FreeMsg (); + Str_BuildStringStr (Txt_Tag_X_allowed_Click_to_disable_it, + TagTxt)); + Str_FreeString (); Frm_EndForm (); HTM_TD_End (); } @@ -5089,10 +5089,10 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1], /***** Begin box *****/ if (Gbl.Test.QstCod > 0) // The question already has assigned a code { - Box_BoxBegin (NULL,Str_BuildMsgLong (Txt_Question_code_X,Gbl.Test.QstCod), + Box_BoxBegin (NULL,Str_BuildStringLong (Txt_Question_code_X,Gbl.Test.QstCod), Tst_PutIconToRemoveOneQst, Hlp_ASSESSMENT_Tests_writing_a_question,Box_NOT_CLOSABLE); - Str_FreeMsg (); + Str_FreeString (); } else Box_BoxBegin (NULL,Txt_New_question,NULL, diff --git a/swad_timeline.c b/swad_timeline.c index 4c2f2275..dd6af092 100644 --- a/swad_timeline.c +++ b/swad_timeline.c @@ -507,10 +507,10 @@ static void TL_ShowTimelineUsrHighlightingNot (long NotCod) TL_GET_RECENT_TIMELINE); /***** Show timeline *****/ - TL_ShowTimeline (Query,Str_BuildMsgStr (Txt_Timeline_OF_A_USER, - Gbl.Usrs.Other.UsrDat.FirstName), + TL_ShowTimeline (Query,Str_BuildStringStr (Txt_Timeline_OF_A_USER, + Gbl.Usrs.Other.UsrDat.FirstName), NotCod); - Str_FreeMsg (); + Str_FreeString (); /***** Drop temporary tables *****/ TL_DropTemporaryTablesUsedToQueryTimeline (); @@ -1925,7 +1925,6 @@ static void TL_PutFormGoToAction (const struct TL_Note *SocNot) extern const char *The_ClassFormInBoxBold[The_NUM_THEMES]; extern const char *Txt_TIMELINE_NOTE[TL_NUM_NOTE_TYPES]; extern const char *Txt_not_available; - char *Class; char *Anchor = NULL; static const Act_Action_t TL_DefaultActions[TL_NUM_NOTE_TYPES] = { @@ -2062,14 +2061,14 @@ static void TL_PutFormGoToAction (const struct TL_Note *SocNot) } /***** Icon and link to go to action *****/ - if (asprintf (&Class,"BT_LINK %s ICO_HIGHLIGHT", - The_ClassFormInBoxBold[Gbl.Prefs.Theme]) < 0) - Lay_NotEnoughMemoryExit (); - HTM_BUTTON_SUBMIT_Begin (Txt_TIMELINE_NOTE[SocNot->NoteType],Class,NULL); + HTM_BUTTON_SUBMIT_Begin (Txt_TIMELINE_NOTE[SocNot->NoteType], + Str_BuildStringStr ("BT_LINK %s ICO_HIGHLIGHT", + The_ClassFormInBoxBold[Gbl.Prefs.Theme]), + NULL); Ico_PutIcon (TL_Icons[SocNot->NoteType],Txt_TIMELINE_NOTE[SocNot->NoteType],"CONTEXT_ICO_x16"); HTM_TxtF (" %s",Txt_TIMELINE_NOTE[SocNot->NoteType]); HTM_BUTTON_End (); - free (Class); + Str_FreeString (); /***** End form *****/ Frm_EndForm (); @@ -2778,9 +2777,9 @@ static void TL_FormToShowHiddenComments (Act_Action_t ActionGbl,Act_Action_t Act /* Put icon and text with link to show the first hidden comments */ HTM_BUTTON_SUBMIT_Begin (NULL,The_ClassFormLinkInBox[Gbl.Prefs.Theme],NULL); Ico_PutIconTextLink ("angle-up.svg", - Str_BuildMsgLong (Txt_See_the_previous_X_COMMENTS, - (long) NumInitialComments)); - Str_FreeMsg (); + Str_BuildStringLong (Txt_See_the_previous_X_COMMENTS, + (long) NumInitialComments)); + Str_FreeString (); HTM_BUTTON_End (); /* End form */ @@ -2931,9 +2930,9 @@ static void TL_LinkToShowPreviousComments (const char IdComments[Frm_MAX_BYTES_I " style=\"display:none;\"", // Hidden IdComments); TL_PutIconToToggleComments (IdComments,"angle-up.svg", - Str_BuildMsgLong (Txt_See_the_previous_X_COMMENTS, - (long) NumInitialComments)); - Str_FreeMsg (); + Str_BuildStringLong (Txt_See_the_previous_X_COMMENTS, + (long) NumInitialComments)); + Str_FreeString (); HTM_DIV_End (); } @@ -3123,9 +3122,9 @@ static void TL_PutDisabledIconShare (unsigned NumShared) if (NumShared) { Ico_PutDivIcon ("TL_ICO_DISABLED",TL_ICON_SHARE, - Str_BuildMsgLong (Txt_TIMELINE_NOTE_Shared_by_X_USERS, - (long) NumShared)); - Str_FreeMsg (); + Str_BuildStringLong (Txt_TIMELINE_NOTE_Shared_by_X_USERS, + (long) NumShared)); + Str_FreeString (); } else Ico_PutDivIcon ("TL_ICO_DISABLED",TL_ICON_SHARE, @@ -3145,9 +3144,9 @@ static void TL_PutDisabledIconFav (unsigned NumFavs) if (NumFavs) { Ico_PutDivIcon ("TL_ICO_DISABLED",TL_ICON_FAV, - Str_BuildMsgLong (Txt_TIMELINE_NOTE_Favourited_by_X_USERS, - (long) NumFavs)); - Str_FreeMsg (); + Str_BuildStringLong (Txt_TIMELINE_NOTE_Favourited_by_X_USERS, + (long) NumFavs)); + Str_FreeString (); } else Ico_PutDivIcon ("TL_ICO_DISABLED",TL_ICON_FAV, diff --git a/swad_user.c b/swad_user.c index 460f923b..a85ac4c8 100644 --- a/swad_user.c +++ b/swad_user.c @@ -2818,7 +2818,6 @@ void Usr_WriteLoggedUsrHead (void) extern const char *The_ClassUsr[The_NUM_THEMES]; extern const char *Txt_Role; extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; - char *ClassLink; bool ShowPhoto; char PhotoURL[PATH_MAX + 1]; unsigned NumAvailableRoles = Rol_GetNumAvailableRoles (); @@ -2828,17 +2827,16 @@ void Usr_WriteLoggedUsrHead (void) /***** User's role *****/ if (NumAvailableRoles == 1) { - if (asprintf (&ClassLink,"BT_LINK %s",The_ClassUsr[Gbl.Prefs.Theme]) < 0) - Lay_NotEnoughMemoryExit (); - Frm_StartForm (ActFrmRolSes); - HTM_BUTTON_SUBMIT_Begin (Txt_Role,ClassLink,NULL); + HTM_BUTTON_SUBMIT_Begin (Txt_Role, + Str_BuildStringStr ("BT_LINK %s", + The_ClassUsr[Gbl.Prefs.Theme]), + NULL); + Str_FreeString (); HTM_Txt (Txt_ROLES_SINGUL_Abc[Gbl.Usrs.Me.Role.Logged][Gbl.Usrs.Me.UsrDat.Sex]); HTM_BUTTON_End (); Frm_EndForm (); - free (ClassLink); - HTM_Colon (); } else @@ -7390,13 +7388,13 @@ unsigned Usr_ListUsrsFound (Rol_Role_t Role, /***** Begin box and table *****/ /* Number of users found */ Sex = Usr_GetSexOfUsrsLst (Role); - Box_BoxTableBegin (NULL,Str_BuildMsgLongStr ((long) NumUsrs, - (Role == Rol_UNK) ? ((NumUsrs == 1) ? Txt_user[Sex] : - Txt_users[Sex]) : - ((NumUsrs == 1) ? Txt_ROLES_SINGUL_abc[Role][Sex] : - Txt_ROLES_PLURAL_abc[Role][Sex])), + Box_BoxTableBegin (NULL,Str_BuildStringLongStr ((long) NumUsrs, + (Role == Rol_UNK) ? ((NumUsrs == 1) ? Txt_user[Sex] : + Txt_users[Sex]) : + ((NumUsrs == 1) ? Txt_ROLES_SINGUL_abc[Role][Sex] : + Txt_ROLES_PLURAL_abc[Role][Sex])), NULL,NULL,Box_NOT_CLOSABLE,2); - Str_FreeMsg (); + Str_FreeString (); /***** Heading row with column names *****/ Gbl.Usrs.Listing.WithPhotos = true;