From 9dbbd79bbeb16f289fb6bf50b38206693f181717 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Tue, 7 Mar 2017 19:55:29 +0100 Subject: [PATCH] Version 16.151 --- swad_MFU.c | 27 ++++++++++++---------- swad_changelog.h | 3 ++- swad_enrollment.c | 8 ++++--- swad_file_browser.c | 2 +- swad_global.h | 6 ++--- swad_hierarchy.h | 3 --- swad_holiday.c | 22 +++++++++--------- swad_holiday.h | 7 +++--- swad_image.c | 8 +++---- swad_image.h | 10 ++++---- swad_institution.c | 56 ++++++++++++++++++++++----------------------- swad_institution.h | 11 +++++---- swad_link.c | 32 +++++++++++++------------- swad_link.h | 11 +++++---- swad_mail.c | 56 ++++++++++++++++++++++----------------------- swad_mail.h | 11 +++++---- swad_message.c | 55 +++++++++++++++++++------------------------- swad_message.h | 3 ++- swad_network.c | 6 ++--- swad_notification.c | 2 +- swad_notification.h | 5 ++-- swad_parameter.c | 12 +++++----- swad_password.c | 2 +- swad_photo.c | 10 ++++---- swad_place.c | 40 ++++++++++++++++---------------- swad_place.h | 11 +++++---- swad_plugin.h | 5 +++- swad_record.c | 25 ++++++++++++-------- swad_user.c | 20 ++++++++-------- swad_user.h | 34 +++++++++++++-------------- swad_web_service.c | 50 ++++++++++++++++++++-------------------- 31 files changed, 286 insertions(+), 267 deletions(-) diff --git a/swad_MFU.c b/swad_MFU.c index cd447cbd..74c8bc09 100644 --- a/swad_MFU.c +++ b/swad_MFU.c @@ -45,8 +45,11 @@ /***************************** Private constants *****************************/ /*****************************************************************************/ -#define MFU_MAX_LENGTH_TAB (128 - 1) -#define MFU_MAX_LENGTH_MENU (128 - 1) +#define MFU_MAX_CHARS_TAB (128 - 1) +#define MFU_MAX_BYTES_TAB (MFU_MAX_CHARS_TAB * Str_MAX_BYTES_PER_CHAR) + +#define MFU_MAX_CHARS_MENU (128 - 1) +#define MFU_MAX_BYTES_MENU (MFU_MAX_CHARS_MENU * Str_MAX_BYTES_PER_CHAR) /*****************************************************************************/ /****************************** Internal types *******************************/ @@ -215,9 +218,9 @@ void MFU_WriteBigMFUActions (struct MFU_ListMFUActions *ListMFUActions) Act_Action_t Action; Act_Action_t SuperAction; const char *Title; - char TabStr[MFU_MAX_LENGTH_TAB + 1]; - char MenuStr[MFU_MAX_LENGTH_MENU + 1]; - char TabMenuStr[MFU_MAX_LENGTH_TAB + 6 + MFU_MAX_LENGTH_MENU + 1]; + char TabStr[MFU_MAX_BYTES_TAB + 1]; + char MenuStr[MFU_MAX_BYTES_MENU + 1]; + char TabMenuStr[MFU_MAX_BYTES_TAB + 6 + MFU_MAX_BYTES_MENU + 1]; /***** Start frame *****/ Lay_StartRoundFrame (NULL,Txt_My_frequent_actions,NULL,Hlp_STATS_Frequent); @@ -236,9 +239,9 @@ void MFU_WriteBigMFUActions (struct MFU_ListMFUActions *ListMFUActions) /* Action string */ SuperAction = Act_Actions[Action].SuperAction; Str_Copy (TabStr,Txt_TABS_TXT[Act_Actions[SuperAction].Tab], - MFU_MAX_LENGTH_TAB); + MFU_MAX_BYTES_TAB); Str_Copy (MenuStr,Title, - MFU_MAX_LENGTH_MENU); + MFU_MAX_BYTES_MENU); sprintf (TabMenuStr,"%s > %s",TabStr,MenuStr); /* Icon and text */ @@ -274,9 +277,9 @@ void MFU_WriteSmallMFUActions (struct MFU_ListMFUActions *ListMFUActions) Act_Action_t Action; Act_Action_t SuperAction; const char *Title; - char TabStr[MFU_MAX_LENGTH_TAB + 1]; - char MenuStr[MFU_MAX_LENGTH_MENU + 1]; - char TabMenuStr[MFU_MAX_LENGTH_TAB + 6 + MFU_MAX_LENGTH_MENU + 1]; + char TabStr[MFU_MAX_BYTES_TAB + 1]; + char MenuStr[MFU_MAX_BYTES_MENU + 1]; + char TabMenuStr[MFU_MAX_BYTES_TAB + 6 + MFU_MAX_BYTES_MENU + 1]; /***** Start div and link *****/ fprintf (Gbl.F.Out,"
"); @@ -300,9 +303,9 @@ void MFU_WriteSmallMFUActions (struct MFU_ListMFUActions *ListMFUActions) /* Action string */ SuperAction = Act_Actions[Action].SuperAction; Str_Copy (TabStr,Txt_TABS_TXT[Act_Actions[SuperAction].Tab], - MFU_MAX_LENGTH_TAB); + MFU_MAX_BYTES_TAB); Str_Copy (MenuStr,Title, - MFU_MAX_LENGTH_MENU); + MFU_MAX_BYTES_MENU); sprintf (TabMenuStr,"%s > %s",TabStr,MenuStr); /* Icon and text */ diff --git a/swad_changelog.h b/swad_changelog.h index 6154ca89..33815ddb 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -204,13 +204,14 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 16.150 (2017-03-07)" +#define Log_PLATFORM_VERSION "SWAD 16.151 (2017-03-07)" #define CSS_FILE "swad16.147.css" #define JS_FILE "swad16.144.js" // Number of lines (includes comments but not blank lines) has been got with the following command: // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1 /* + Version 16.151: Mar 07, 2017 Code refactoring related to number of chars and bytes. (216422 lines) Version 16.150: Mar 07, 2017 Code refactoring related to number of chars and bytes. (216409 lines) Version 16.149: Mar 07, 2017 Code refactoring related to number of chars and bytes. (216385 lines) Version 16.148: Mar 06, 2017 Code refactoring in notifications. (216393 lines) diff --git a/swad_enrollment.c b/swad_enrollment.c index 49e44d8c..fff52fd1 100644 --- a/swad_enrollment.c +++ b/swad_enrollment.c @@ -330,7 +330,7 @@ void Enr_WriteFormToReqAnotherUsrID (Act_Action_t NextAction) "", The_ClassForm[Gbl.Prefs.Theme], Txt_nick_email_or_ID, - Usr_MAX_BYTES_USR_LOGIN); + Usr_MAX_CHARS_USR_LOGIN); /***** Send button*****/ Lay_PutConfirmButton (Txt_Continue); @@ -1420,7 +1420,8 @@ static void Enr_ReceiveFormUsrsCrs (Rol_Role_t Role) UsrDat.UsrCod = -1L; /* Find next string in text */ - Str_GetNextStringUntilSeparator (&Ptr,UsrDat.UsrIDNickOrEmail,Usr_MAX_BYTES_USR_LOGIN); + Str_GetNextStringUntilSeparator (&Ptr,UsrDat.UsrIDNickOrEmail, + Usr_MAX_BYTES_USR_LOGIN); /* Reset default list of users' codes */ ListUsrCods.NumUsrs = 0; @@ -1542,7 +1543,8 @@ static void Enr_ReceiveFormUsrsCrs (Rol_Role_t Role) ItLooksLikeAUsrID = false; /* Find next string in text */ - Str_GetNextStringUntilSeparator (&Ptr,UsrDat.UsrIDNickOrEmail,Usr_MAX_BYTES_USR_LOGIN); + Str_GetNextStringUntilSeparator (&Ptr,UsrDat.UsrIDNickOrEmail, + Usr_MAX_BYTES_USR_LOGIN); /* Reset default list of users' codes */ ListUsrCods.NumUsrs = 0; diff --git a/swad_file_browser.c b/swad_file_browser.c index 51a4cebe..7f593d69 100644 --- a/swad_file_browser.c +++ b/swad_file_browser.c @@ -11139,7 +11139,7 @@ void Brw_RemoveUsrWorksInAllCrss (struct UsrData *UsrDat,Cns_QuietOrVerbose_t Qu /*****************************************************************************/ // This function may be called inside a web service, so don't report error -#define Brw_MAX_BYTES_FILE_CONTENT_STR (100 + NAME_MAX + 100 + PATH_MAX + 100 + (Usr_MAX_BYTES_NAME + 1) * 3 + 100 + Fil_MAX_BYTES_FILE_SIZE_STRING) +#define Brw_MAX_BYTES_FILE_CONTENT_STR (100 + NAME_MAX + 100 + PATH_MAX + 100 + Usr_MAX_BYTES_FULL_NAME + 100 + Fil_MAX_BYTES_FILE_SIZE_STRING) void Brw_GetSummaryAndContentOfFile (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1], char **ContentStr, diff --git a/swad_global.h b/swad_global.h index 313c8854..6e958e37 100644 --- a/swad_global.h +++ b/swad_global.h @@ -602,10 +602,10 @@ struct Globals long CrsCod; char ShrtName[Crs_MAX_BYTES_COURSE_SHRT_NAME + 1]; } Courses[Crs_MAX_COURSES_PER_USR]; // Distinct courses in my messages sent or received - long FilterCrsCod; // Show only messages sent from this course code + long FilterCrsCod; // Show only messages sent from this course code char FilterCrsShrtName[Crs_MAX_BYTES_COURSE_SHRT_NAME + 1]; - char FilterFromTo[Usr_MAX_LENGTH_USR_NAME_OR_SURNAME * 3 + 1]; // Show only messages from/to these users - char FilterContent[Msg_MAX_LENGTH_FILTER_CONTENT + 1]; // Show only messages that match this content + char FilterFromTo[Usr_MAX_BYTES_FULL_NAME + 1]; // Show only messages from/to these users + char FilterContent[Msg_MAX_BYTES_FILTER_CONTENT + 1]; // Show only messages that match this content bool ShowOnlyUnreadMsgs; // Show only unread messages (this option is applicable only for received messages) long ExpandedMsgCod; // The current expanded message code struct diff --git a/swad_hierarchy.h b/swad_hierarchy.h index bcf0cd03..9d0f11e2 100644 --- a/swad_hierarchy.h +++ b/swad_hierarchy.h @@ -31,9 +31,6 @@ /***************************** Public constants ******************************/ /*****************************************************************************/ -#define Hie_MAX_LENGTH_LOCATION_SHORT_NAME 32 -#define Hie_MAX_LENGTH_LOCATION_SHORT_NAME_SPEC_CHAR (Hie_MAX_LENGTH_LOCATION_SHORT_NAME * Str_MAX_LENGTH_SPEC_CHAR_HTML) - /*****************************************************************************/ /******************************* Public types ********************************/ /*****************************************************************************/ diff --git a/swad_holiday.c b/swad_holiday.c index 9a183d59..ec225267 100644 --- a/swad_holiday.c +++ b/swad_holiday.c @@ -310,7 +310,7 @@ void Hld_GetListHolidays (void) /* Get the full name of the place (row[2]) */ Str_Copy (Hld->PlaceFullName,row[2], - Plc_MAX_LENGTH_PLACE_FULL_NAME); + Plc_MAX_BYTES_PLACE_FULL_NAME); /* Get type (row[3]) */ Hld->HldTyp = Hld_GetTypeOfHoliday (row[3]); @@ -335,7 +335,7 @@ void Hld_GetListHolidays (void) /* Get the name of the holiday/non school period (row[6]) */ Str_Copy (Hld->Name,row[6], - Hld_MAX_LENGTH_HOLIDAY_NAME); + Hld_MAX_BYTES_HOLIDAY_NAME); } } @@ -402,7 +402,7 @@ static void Hld_GetDataOfHolidayByCod (struct Holiday *Hld) /* Get the full name of the place (row[1]) */ Str_Copy (Hld->PlaceFullName,row[1], - Plc_MAX_LENGTH_PLACE_FULL_NAME); + Plc_MAX_BYTES_PLACE_FULL_NAME); /* Get type (row[2]) */ Hld->HldTyp = Hld_GetTypeOfHoliday (row[2]); @@ -427,7 +427,7 @@ static void Hld_GetDataOfHolidayByCod (struct Holiday *Hld) /* Get the name of the holiday/non school period (row[5]) */ Str_Copy (Hld->Name,row[5], - Hld_MAX_LENGTH_HOLIDAY_NAME); + Hld_MAX_BYTES_HOLIDAY_NAME); } /***** Free structure that stores the query result *****/ @@ -596,7 +596,7 @@ static void Hld_ListHolidaysForEdition (void) fprintf (Gbl.F.Out,"", - Hld_MAX_LENGTH_HOLIDAY_NAME,Hld->Name,Gbl.Form.Id); + Hld_MAX_CHARS_HOLIDAY_NAME,Hld->Name,Gbl.Form.Id); Act_FormEnd (); fprintf (Gbl.F.Out,"" ""); @@ -694,7 +694,7 @@ void Hld_ChangeHolidayPlace (void) /***** Show the form again *****/ Hld->PlcCod = NewPlace.PlcCod; Str_Copy (Hld->PlaceFullName,NewPlace.FullName, - Plc_MAX_LENGTH_PLACE_FULL_NAME); + Plc_MAX_BYTES_PLACE_FULL_NAME); Hld_EditHolidays (); } @@ -842,7 +842,7 @@ void Hld_RenameHoliday (void) extern const char *Txt_The_name_of_the_holiday_X_has_not_changed; char Query[512]; struct Holiday *Hld; - char NewHldName[Hld_MAX_LENGTH_HOLIDAY_NAME + 1]; + char NewHldName[Hld_MAX_BYTES_HOLIDAY_NAME + 1]; Hld = &Gbl.Hlds.EditingHld; @@ -852,7 +852,7 @@ void Hld_RenameHoliday (void) Lay_ShowErrorAndExit ("Code of holiday is missing."); /* Get the new name for the holiday */ - Par_GetParToText ("Name",NewHldName,Hld_MAX_LENGTH_HOLIDAY_NAME); + Par_GetParToText ("Name",NewHldName,Hld_MAX_BYTES_HOLIDAY_NAME); /***** Get from the database the old names of the holiday *****/ Hld_GetDataOfHolidayByCod (Hld); @@ -890,7 +890,7 @@ void Hld_RenameHoliday (void) /***** Show the form again *****/ Str_Copy (Hld->Name,NewHldName, - Hld_MAX_LENGTH_HOLIDAY_NAME); + Hld_MAX_BYTES_HOLIDAY_NAME); Hld_EditHolidays (); } @@ -1005,7 +1005,7 @@ static void Hld_PutFormToCreateHoliday (void) "" "" "", - Hld_MAX_LENGTH_HOLIDAY_NAME,Hld->Name); + Hld_MAX_CHARS_HOLIDAY_NAME,Hld->Name); /***** Send button and end of frame *****/ Lay_EndRoundFrameTableWithButton (Lay_CREATE_BUTTON,Txt_Create_holiday); @@ -1099,7 +1099,7 @@ void Hld_RecFormNewHoliday (void) } /***** Get holiday name *****/ - Par_GetParToText ("Name",Hld->Name,Hld_MAX_LENGTH_HOLIDAY_NAME); + Par_GetParToText ("Name",Hld->Name,Hld_MAX_BYTES_HOLIDAY_NAME); /***** Create the new holiday or write warning message *****/ if (Hld->Name[0]) // If there's a holiday name diff --git a/swad_holiday.h b/swad_holiday.h index 4e86d958..621bbf8a 100644 --- a/swad_holiday.h +++ b/swad_holiday.h @@ -34,7 +34,8 @@ /************************** Public types and constants ***********************/ /*****************************************************************************/ -#define Hld_MAX_LENGTH_HOLIDAY_NAME 127 +#define Hld_MAX_CHARS_HOLIDAY_NAME (128 - 1) +#define Hld_MAX_BYTES_HOLIDAY_NAME (Hld_MAX_CHARS_HOLIDAY_NAME * Str_MAX_BYTES_PER_CHAR) #define Hld_NUM_TYPES_HOLIDAY 2 typedef enum @@ -54,11 +55,11 @@ struct Holiday { long HldCod; long PlcCod; - char PlaceFullName[Plc_MAX_LENGTH_PLACE_FULL_NAME + 1]; + char PlaceFullName[Plc_MAX_BYTES_PLACE_FULL_NAME + 1]; Hld_HolidayType_t HldTyp; struct Date StartDate; struct Date EndDate; - char Name[Hld_MAX_LENGTH_HOLIDAY_NAME + 1]; + char Name[Hld_MAX_BYTES_HOLIDAY_NAME + 1]; }; #define Hld_NUM_ORDERS 2 diff --git a/swad_image.c b/swad_image.c index 41f4d6b4..c1536904 100644 --- a/swad_image.c +++ b/swad_image.c @@ -351,13 +351,13 @@ void Img_SetParamNames (struct ParamUploadImg *ParamUploadImg,int NumImgInForm) if (NumImgInForm < 0) // One unique image in form ==> no suffix needed { Str_Copy (ParamUploadImg->Action,"ImgAct", - Img_MAX_LENGTH_PARAM_UPLOAD_IMG); + Img_MAX_BYTES_PARAM_UPLOAD_IMG); Str_Copy (ParamUploadImg->File ,"ImgFil", - Img_MAX_LENGTH_PARAM_UPLOAD_IMG); + Img_MAX_BYTES_PARAM_UPLOAD_IMG); Str_Copy (ParamUploadImg->Title ,"ImgTit", - Img_MAX_LENGTH_PARAM_UPLOAD_IMG); + Img_MAX_BYTES_PARAM_UPLOAD_IMG); Str_Copy (ParamUploadImg->URL ,"ImgURL", - Img_MAX_LENGTH_PARAM_UPLOAD_IMG); + Img_MAX_BYTES_PARAM_UPLOAD_IMG); } else // Several images in form ==> add suffix { diff --git a/swad_image.h b/swad_image.h index 9fe39a94..4fa811e7 100644 --- a/swad_image.h +++ b/swad_image.h @@ -100,13 +100,13 @@ struct Image }; /***** Parameters used in a form to upload an image *****/ -#define Img_MAX_LENGTH_PARAM_UPLOAD_IMG (16 - 1) +#define Img_MAX_BYTES_PARAM_UPLOAD_IMG (16 - 1) struct ParamUploadImg { - char Action[Img_MAX_LENGTH_PARAM_UPLOAD_IMG + 1]; - char File [Img_MAX_LENGTH_PARAM_UPLOAD_IMG + 1]; - char Title [Img_MAX_LENGTH_PARAM_UPLOAD_IMG + 1]; - char URL [Img_MAX_LENGTH_PARAM_UPLOAD_IMG + 1]; + char Action[Img_MAX_BYTES_PARAM_UPLOAD_IMG + 1]; + char File [Img_MAX_BYTES_PARAM_UPLOAD_IMG + 1]; + char Title [Img_MAX_BYTES_PARAM_UPLOAD_IMG + 1]; + char URL [Img_MAX_BYTES_PARAM_UPLOAD_IMG + 1]; }; /*****************************************************************************/ diff --git a/swad_institution.c b/swad_institution.c index ad2f4fe4..3b2ec69c 100644 --- a/swad_institution.c +++ b/swad_institution.c @@ -385,7 +385,7 @@ static void Ins_Configuration (bool PrintView) " maxlength=\"%u\" value=\"%s\"" " class=\"INPUT_FULL_NAME\"" " onchange=\"document.getElementById('%s').submit();\" />", - Ins_MAX_LENGTH_INSTIT_FULL_NAME, + Ins_MAX_CHARS_INSTIT_FULL_NAME, Gbl.CurrentIns.Ins.FullName, Gbl.Form.Id); Act_FormEnd (); @@ -414,7 +414,7 @@ static void Ins_Configuration (bool PrintView) " maxlength=\"%u\" value=\"%s\"" " class=\"INPUT_SHORT_NAME\"" " onchange=\"document.getElementById('%s').submit();\" />", - Ins_MAX_LENGTH_INSTIT_SHRT_NAME, + Ins_MAX_CHARS_INSTIT_SHRT_NAME, Gbl.CurrentIns.Ins.ShrtName, Gbl.Form.Id); Act_FormEnd (); @@ -1030,11 +1030,11 @@ void Ins_GetListInstitutions (long CtyCod,Ins_GetExtraData_t GetExtraData) /* Get the short name of the institution (row[4]) */ Str_Copy (Ins->ShrtName,row[4], - Ins_MAX_LENGTH_INSTIT_SHRT_NAME); + Ins_MAX_BYTES_INSTIT_SHRT_NAME); /* Get the full name of the institution (row[5]) */ Str_Copy (Ins->FullName,row[5], - Ins_MAX_LENGTH_INSTIT_FULL_NAME); + Ins_MAX_BYTES_INSTIT_FULL_NAME); /* Get the URL of the institution (row[6]) */ Str_Copy (Ins->WWW,row[6], @@ -1145,11 +1145,11 @@ bool Ins_GetDataOfInstitutionByCod (struct Instit *Ins, /* Get the short name of the institution (row[3]) */ Str_Copy (Ins->ShrtName,row[3], - Ins_MAX_LENGTH_INSTIT_SHRT_NAME); + Ins_MAX_BYTES_INSTIT_SHRT_NAME); /* Get the full name of the institution (row[4]) */ Str_Copy (Ins->FullName,row[4], - Ins_MAX_LENGTH_INSTIT_FULL_NAME); + Ins_MAX_BYTES_INSTIT_FULL_NAME); /* Get the URL of the institution (row[5]) */ Str_Copy (Ins->WWW,row[5], @@ -1194,7 +1194,7 @@ void Ins_GetShortNameOfInstitutionByCod (struct Instit *Ins) static struct { long InsCod; - char ShrtName[Ins_MAX_LENGTH_INSTIT_SHRT_NAME + 1]; + char ShrtName[Ins_MAX_BYTES_INSTIT_SHRT_NAME + 1]; } Cached = { -1L, @@ -1217,7 +1217,7 @@ void Ins_GetShortNameOfInstitutionByCod (struct Instit *Ins) row = mysql_fetch_row (mysql_res); Str_Copy (Cached.ShrtName,row[0], - Ins_MAX_LENGTH_INSTIT_SHRT_NAME); + Ins_MAX_BYTES_INSTIT_SHRT_NAME); } else Cached.ShrtName[0] = '\0'; @@ -1227,7 +1227,7 @@ void Ins_GetShortNameOfInstitutionByCod (struct Instit *Ins) } Str_Copy (Ins->ShrtName,Cached.ShrtName, - Ins_MAX_LENGTH_INSTIT_SHRT_NAME); + Ins_MAX_BYTES_INSTIT_SHRT_NAME); } } @@ -1245,7 +1245,7 @@ static void Ins_GetFullNameAndCtyOfInstitutionByCod (struct Instit *Ins, static struct { long InsCod; - char FullName[Ins_MAX_LENGTH_INSTIT_FULL_NAME + 1]; + char FullName[Ins_MAX_BYTES_INSTIT_FULL_NAME + 1]; char CtyName[Cty_MAX_BYTES_COUNTRY_NAME + 1]; } Cached = { @@ -1276,7 +1276,7 @@ static void Ins_GetFullNameAndCtyOfInstitutionByCod (struct Instit *Ins, /* Get the full name of this institution (row[0]) */ Str_Copy (Cached.FullName,row[0], - Ins_MAX_LENGTH_INSTIT_FULL_NAME); + Ins_MAX_BYTES_INSTIT_FULL_NAME); /* Get the name of the country (row[1]) */ Str_Copy (Cached.CtyName,row[1], @@ -1293,7 +1293,7 @@ static void Ins_GetFullNameAndCtyOfInstitutionByCod (struct Instit *Ins, } Str_Copy (Ins->FullName,Cached.FullName, - Ins_MAX_LENGTH_INSTIT_FULL_NAME); + Ins_MAX_BYTES_INSTIT_FULL_NAME); Str_Copy (CtyName,Cached.CtyName, Cty_MAX_BYTES_COUNTRY_NAME); } @@ -1453,7 +1453,7 @@ static void Ins_ListInstitutionsForEdition (void) " maxlength=\"%u\" value=\"%s\"" " class=\"INPUT_SHORT_NAME\"" " onchange=\"document.getElementById('%s').submit();\" />", - Ins_MAX_LENGTH_INSTIT_SHRT_NAME,Ins->ShrtName, + Ins_MAX_CHARS_INSTIT_SHRT_NAME,Ins->ShrtName, Gbl.Form.Id); Act_FormEnd (); } @@ -1471,7 +1471,7 @@ static void Ins_ListInstitutionsForEdition (void) " maxlength=\"%u\" value=\"%s\"" " class=\"INPUT_FULL_NAME\"" " onchange=\"document.getElementById('%s').submit();\" />", - Ins_MAX_LENGTH_INSTIT_FULL_NAME, + Ins_MAX_CHARS_INSTIT_FULL_NAME, Ins->FullName, Gbl.Form.Id); Act_FormEnd (); @@ -1765,28 +1765,28 @@ static void Ins_RenameInstitution (struct Instit *Ins,Cns_ShrtOrFullName_t ShrtO extern const char *Txt_The_name_of_the_institution_X_has_not_changed; const char *ParamName = NULL; // Initialized to avoid warning const char *FieldName = NULL; // Initialized to avoid warning - unsigned MaxLength = 0; // Initialized to avoid warning + unsigned MaxBytes = 0; // Initialized to avoid warning char *CurrentInsName = NULL; // Initialized to avoid warning - char NewInsName[Ins_MAX_LENGTH_INSTIT_FULL_NAME + 1]; + char NewInsName[Ins_MAX_BYTES_INSTIT_FULL_NAME + 1]; switch (ShrtOrFullName) { case Cns_SHRT_NAME: ParamName = "ShortName"; FieldName = "ShortName"; - MaxLength = Ins_MAX_LENGTH_INSTIT_SHRT_NAME; + MaxBytes = Ins_MAX_BYTES_INSTIT_SHRT_NAME; CurrentInsName = Ins->ShrtName; break; case Cns_FULL_NAME: ParamName = "FullName"; FieldName = "FullName"; - MaxLength = Ins_MAX_LENGTH_INSTIT_FULL_NAME; + MaxBytes = Ins_MAX_BYTES_INSTIT_FULL_NAME; CurrentInsName = Ins->FullName; break; } /***** Get the new name for the institution from form *****/ - Par_GetParToText (ParamName,NewInsName,MaxLength); + Par_GetParToText (ParamName,NewInsName,MaxBytes); /***** Get from the database the old names of the institution *****/ Ins_GetDataOfInstitutionByCod (Ins,Ins_GET_BASIC_DATA); @@ -1820,7 +1820,7 @@ static void Ins_RenameInstitution (struct Instit *Ins,Cns_ShrtOrFullName_t ShrtO CurrentInsName,NewInsName); /* Change current institution name in order to display it properly */ - Str_Copy (CurrentInsName,NewInsName,MaxLength); + Str_Copy (CurrentInsName,NewInsName,MaxBytes); } } else // The same name @@ -1835,7 +1835,7 @@ static void Ins_RenameInstitution (struct Instit *Ins,Cns_ShrtOrFullName_t ShrtO static bool Ins_CheckIfInsNameExistsInCty (const char *FieldName,const char *Name,long InsCod,long CtyCod) { - char Query[256 + Ins_MAX_LENGTH_INSTIT_FULL_NAME]; + char Query[256 + Ins_MAX_BYTES_INSTIT_FULL_NAME]; /***** Get number of institutions in current country with a name from database *****/ sprintf (Query,"SELECT COUNT(*) FROM institutions" @@ -1850,7 +1850,7 @@ static bool Ins_CheckIfInsNameExistsInCty (const char *FieldName,const char *Nam static void Ins_UpdateInsNameDB (long InsCod,const char *FieldName,const char *NewInsName) { - char Query[128 + Ins_MAX_LENGTH_INSTIT_FULL_NAME]; + char Query[128 + Ins_MAX_BYTES_INSTIT_FULL_NAME]; /***** Update institution changing old name by new name */ sprintf (Query,"UPDATE institutions SET %s='%s' WHERE InsCod='%ld'", @@ -2196,7 +2196,7 @@ static void Ins_PutFormToCreateInstitution (void) " class=\"INPUT_SHORT_NAME\"" " required=\"required\" />" "", - Ins_MAX_LENGTH_INSTIT_SHRT_NAME,Ins->ShrtName); + Ins_MAX_CHARS_INSTIT_SHRT_NAME,Ins->ShrtName); /***** Institution full name *****/ fprintf (Gbl.F.Out,"" @@ -2205,7 +2205,7 @@ static void Ins_PutFormToCreateInstitution (void) " class=\"INPUT_FULL_NAME\"" " required=\"required\" />" "", - Ins_MAX_LENGTH_INSTIT_FULL_NAME,Ins->FullName); + Ins_MAX_CHARS_INSTIT_FULL_NAME,Ins->FullName); /***** Institution WWW *****/ fprintf (Gbl.F.Out,"" @@ -2349,10 +2349,10 @@ static void Ins_RecFormRequestOrCreateIns (unsigned Status) Ins->CtyCod = Gbl.CurrentCty.Cty.CtyCod; /* Get institution short name */ - Par_GetParToText ("ShortName",Ins->ShrtName,Ins_MAX_LENGTH_INSTIT_SHRT_NAME); + Par_GetParToText ("ShortName",Ins->ShrtName,Ins_MAX_BYTES_INSTIT_SHRT_NAME); /* Get institution full name */ - Par_GetParToText ("FullName",Ins->FullName,Ins_MAX_LENGTH_INSTIT_FULL_NAME); + Par_GetParToText ("FullName",Ins->FullName,Ins_MAX_BYTES_INSTIT_FULL_NAME); /* Get institution WWW */ Par_GetParToText ("WWW",Ins->WWW,Cns_MAX_BYTES_WWW); @@ -2395,8 +2395,8 @@ static void Ins_CreateInstitution (struct Instit *Ins,unsigned Status) { extern const char *Txt_Created_new_institution_X; char Query[512 + - Ins_MAX_LENGTH_INSTIT_SHRT_NAME + - Ins_MAX_LENGTH_INSTIT_FULL_NAME + + Ins_MAX_BYTES_INSTIT_SHRT_NAME + + Ins_MAX_BYTES_INSTIT_FULL_NAME + Cns_MAX_BYTES_WWW]; /***** Create a new institution *****/ diff --git a/swad_institution.h b/swad_institution.h index f5ce38b0..0a391a0e 100644 --- a/swad_institution.h +++ b/swad_institution.h @@ -55,8 +55,11 @@ typedef enum #define Ins_MAX_INSTITS_PER_USR 10 // Used in list of my institutions -#define Ins_MAX_LENGTH_INSTIT_SHRT_NAME 32 -#define Ins_MAX_LENGTH_INSTIT_FULL_NAME 1024 +#define Ins_MAX_CHARS_INSTIT_SHRT_NAME 32 +#define Ins_MAX_BYTES_INSTIT_SHRT_NAME (Ins_MAX_CHARS_INSTIT_SHRT_NAME * Str_MAX_BYTES_PER_CHAR) + +#define Ins_MAX_CHARS_INSTIT_FULL_NAME (128 - 1) +#define Ins_MAX_BYTES_INSTIT_FULL_NAME (Ins_MAX_CHARS_INSTIT_FULL_NAME * Str_MAX_BYTES_PER_CHAR) struct Instit { @@ -64,8 +67,8 @@ struct Instit long CtyCod; Ins_Status_t Status; // Institution status long RequesterUsrCod; // User code of the person who requested the creation of this institution - char ShrtName[Ins_MAX_LENGTH_INSTIT_SHRT_NAME + 1]; - char FullName[Ins_MAX_LENGTH_INSTIT_FULL_NAME + 1]; + char ShrtName[Ins_MAX_BYTES_INSTIT_SHRT_NAME + 1]; + char FullName[Ins_MAX_BYTES_INSTIT_FULL_NAME + 1]; char WWW[Cns_MAX_BYTES_WWW + 1]; unsigned NumUsrsWhoClaimToBelongToIns; unsigned NumCtrs; diff --git a/swad_link.c b/swad_link.c index 51517ada..3252459b 100644 --- a/swad_link.c +++ b/swad_link.c @@ -233,11 +233,11 @@ void Lnk_GetListLinks (void) /* Get the short name of the link (row[1]) */ Str_Copy (Lnk->ShrtName,row[1], - Lnk_MAX_LENGTH_LINK_SHRT_NAME); + Lnk_MAX_BYTES_LINK_SHRT_NAME); /* Get the full name of the link (row[2]) */ Str_Copy (Lnk->FullName,row[2], - Lnk_MAX_LENGTH_LINK_FULL_NAME); + Lnk_MAX_BYTES_LINK_FULL_NAME); /* Get the URL of the link (row[3]) */ Str_Copy (Lnk->WWW,row[3], @@ -281,11 +281,11 @@ void Lnk_GetDataOfLinkByCod (struct Link *Lnk) /* Get the short name of the link (row[0]) */ Str_Copy (Lnk->ShrtName,row[0], - Lnk_MAX_LENGTH_LINK_SHRT_NAME); + Lnk_MAX_BYTES_LINK_SHRT_NAME); /* Get the full name of the link (row[1]) */ Str_Copy (Lnk->FullName,row[1], - Lnk_MAX_LENGTH_LINK_FULL_NAME); + Lnk_MAX_BYTES_LINK_FULL_NAME); /* Get the URL of the link (row[2]) */ Str_Copy (Lnk->WWW,row[2], @@ -358,7 +358,7 @@ static void Lnk_ListLinksForEdition (void) " maxlength=\"%u\" value=\"%s\"" " class=\"INPUT_SHORT_NAME\"" " onchange=\"document.getElementById('%s').submit();\" />", - Lnk_MAX_LENGTH_LINK_SHRT_NAME,Lnk->ShrtName, + Lnk_MAX_CHARS_LINK_SHRT_NAME,Lnk->ShrtName, Gbl.Form.Id); Act_FormEnd (); fprintf (Gbl.F.Out,""); @@ -371,7 +371,7 @@ static void Lnk_ListLinksForEdition (void) " maxlength=\"%u\" value=\"%s\"" " class=\"INPUT_FULL_NAME\"" " onchange=\"document.getElementById('%s').submit();\" />", - Lnk_MAX_LENGTH_LINK_FULL_NAME,Lnk->FullName, + Lnk_MAX_CHARS_LINK_FULL_NAME,Lnk->FullName, Gbl.Form.Id); Act_FormEnd (); fprintf (Gbl.F.Out,""); @@ -475,9 +475,9 @@ static void Lnk_RenameLink (Cns_ShrtOrFullName_t ShrtOrFullName) struct Link *Lnk; const char *ParamName = NULL; // Initialized to avoid warning const char *FieldName = NULL; // Initialized to avoid warning - unsigned MaxLength = 0; // Initialized to avoid warning + unsigned MaxBytes = 0; // Initialized to avoid warning char *CurrentLnkName = NULL; // Initialized to avoid warning - char NewLnkName[Lnk_MAX_LENGTH_LINK_FULL_NAME + 1]; + char NewLnkName[Lnk_MAX_BYTES_LINK_FULL_NAME + 1]; Lnk = &Gbl.Links.EditingLnk; switch (ShrtOrFullName) @@ -485,13 +485,13 @@ static void Lnk_RenameLink (Cns_ShrtOrFullName_t ShrtOrFullName) case Cns_SHRT_NAME: ParamName = "ShortName"; FieldName = "ShortName"; - MaxLength = Lnk_MAX_LENGTH_LINK_SHRT_NAME; + MaxBytes = Lnk_MAX_BYTES_LINK_SHRT_NAME; CurrentLnkName = Lnk->ShrtName; break; case Cns_FULL_NAME: ParamName = "FullName"; FieldName = "FullName"; - MaxLength = Lnk_MAX_LENGTH_LINK_FULL_NAME; + MaxBytes = Lnk_MAX_BYTES_LINK_FULL_NAME; CurrentLnkName = Lnk->FullName; break; } @@ -502,7 +502,7 @@ static void Lnk_RenameLink (Cns_ShrtOrFullName_t ShrtOrFullName) Lay_ShowErrorAndExit ("Code of institutional link is missing."); /* Get the new name for the link */ - Par_GetParToText (ParamName,NewLnkName,MaxLength); + Par_GetParToText (ParamName,NewLnkName,MaxBytes); /***** Get from the database the old names of the link *****/ Lnk_GetDataOfLinkByCod (Lnk); @@ -549,7 +549,7 @@ static void Lnk_RenameLink (Cns_ShrtOrFullName_t ShrtOrFullName) /***** Show the form again *****/ Str_Copy (CurrentLnkName,NewLnkName, - MaxLength); + MaxBytes); Lnk_EditLinks (); } @@ -645,7 +645,7 @@ static void Lnk_PutFormToCreateLink (void) " class=\"INPUT_SHORT_NAME\"" " required=\"required\" />" "", - Lnk_MAX_LENGTH_LINK_SHRT_NAME,Lnk->ShrtName); + Lnk_MAX_CHARS_LINK_SHRT_NAME,Lnk->ShrtName); /***** Link full name *****/ fprintf (Gbl.F.Out,"" @@ -654,7 +654,7 @@ static void Lnk_PutFormToCreateLink (void) " class=\"INPUT_FULL_NAME\"" " required=\"required\" />" "", - Lnk_MAX_LENGTH_LINK_FULL_NAME,Lnk->FullName); + Lnk_MAX_CHARS_LINK_FULL_NAME,Lnk->FullName); /***** Link WWW *****/ fprintf (Gbl.F.Out,"" @@ -720,10 +720,10 @@ void Lnk_RecFormNewLink (void) /***** Get parameters from form *****/ /* Get link short name */ - Par_GetParToText ("ShortName",Lnk->ShrtName,Lnk_MAX_LENGTH_LINK_SHRT_NAME); + Par_GetParToText ("ShortName",Lnk->ShrtName,Lnk_MAX_BYTES_LINK_SHRT_NAME); /* Get link full name */ - Par_GetParToText ("FullName",Lnk->FullName,Lnk_MAX_LENGTH_LINK_FULL_NAME); + Par_GetParToText ("FullName",Lnk->FullName,Lnk_MAX_BYTES_LINK_FULL_NAME); /* Get link URL */ Par_GetParToText ("WWW",Lnk->WWW,Cns_MAX_BYTES_WWW); diff --git a/swad_link.h b/swad_link.h index cddfbaa3..326cb1a4 100644 --- a/swad_link.h +++ b/swad_link.h @@ -31,14 +31,17 @@ /************************** Public types and constants ***********************/ /*****************************************************************************/ -#define Lnk_MAX_LENGTH_LINK_SHRT_NAME 32 -#define Lnk_MAX_LENGTH_LINK_FULL_NAME 127 +#define Lnk_MAX_CHARS_LINK_SHRT_NAME 32 +#define Lnk_MAX_BYTES_LINK_SHRT_NAME (Lnk_MAX_CHARS_LINK_SHRT_NAME * Str_MAX_BYTES_PER_CHAR) + +#define Lnk_MAX_CHARS_LINK_FULL_NAME (128 - 1) +#define Lnk_MAX_BYTES_LINK_FULL_NAME (Lnk_MAX_CHARS_LINK_FULL_NAME * Str_MAX_BYTES_PER_CHAR) struct Link { long LnkCod; - char ShrtName[Lnk_MAX_LENGTH_LINK_SHRT_NAME + 1]; - char FullName[Lnk_MAX_LENGTH_LINK_FULL_NAME + 1]; + char ShrtName[Lnk_MAX_BYTES_LINK_SHRT_NAME + 1]; + char FullName[Lnk_MAX_BYTES_LINK_FULL_NAME + 1]; char WWW[Cns_MAX_BYTES_WWW + 1]; }; diff --git a/swad_mail.c b/swad_mail.c index aeaba2e3..d5a4cce7 100644 --- a/swad_mail.c +++ b/swad_mail.c @@ -67,8 +67,8 @@ extern struct Globals Gbl; static void Mai_GetParamMaiOrder (void); static void Mai_PutIconToEditMailDomains (void); static void Mai_GetListMailDomainsAllowedForNotif (void); -static void Mai_GetMailDomain (const char *Email,char MailDomain[Mai_MAX_LENGTH_MAIL_DOMAIN + 1]); -static bool Mai_CheckIfMailDomainIsAllowedForNotif (const char MailDomain[Mai_MAX_LENGTH_MAIL_DOMAIN + 1]); +static void Mai_GetMailDomain (const char *Email,char MailDomain[Mai_MAX_BYTES_MAIL_DOMAIN + 1]); +static bool Mai_CheckIfMailDomainIsAllowedForNotif (const char MailDomain[Mai_MAX_BYTES_MAIL_DOMAIN + 1]); static void Mai_ListMailDomainsForEdition (void); static void Mai_PutParamMaiCod (long MaiCod); @@ -288,11 +288,11 @@ static void Mai_GetListMailDomainsAllowedForNotif (void) /* Get the mail domain (row[1]) */ Str_Copy (Mai->Domain,row[1], - Mai_MAX_LENGTH_MAIL_DOMAIN); + Mai_MAX_BYTES_MAIL_DOMAIN); /* Get the mail domain info (row[2]) */ Str_Copy (Mai->Info,row[2], - Mai_MAX_LENGTH_MAIL_INFO); + Mai_MAX_BYTES_MAIL_INFO); /* Get number of users (row[3]) */ if (sscanf (row[3],"%u",&(Mai->NumUsrs)) != 1) @@ -317,7 +317,7 @@ static void Mai_GetListMailDomainsAllowedForNotif (void) bool Mai_CheckIfUsrCanReceiveEmailNotif (const struct UsrData *UsrDat) { - char MailDomain[Mai_MAX_LENGTH_MAIL_DOMAIN + 1]; + char MailDomain[Mai_MAX_BYTES_MAIL_DOMAIN + 1]; /***** Check #1: is my email address confirmed? *****/ if (!UsrDat->EmailConfirmed) @@ -332,7 +332,7 @@ bool Mai_CheckIfUsrCanReceiveEmailNotif (const struct UsrData *UsrDat) /********************** Get mailbox from email address ***********************/ /*****************************************************************************/ -static void Mai_GetMailDomain (const char *Email,char MailDomain[Mai_MAX_LENGTH_MAIL_DOMAIN + 1]) +static void Mai_GetMailDomain (const char *Email,char MailDomain[Mai_MAX_BYTES_MAIL_DOMAIN + 1]) { const char *Ptr; @@ -344,7 +344,7 @@ static void Mai_GetMailDomain (const char *Email,char MailDomain[Mai_MAX_LENGTH_ Ptr++; // Skip '@' if (strchr (Ptr,(int) '@') == NULL) // No more '@' found Str_Copy (MailDomain,Ptr, - Mai_MAX_LENGTH_MAIL_DOMAIN); + Mai_MAX_BYTES_MAIL_DOMAIN); } } @@ -352,7 +352,7 @@ static void Mai_GetMailDomain (const char *Email,char MailDomain[Mai_MAX_LENGTH_ /************ Check if a mail domain is allowed for notifications ************/ /*****************************************************************************/ -static bool Mai_CheckIfMailDomainIsAllowedForNotif (const char MailDomain[Mai_MAX_LENGTH_MAIL_DOMAIN + 1]) +static bool Mai_CheckIfMailDomainIsAllowedForNotif (const char MailDomain[Mai_MAX_BYTES_MAIL_DOMAIN + 1]) { char Query[512]; @@ -414,11 +414,11 @@ void Mai_GetDataOfMailDomainByCod (struct Mail *Mai) /* Get the short name of the mail (row[0]) */ Str_Copy (Mai->Domain,row[0], - Mai_MAX_LENGTH_MAIL_DOMAIN); + Mai_MAX_BYTES_MAIL_DOMAIN); /* Get the full name of the mail (row[1]) */ Str_Copy (Mai->Info,row[1], - Mai_MAX_LENGTH_MAIL_INFO); + Mai_MAX_BYTES_MAIL_INFO); } /***** Free structure that stores the query result *****/ @@ -487,7 +487,7 @@ static void Mai_ListMailDomainsForEdition (void) fprintf (Gbl.F.Out,"", - Mai_MAX_LENGTH_MAIL_DOMAIN,Mai->Domain, + Mai_MAX_CHARS_MAIL_DOMAIN,Mai->Domain, Gbl.Form.Id); Act_FormEnd (); fprintf (Gbl.F.Out,""); @@ -499,7 +499,7 @@ static void Mai_ListMailDomainsForEdition (void) fprintf (Gbl.F.Out,"", - Mai_MAX_LENGTH_MAIL_INFO,Mai->Info, + Mai_MAX_CHARS_MAIL_INFO,Mai->Info, Gbl.Form.Id); Act_FormEnd (); fprintf (Gbl.F.Out,""); @@ -596,9 +596,9 @@ static void Mai_RenameMailDomain (Cns_ShrtOrFullName_t ShrtOrFullName) struct Mail *Mai; const char *ParamName = NULL; // Initialized to avoid warning const char *FieldName = NULL; // Initialized to avoid warning - unsigned MaxLength = 0; // Initialized to avoid warning + unsigned MaxBytes = 0; // Initialized to avoid warning char *CurrentMaiName = NULL; // Initialized to avoid warning - char NewMaiName[Mai_MAX_LENGTH_MAIL_INFO + 1]; + char NewMaiName[Mai_MAX_BYTES_MAIL_INFO + 1]; Mai = &Gbl.Mails.EditingMai; switch (ShrtOrFullName) @@ -606,13 +606,13 @@ static void Mai_RenameMailDomain (Cns_ShrtOrFullName_t ShrtOrFullName) case Cns_SHRT_NAME: ParamName = "Domain"; FieldName = "Domain"; - MaxLength = Mai_MAX_LENGTH_MAIL_DOMAIN; + MaxBytes = Mai_MAX_BYTES_MAIL_DOMAIN; CurrentMaiName = Mai->Domain; break; case Cns_FULL_NAME: ParamName = "Info"; FieldName = "Info"; - MaxLength = Mai_MAX_LENGTH_MAIL_INFO; + MaxBytes = Mai_MAX_BYTES_MAIL_INFO; CurrentMaiName = Mai->Info; break; } @@ -623,7 +623,7 @@ static void Mai_RenameMailDomain (Cns_ShrtOrFullName_t ShrtOrFullName) Lay_ShowErrorAndExit ("Code of mail domain is missing."); /* Get the new name for the mail */ - Par_GetParToText (ParamName,NewMaiName,MaxLength); + Par_GetParToText (ParamName,NewMaiName,MaxBytes); /***** Get from the database the old names of the mail *****/ Mai_GetDataOfMailDomainByCod (Mai); @@ -670,7 +670,7 @@ static void Mai_RenameMailDomain (Cns_ShrtOrFullName_t ShrtOrFullName) /***** Show the form again *****/ Str_Copy (CurrentMaiName,NewMaiName, - MaxLength); + MaxBytes); Mai_EditMailDomains (); } @@ -728,7 +728,7 @@ static void Mai_PutFormToCreateMailDomain (void) " size=\"15\" maxlength=\"%u\" value=\"%s\"" " required=\"required\" />" "", - Mai_MAX_LENGTH_MAIL_DOMAIN,Mai->Domain); + Mai_MAX_CHARS_MAIL_DOMAIN,Mai->Domain); /***** Mail domain info *****/ fprintf (Gbl.F.Out,"" @@ -738,7 +738,7 @@ static void Mai_PutFormToCreateMailDomain (void) "" "" "", - Mai_MAX_LENGTH_MAIL_INFO,Mai->Info); + Mai_MAX_CHARS_MAIL_INFO,Mai->Info); /***** Send button and end frame *****/ @@ -792,10 +792,10 @@ void Mai_RecFormNewMailDomain (void) /***** Get parameters from form *****/ /* Get mail short name */ - Par_GetParToText ("Domain",Mai->Domain,Mai_MAX_LENGTH_MAIL_DOMAIN); + Par_GetParToText ("Domain",Mai->Domain,Mai_MAX_BYTES_MAIL_DOMAIN); /* Get mail full name */ - Par_GetParToText ("Info",Mai->Info,Mai_MAX_LENGTH_MAIL_INFO); + Par_GetParToText ("Info",Mai->Info,Mai_MAX_BYTES_MAIL_INFO); if (Mai->Domain[0] && Mai->Info[0]) // If there's a mail name { @@ -846,7 +846,7 @@ static void Mai_CreateMailDomain (struct Mail *Mai) /****** List the emails of all the students to creates an email message ******/ /*****************************************************************************/ -#define Mai_MAX_LENGTH_STR_ADDR (32 * 5000) +#define Mai_MAX_BYTES_STR_ADDR (256 * 1024 - 1) void Mai_ListEmails (void) { @@ -859,7 +859,7 @@ void Mai_ListEmails (void) unsigned NumUsr; unsigned NumStdsWithEmail; unsigned NumAcceptedStdsWithEmail; - char StrAddresses[Mai_MAX_LENGTH_STR_ADDR + 1]; + char StrAddresses[Mai_MAX_BYTES_STR_ADDR + 1]; // TODO: Use malloc depending on the number of students unsigned int LengthStrAddr = 0; struct UsrData UsrDat; @@ -906,16 +906,16 @@ void Mai_ListEmails (void) { fprintf (Gbl.F.Out,", "); LengthStrAddr ++; - if (LengthStrAddr > Mai_MAX_LENGTH_STR_ADDR) + if (LengthStrAddr > Mai_MAX_BYTES_STR_ADDR) Lay_ShowErrorAndExit ("The space allocated to store email addresses is full."); Str_Concat (StrAddresses,",", - Mai_MAX_LENGTH_STR_ADDR); + Mai_MAX_BYTES_STR_ADDR); } LengthStrAddr += strlen (UsrDat.Email); - if (LengthStrAddr > Mai_MAX_LENGTH_STR_ADDR) + if (LengthStrAddr > Mai_MAX_BYTES_STR_ADDR) Lay_ShowErrorAndExit ("The space allocated to store email addresses is full."); Str_Concat (StrAddresses,UsrDat.Email, - Mai_MAX_LENGTH_STR_ADDR); + Mai_MAX_BYTES_STR_ADDR); fprintf (Gbl.F.Out,"%s", UsrDat.Email,Gbl.CurrentCrs.Crs.FullName,UsrDat.Email); diff --git a/swad_mail.h b/swad_mail.h index 1ec72c06..98a5945b 100644 --- a/swad_mail.h +++ b/swad_mail.h @@ -33,8 +33,11 @@ /************************** Public types and constants ***********************/ /*****************************************************************************/ -#define Mai_MAX_LENGTH_MAIL_DOMAIN (128 - 1) -#define Mai_MAX_LENGTH_MAIL_INFO (128 - 1) +#define Mai_MAX_CHARS_MAIL_DOMAIN (128 - 1) +#define Mai_MAX_BYTES_MAIL_DOMAIN (Mai_MAX_CHARS_MAIL_DOMAIN * Str_MAX_BYTES_PER_CHAR) + +#define Mai_MAX_CHARS_MAIL_INFO (128 - 1) +#define Mai_MAX_BYTES_MAIL_INFO (Mai_MAX_CHARS_MAIL_INFO * Str_MAX_BYTES_PER_CHAR) #define Mai_NUM_ORDERS 3 typedef enum @@ -48,8 +51,8 @@ typedef enum struct Mail { long MaiCod; - char Domain[Mai_MAX_LENGTH_MAIL_DOMAIN + 1]; - char Info[Mai_MAX_LENGTH_MAIL_INFO + 1]; + char Domain[Mai_MAX_BYTES_MAIL_DOMAIN + 1]; + char Info[Mai_MAX_BYTES_MAIL_INFO + 1]; unsigned NumUsrs; }; diff --git a/swad_message.c b/swad_message.c index c8ee1193..99df7aeb 100644 --- a/swad_message.c +++ b/swad_message.c @@ -56,7 +56,7 @@ extern struct Globals Gbl; /***************************** Private constants *****************************/ /*****************************************************************************/ -#define Msg_MAX_LENGTH_MESSAGES_QUERY 4096 +#define Msg_MAX_BYTES_MESSAGES_QUERY (4 * 1024 - 1) // Forum images will be saved with: // - maximum width of Msg_IMAGE_SAVED_MAX_HEIGHT @@ -103,7 +103,7 @@ static void Msg_WriteFormUsrsIDsOrNicksOtherRecipients (void); static void Msg_WriteFormSubjectAndContentMsgToUsrs (char Content[Cns_MAX_BYTES_LONG_TEXT + 1]); static void Msg_ShowNumMsgsDeleted (unsigned NumMsgs); -static void Msg_MakeFilterFromToSubquery (char FilterFromToSubquery[Msg_MAX_LENGTH_MESSAGES_QUERY + 1]); +static void Msg_MakeFilterFromToSubquery (char FilterFromToSubquery[Msg_MAX_BYTES_MESSAGES_QUERY + 1]); static void Msg_ExpandSentMsg (long MsgCod); static void Msg_ExpandReceivedMsg (long MsgCod); @@ -641,7 +641,6 @@ void Msg_RecMsgFromUsr (void) unsigned NumRecipientsToBeNotifiedByEMail = 0; struct UsrData UsrDstData; int NumErrors = 0; - char *ListUsrsDst; long NewMsgCod = -1L; // Initiliazed to avoid warning bool MsgAlreadyInserted = false; bool CreateNotif; @@ -701,12 +700,6 @@ void Msg_RecMsgFromUsr (void) return; } - /***** Allocate space to store a list of recipients with the following format: - "FirstName Surname1 Surname2; FirstName Surname1 Surname2; FirstName Surname1 Surname2" *****/ - if ((ListUsrsDst = (char *) malloc (((Usr_MAX_BYTES_NAME + 1) * 3 + 1)*NumRecipients)) == NULL) - Lay_ShowErrorAndExit ("Not enough memory to store email addresses of recipients."); - ListUsrsDst[0] = '\0'; - /***** Initialize structure with user's data *****/ Usr_UsrDataConstructor (&UsrDstData); @@ -799,9 +792,6 @@ void Msg_RecMsgFromUsr (void) Usr_UsrDataDestructor (&UsrDstData); /***** Free memory *****/ - /* Free memory used for list of recipients' names */ - free (ListUsrsDst); - /* Free memory used for list of users */ Usr_FreeListOtherRecipients (); Usr_FreeListsSelectedUsrsCods (); @@ -941,7 +931,7 @@ void Msg_ReqDelAllSntMsgs (void) void Msg_DelAllRecMsgs (void) { - char FilterFromToSubquery[Msg_MAX_LENGTH_MESSAGES_QUERY + 1]; + char FilterFromToSubquery[Msg_MAX_BYTES_MESSAGES_QUERY + 1]; unsigned long NumMsgs; /***** Get parameters *****/ @@ -963,7 +953,7 @@ void Msg_DelAllRecMsgs (void) void Msg_DelAllSntMsgs (void) { - char FilterFromToSubquery[Msg_MAX_LENGTH_MESSAGES_QUERY + 1]; + char FilterFromToSubquery[Msg_MAX_BYTES_MESSAGES_QUERY + 1]; unsigned long NumMsgs; /***** Get parameters *****/ @@ -1028,7 +1018,7 @@ void Msg_GetParamFilterFromTo (void) { /***** Get "from"/"to" filter *****/ Par_GetParToText ("FilterFromTo",Gbl.Msg.FilterFromTo, - Usr_MAX_LENGTH_USR_NAME_OR_SURNAME * 3); + Usr_MAX_BYTES_FULL_NAME); } /*****************************************************************************/ @@ -1039,17 +1029,17 @@ void Msg_GetParamFilterContent (void) { /***** Get content filter *****/ Par_GetParToText ("FilterContent",Gbl.Msg.FilterContent, - Msg_MAX_LENGTH_FILTER_CONTENT); + Msg_MAX_BYTES_FILTER_CONTENT); } /*****************************************************************************/ /************************* Make "from"/"to" subquery *************************/ /*****************************************************************************/ -static void Msg_MakeFilterFromToSubquery (char FilterFromToSubquery[Msg_MAX_LENGTH_MESSAGES_QUERY + 1]) +static void Msg_MakeFilterFromToSubquery (char FilterFromToSubquery[Msg_MAX_BYTES_MESSAGES_QUERY + 1]) { const char *Ptr; - char SearchWord[Usr_MAX_LENGTH_USR_NAME_OR_SURNAME + 1]; + char SearchWord[Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1]; /***** Split "from"/"to" string into words *****/ if (Gbl.Msg.FilterFromTo[0]) @@ -1057,19 +1047,20 @@ static void Msg_MakeFilterFromToSubquery (char FilterFromToSubquery[Msg_MAX_LENG Ptr = Gbl.Msg.FilterFromTo; Str_Copy (FilterFromToSubquery, " AND CONCAT(usr_data.FirstName,usr_data.Surname1,usr_data.Surname2) LIKE '", - Msg_MAX_LENGTH_MESSAGES_QUERY); + Msg_MAX_BYTES_MESSAGES_QUERY); while (*Ptr) { - Str_GetNextStringUntilSpace (&Ptr,SearchWord,Usr_MAX_LENGTH_USR_NAME_OR_SURNAME); - if (strlen (FilterFromToSubquery) + strlen (SearchWord) + 512 > Msg_MAX_LENGTH_MESSAGES_QUERY) // Prevent string overflow + Str_GetNextStringUntilSpace (&Ptr,SearchWord,Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); + if (strlen (FilterFromToSubquery) + strlen (SearchWord) + 512 > + Msg_MAX_BYTES_MESSAGES_QUERY) // Prevent string overflow break; Str_Concat (FilterFromToSubquery,"%", - Msg_MAX_LENGTH_MESSAGES_QUERY); + Msg_MAX_BYTES_MESSAGES_QUERY); Str_Concat (FilterFromToSubquery,SearchWord, - Msg_MAX_LENGTH_MESSAGES_QUERY); + Msg_MAX_BYTES_MESSAGES_QUERY); } Str_Concat (FilterFromToSubquery,"%'", - Msg_MAX_LENGTH_MESSAGES_QUERY); + Msg_MAX_BYTES_MESSAGES_QUERY); } else FilterFromToSubquery[0] = '\0'; @@ -1342,7 +1333,7 @@ static long Msg_InsertNewMsg (const char *Subject,const char *Content, static unsigned long Msg_DelSomeRecOrSntMsgsUsr (Msg_TypeOfMessages_t TypeOfMessages,long UsrCod, long FilterCrsCod,const char *FilterFromToSubquery) { - char Query[Msg_MAX_LENGTH_MESSAGES_QUERY + 1]; + char Query[Msg_MAX_BYTES_MESSAGES_QUERY + 1]; MYSQL_RES *mysql_res; MYSQL_ROW row; unsigned long MsgNum,NumMsgs; @@ -1582,8 +1573,8 @@ static bool Msg_CheckIfReceivedMsgIsDeletedForAllItsRecipients (long MsgCod) static unsigned Msg_GetNumUnreadMsgs (long FilterCrsCod,const char *FilterFromToSubquery) { - char SubQuery[Msg_MAX_LENGTH_MESSAGES_QUERY + 1]; - char Query[Msg_MAX_LENGTH_MESSAGES_QUERY + 1]; + char SubQuery[Msg_MAX_BYTES_MESSAGES_QUERY + 1]; + char Query[Msg_MAX_BYTES_MESSAGES_QUERY + 1]; /***** Get number of unread messages from database *****/ if (FilterCrsCod >= 0) // If origin course selected @@ -1675,8 +1666,8 @@ static void Msg_ShowSentOrReceivedMessages (void) extern const char *The_ClassFormBold[The_NUM_THEMES]; extern const char *Txt_Filter; extern const char *Txt_Update_messages; - char FilterFromToSubquery[Msg_MAX_LENGTH_MESSAGES_QUERY + 1]; - char Query[Msg_MAX_LENGTH_MESSAGES_QUERY + 1]; + char FilterFromToSubquery[Msg_MAX_BYTES_MESSAGES_QUERY + 1]; + char Query[Msg_MAX_BYTES_MESSAGES_QUERY + 1]; MYSQL_RES *mysql_res; MYSQL_ROW row; unsigned long NumRow; @@ -1871,7 +1862,7 @@ static void Msg_PutLinkToViewBannedUsers(void) static void Msg_ConstructQueryToSelectSentOrReceivedMsgs (char *Query,long UsrCod, long FilterCrsCod,const char *FilterFromToSubquery) { - char SubQuery[Msg_MAX_LENGTH_MESSAGES_QUERY + 1]; + char SubQuery[Msg_MAX_BYTES_MESSAGES_QUERY + 1]; char *PtrQuery; const char *StrUnreadMsg; @@ -2592,7 +2583,7 @@ void Msg_ShowFormToFilterMsgs (void) "", The_ClassForm[Gbl.Prefs.Theme], TxtFromTo[Gbl.Msg.TypeOfMessages], - Usr_MAX_LENGTH_USR_NAME_OR_SURNAME * 3,Gbl.Msg.FilterFromTo); + Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME * 3,Gbl.Msg.FilterFromTo); /***** Filter message content *****/ fprintf (Gbl.F.Out,"" @@ -2604,7 +2595,7 @@ void Msg_ShowFormToFilterMsgs (void) "", The_ClassForm[Gbl.Prefs.Theme], Txt_MSG_Message, - Msg_MAX_LENGTH_FILTER_CONTENT,Gbl.Msg.FilterContent); + Msg_MAX_CHARS_FILTER_CONTENT,Gbl.Msg.FilterContent); /***** End table *****/ fprintf (Gbl.F.Out,"" diff --git a/swad_message.h b/swad_message.h index 0f9ce879..a9ec4644 100644 --- a/swad_message.h +++ b/swad_message.h @@ -33,7 +33,8 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Msg_MAX_LENGTH_FILTER_CONTENT 80 +#define Msg_MAX_CHARS_FILTER_CONTENT (128 - 1) +#define Msg_MAX_BYTES_FILTER_CONTENT (Msg_MAX_CHARS_FILTER_CONTENT * Str_MAX_BYTES_PER_CHAR) /*****************************************************************************/ /******************************** Public types *******************************/ diff --git a/swad_network.c b/swad_network.c index df62fa33..1931bf61 100644 --- a/swad_network.c +++ b/swad_network.c @@ -79,7 +79,7 @@ typedef enum } Net_WebsAndSocialNetworks_t; #define Net_WEB_SOCIAL_NET_DEFAULT Net_WWW -#define Net_MAX_LENGTH_NETWORK_NAME 32 +#define Net_MAX_BYTES_NETWORK_NAME 32 const char *Net_WebsAndSocialNetworksDB[Net_NUM_WEBS_AND_SOCIAL_NETWORKS] = { @@ -443,7 +443,7 @@ void Net_ShowWebAndSocialNetworksStats (void) unsigned NumRows; unsigned NumRow; Net_WebsAndSocialNetworks_t Web; - char NetName[Net_MAX_LENGTH_NETWORK_NAME + 1]; + char NetName[Net_MAX_BYTES_NETWORK_NAME + 1]; unsigned NumUsrsTotalInPlatform; unsigned NumUsrs; @@ -555,7 +555,7 @@ void Net_ShowWebAndSocialNetworksStats (void) /* Get web / social network (row[0]) */ Str_Copy (NetName,row[0], - Net_MAX_LENGTH_NETWORK_NAME); + Net_MAX_BYTES_NETWORK_NAME); for (Web = (Net_WebsAndSocialNetworks_t) 0; Web < Net_NUM_WEBS_AND_SOCIAL_NETWORKS; Web++) diff --git a/swad_notification.c b/swad_notification.c index 2f8d313b..8d237a2c 100644 --- a/swad_notification.c +++ b/swad_notification.c @@ -55,7 +55,7 @@ extern struct Globals Gbl; /****************************** Public constants *****************************/ /*****************************************************************************/ -// strings are limited to Ntf_MAX_LENGTH_NOTIFY_EVENT characters +// strings are limited to Ntf_MAX_BYTES_NOTIFY_EVENT characters const char *Ntf_WSNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] = { diff --git a/swad_notification.h b/swad_notification.h index 2e6936db..5e2d92d9 100644 --- a/swad_notification.h +++ b/swad_notification.h @@ -33,9 +33,10 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Ntf_MAX_LENGTH_NOTIFY_EVENT 32 +#define Ntf_MAX_BYTES_NOTIFY_EVENT 32 -#define Ntf_MAX_LENGTH_NOTIFY_LOCATION (1024 - 1) +#define Ntf_MAX_CHARS_NOTIFY_LOCATION (128 - 1) +#define Ntf_MAX_BYTES_NOTIFY_LOCATION (1024 + Ntf_MAX_CHARS_NOTIFY_LOCATION * Str_MAX_BYTES_PER_CHAR) /*****************************************************************************/ /******************************** Public types *******************************/ diff --git a/swad_parameter.c b/swad_parameter.c index 0e5c2421..ef906ce8 100644 --- a/swad_parameter.c +++ b/swad_parameter.c @@ -70,18 +70,18 @@ static bool Par_CheckIsParamCanBeUsedInGETMethod (const char *ParamName); /*** Read all parameters passed to this CGI and store for later processing ***/ /*****************************************************************************/ -#define Par_MAX_LENGTH_METHOD (256 - 1) -#define Par_MAX_LENGTH_CONTENT_TYPE (256 - 1) +#define Par_MAX_BYTES_METHOD (128 - 1) +#define Par_MAX_BYTES_CONTENT_TYPE (128 - 1) bool Par_GetQueryString (void) { - char Method[Par_MAX_LENGTH_METHOD + 1]; - char ContentType[Par_MAX_LENGTH_CONTENT_TYPE + 1]; + char Method[Par_MAX_BYTES_METHOD + 1]; + char ContentType[Par_MAX_BYTES_CONTENT_TYPE + 1]; char UnsignedLongStr[10 + 1]; unsigned long UnsignedLong; Str_Copy (Method,getenv ("REQUEST_METHOD"), - Par_MAX_LENGTH_METHOD); + Par_MAX_BYTES_METHOD); if (!strcmp (Method,"GET")) { @@ -122,7 +122,7 @@ bool Par_GetQueryString (void) return false; Str_Copy (ContentType,getenv ("CONTENT_TYPE"), - Par_MAX_LENGTH_CONTENT_TYPE); + Par_MAX_BYTES_CONTENT_TYPE); if (!strncmp (ContentType,"multipart/form-data",strlen ("multipart/form-data"))) { diff --git a/swad_password.c b/swad_password.c index 47fcad10..f052fde6 100644 --- a/swad_password.c +++ b/swad_password.c @@ -261,7 +261,7 @@ void Pwd_ShowFormSendNewPwd (void) " size=\"8\" maxlength=\"%u\" value=\"%s\" />" "", The_ClassForm[Gbl.Prefs.Theme],Txt_nick_email_or_ID, - Usr_MAX_LENGTH_USR_LOGIN,Gbl.Usrs.Me.UsrIdLogin); + Usr_MAX_CHARS_USR_LOGIN,Gbl.Usrs.Me.UsrIdLogin); /***** Send button and end frame *****/ Lay_EndRoundFrameWithButton (Lay_CONFIRM_BUTTON,Txt_Get_a_new_password); diff --git a/swad_photo.c b/swad_photo.c index 3291f6f3..da8bf223 100644 --- a/swad_photo.c +++ b/swad_photo.c @@ -1884,7 +1884,8 @@ static void Pho_PutLinkToPrintViewOfDegreeStatsParams (void) /*************** Put a link to calculate the stats of degrees ****************/ /*****************************************************************************/ -#define Pho_MAX_LENGTH_ESTIMATED_TIME (64 - 1) +#define Pho_MAX_BYTES_ESTIMATED_TIME (128 - 1) + static void Pho_PutLinkToCalculateDegreeStats (void) { extern const char *The_ClassFormBold[The_NUM_THEMES]; @@ -1896,7 +1897,7 @@ static void Pho_PutLinkToCalculateDegreeStats (void) unsigned NumDeg; struct Degree Deg; long EstimatedTimeToComputeAvgPhotoInMicroseconds; - char StrEstimatedTimeToComputeAvgPhoto[Pho_MAX_LENGTH_ESTIMATED_TIME + 1]; + char StrEstimatedTimeToComputeAvgPhoto[Pho_MAX_BYTES_ESTIMATED_TIME + 1]; if ((Deg.DegCod = Pho_GetDegWithAvgPhotoLeastRecentlyUpdated ()) > 0) { @@ -1931,9 +1932,10 @@ static void Pho_PutLinkToCalculateDegreeStats (void) EstimatedTimeToComputeAvgPhotoInMicroseconds = Pho_GetTimeToComputeAvgPhoto (Degs.Lst[NumDeg].DegCod); if (EstimatedTimeToComputeAvgPhotoInMicroseconds == -1L) Str_Copy (StrEstimatedTimeToComputeAvgPhoto,Txt_unknown_TIME, - Pho_MAX_LENGTH_ESTIMATED_TIME); + Pho_MAX_BYTES_ESTIMATED_TIME); else - Sta_WriteTime (StrEstimatedTimeToComputeAvgPhoto,EstimatedTimeToComputeAvgPhotoInMicroseconds); + Sta_WriteTime (StrEstimatedTimeToComputeAvgPhoto, + EstimatedTimeToComputeAvgPhotoInMicroseconds); fprintf (Gbl.F.Out,"", Degs.Lst[NumDeg].DegCod, diff --git a/swad_place.c b/swad_place.c index 0403a6aa..26d0256c 100644 --- a/swad_place.c +++ b/swad_place.c @@ -317,11 +317,11 @@ void Plc_GetListPlaces (void) /* Get the short name of the place (row[1]) */ Str_Copy (Plc->ShrtName,row[1], - Plc_MAX_LENGTH_PLACE_SHRT_NAME); + Plc_MAX_BYTES_PLACE_SHRT_NAME); /* Get the full name of the place (row[2]) */ Str_Copy (Plc->FullName,row[2], - Plc_MAX_LENGTH_PLACE_FULL_NAME); + Plc_MAX_BYTES_PLACE_FULL_NAME); /* Get number of centres in this place (row[3]) */ if (sscanf (row[3],"%u",&Plc->NumCtrs) != 1) @@ -357,16 +357,16 @@ void Plc_GetDataOfPlaceByCod (struct Place *Plc) if (Plc->PlcCod < 0) { Str_Copy (Plc->ShrtName,Txt_Place_unspecified, - Plc_MAX_LENGTH_PLACE_SHRT_NAME); + Plc_MAX_BYTES_PLACE_SHRT_NAME); Str_Copy (Plc->FullName,Txt_Place_unspecified, - Plc_MAX_LENGTH_PLACE_FULL_NAME); + Plc_MAX_BYTES_PLACE_FULL_NAME); } else if (Plc->PlcCod == 0) { Str_Copy (Plc->ShrtName,Txt_Another_place, - Plc_MAX_LENGTH_PLACE_SHRT_NAME); + Plc_MAX_BYTES_PLACE_SHRT_NAME); Str_Copy (Plc->FullName,Txt_Another_place, - Plc_MAX_LENGTH_PLACE_FULL_NAME); + Plc_MAX_BYTES_PLACE_FULL_NAME); } else if (Plc->PlcCod > 0) { @@ -396,11 +396,11 @@ void Plc_GetDataOfPlaceByCod (struct Place *Plc) /* Get the short name of the place (row[0]) */ Str_Copy (Plc->ShrtName,row[0], - Plc_MAX_LENGTH_PLACE_SHRT_NAME); + Plc_MAX_BYTES_PLACE_SHRT_NAME); /* Get the full name of the place (row[1]) */ Str_Copy (Plc->FullName,row[1], - Plc_MAX_LENGTH_PLACE_FULL_NAME); + Plc_MAX_BYTES_PLACE_FULL_NAME); /* Get number of centres in this place (row[2]) */ if (sscanf (row[2],"%u",&Plc->NumCtrs) != 1) @@ -479,7 +479,7 @@ static void Plc_ListPlacesForEdition (void) " maxlength=\"%u\" value=\"%s\"" " class=\"INPUT_SHORT_NAME\"" " onchange=\"document.getElementById('%s').submit();\" />", - Plc_MAX_LENGTH_PLACE_SHRT_NAME,Plc->ShrtName,Gbl.Form.Id); + Plc_MAX_CHARS_PLACE_SHRT_NAME,Plc->ShrtName,Gbl.Form.Id); Act_FormEnd (); fprintf (Gbl.F.Out,""); @@ -491,7 +491,7 @@ static void Plc_ListPlacesForEdition (void) " maxlength=\"%u\" value=\"%s\"" " class=\"INPUT_FULL_NAME\"" " onchange=\"document.getElementById('%s').submit();\" />", - Plc_MAX_LENGTH_PLACE_FULL_NAME,Plc->FullName,Gbl.Form.Id); + Plc_MAX_CHARS_PLACE_FULL_NAME,Plc->FullName,Gbl.Form.Id); Act_FormEnd (); fprintf (Gbl.F.Out,""); @@ -595,9 +595,9 @@ static void Plc_RenamePlace (Cns_ShrtOrFullName_t ShrtOrFullName) struct Place *Plc; const char *ParamName = NULL; // Initialized to avoid warning const char *FieldName = NULL; // Initialized to avoid warning - unsigned MaxLength = 0; // Initialized to avoid warning + unsigned MaxBytes = 0; // Initialized to avoid warning char *CurrentPlcName = NULL; // Initialized to avoid warning - char NewPlcName[Plc_MAX_LENGTH_PLACE_FULL_NAME + 1]; + char NewPlcName[Plc_MAX_BYTES_PLACE_FULL_NAME + 1]; Plc = &Gbl.Plcs.EditingPlc; switch (ShrtOrFullName) @@ -605,13 +605,13 @@ static void Plc_RenamePlace (Cns_ShrtOrFullName_t ShrtOrFullName) case Cns_SHRT_NAME: ParamName = "ShortName"; FieldName = "ShortName"; - MaxLength = Plc_MAX_LENGTH_PLACE_SHRT_NAME; + MaxBytes = Plc_MAX_BYTES_PLACE_SHRT_NAME; CurrentPlcName = Plc->ShrtName; break; case Cns_FULL_NAME: ParamName = "FullName"; FieldName = "FullName"; - MaxLength = Plc_MAX_LENGTH_PLACE_FULL_NAME; + MaxBytes = Plc_MAX_BYTES_PLACE_FULL_NAME; CurrentPlcName = Plc->FullName; break; } @@ -622,7 +622,7 @@ static void Plc_RenamePlace (Cns_ShrtOrFullName_t ShrtOrFullName) Lay_ShowErrorAndExit ("Code of place is missing."); /* Get the new name for the place */ - Par_GetParToText (ParamName,NewPlcName,MaxLength); + Par_GetParToText (ParamName,NewPlcName,MaxBytes); /***** Get from the database the old names of the place *****/ Plc_GetDataOfPlaceByCod (Plc); @@ -669,7 +669,7 @@ static void Plc_RenamePlace (Cns_ShrtOrFullName_t ShrtOrFullName) /***** Show the form again *****/ Str_Copy (CurrentPlcName,NewPlcName, - MaxLength); + MaxBytes); Plc_EditPlaces (); } @@ -730,7 +730,7 @@ static void Plc_PutFormToCreatePlace (void) " class=\"INPUT_SHORT_NAME\"" " required=\"required\" />" "", - Plc_MAX_LENGTH_PLACE_SHRT_NAME,Plc->ShrtName); + Plc_MAX_CHARS_PLACE_SHRT_NAME,Plc->ShrtName); /***** Place full name *****/ fprintf (Gbl.F.Out,"" @@ -740,7 +740,7 @@ static void Plc_PutFormToCreatePlace (void) " required=\"required\" />" "" "", - Plc_MAX_LENGTH_PLACE_FULL_NAME,Plc->FullName); + Plc_MAX_CHARS_PLACE_FULL_NAME,Plc->FullName); /***** Send button and end frame *****/ Lay_EndRoundFrameTableWithButton (Lay_CREATE_BUTTON,Txt_Create_place); @@ -795,10 +795,10 @@ void Plc_RecFormNewPlace (void) /***** Get parameters from form *****/ /* Get place short name */ - Par_GetParToText ("ShortName",Plc->ShrtName,Plc_MAX_LENGTH_PLACE_SHRT_NAME); + Par_GetParToText ("ShortName",Plc->ShrtName,Plc_MAX_BYTES_PLACE_SHRT_NAME); /* Get place full name */ - Par_GetParToText ("FullName",Plc->FullName,Plc_MAX_LENGTH_PLACE_FULL_NAME); + Par_GetParToText ("FullName",Plc->FullName,Plc_MAX_BYTES_PLACE_FULL_NAME); if (Plc->ShrtName[0] && Plc->FullName[0]) // If there's a place name { diff --git a/swad_place.h b/swad_place.h index 90d7c4ad..9d681db4 100644 --- a/swad_place.h +++ b/swad_place.h @@ -31,15 +31,18 @@ /************************** Public types and constants ***********************/ /*****************************************************************************/ -#define Plc_MAX_LENGTH_PLACE_SHRT_NAME 32 -#define Plc_MAX_LENGTH_PLACE_FULL_NAME 127 +#define Plc_MAX_CHARS_PLACE_SHRT_NAME 32 +#define Plc_MAX_BYTES_PLACE_SHRT_NAME (Plc_MAX_CHARS_PLACE_SHRT_NAME * Str_MAX_BYTES_PER_CHAR) + +#define Plc_MAX_CHARS_PLACE_FULL_NAME (128 - 1) +#define Plc_MAX_BYTES_PLACE_FULL_NAME (Plc_MAX_CHARS_PLACE_FULL_NAME * Str_MAX_BYTES_PER_CHAR) struct Place { long PlcCod; long InsCod; - char ShrtName[Plc_MAX_LENGTH_PLACE_SHRT_NAME + 1]; - char FullName[Plc_MAX_LENGTH_PLACE_FULL_NAME + 1]; + char ShrtName[Plc_MAX_BYTES_PLACE_SHRT_NAME + 1]; + char FullName[Plc_MAX_BYTES_PLACE_FULL_NAME + 1]; unsigned NumCtrs; }; diff --git a/swad_plugin.h b/swad_plugin.h index 15d44e4a..1c505f4e 100644 --- a/swad_plugin.h +++ b/swad_plugin.h @@ -31,9 +31,12 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Plg_MAX_LENGTH_PLUGIN_NAME 127 +#define Plg_MAX_LENGTH_PLUGIN_NAME (128 - 1) + #define Plg_MAX_LENGTH_PLUGIN_DESCRIPTION 1023 + #define Plg_MAX_LENGTH_PLUGIN_LOGO 16 + #define Plg_MAX_LENGTH_PLUGIN_APP_KEY 16 /*****************************************************************************/ diff --git a/swad_record.c b/swad_record.c index b321eb71..94fbd77f 100644 --- a/swad_record.c +++ b/swad_record.c @@ -2959,7 +2959,7 @@ static void Rec_ShowSurname1 (struct UsrData *UsrDat, " id=\"Surname1\" name=\"Surname1\"" " maxlength=\"%u\" value=\"%s\"" " class=\"REC_C2_BOT_INPUT\"", - Usr_MAX_LENGTH_USR_NAME_OR_SURNAME, + Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME, UsrDat->Surname1); if (TypeOfView == Rec_SHA_MY_RECORD_FORM) fprintf (Gbl.F.Out," required=\"required\""); @@ -2995,7 +2995,7 @@ static void Rec_ShowSurname2 (struct UsrData *UsrDat, " id=\"Surname2\" name=\"Surname2\"" " maxlength=\"%u\" value=\"%s\"" " class=\"REC_C2_BOT_INPUT\" />", - Usr_MAX_LENGTH_USR_NAME_OR_SURNAME, + Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME, UsrDat->Surname2); else if (UsrDat->Surname2[0]) fprintf (Gbl.F.Out,"%s",UsrDat->Surname2); @@ -3032,7 +3032,7 @@ static void Rec_ShowFirstName (struct UsrData *UsrDat, " id=\"FirstName\" name=\"FirstName\"" " maxlength=\"%u\" value=\"%s\"" " class=\"REC_C2_BOT_INPUT\"", - Usr_MAX_LENGTH_USR_NAME_OR_SURNAME, + Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME, UsrDat->FirstName); if (TypeOfView == Rec_SHA_MY_RECORD_FORM) fprintf (Gbl.F.Out," required=\"required\""); @@ -3581,26 +3581,31 @@ Rol_Role_t Rec_GetRoleFromRecordForm (void) void Rec_GetUsrNameFromRecordForm (struct UsrData *UsrDat) { - char Surname1 [Usr_MAX_BYTES_NAME + 1]; // Temporary surname 1 - char FirstName[Usr_MAX_BYTES_NAME + 1]; // Temporary first name + char Surname1 [Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1]; // Temporary surname 1 + char FirstName[Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1]; // Temporary first name /***** Get surname 1 *****/ - Par_GetParToText ("Surname1",Surname1,Usr_MAX_BYTES_NAME); + Par_GetParToText ("Surname1",Surname1, + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); Str_ConvertToTitleType (Surname1); // Surname 1 is mandatory, so avoid overwriting surname 1 with empty string if (Surname1[0]) // New surname 1 not empty - Str_Copy (UsrDat->Surname1,Surname1,Usr_MAX_BYTES_NAME); + Str_Copy (UsrDat->Surname1,Surname1, + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); /***** Get surname 2 *****/ - Par_GetParToText ("Surname2",UsrDat->Surname2,Usr_MAX_BYTES_NAME); + Par_GetParToText ("Surname2",UsrDat->Surname2, + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); Str_ConvertToTitleType (UsrDat->Surname2); /***** Get first name *****/ - Par_GetParToText ("FirstName",FirstName,Usr_MAX_BYTES_NAME); + Par_GetParToText ("FirstName",FirstName, + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); Str_ConvertToTitleType (FirstName); // First name is mandatory, so avoid overwriting first name with empty string if (Surname1[0]) // New first name not empty - Str_Copy (UsrDat->FirstName,FirstName,Usr_MAX_BYTES_NAME); + Str_Copy (UsrDat->FirstName,FirstName, + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); /***** Build full name *****/ Usr_BuildFullName (UsrDat); diff --git a/swad_user.c b/swad_user.c index 67f5af9c..7960c31f 100644 --- a/swad_user.c +++ b/swad_user.c @@ -500,11 +500,11 @@ void Usr_GetUsrDataFromUsrCod (struct UsrData *UsrDat) /* Get name */ Str_Copy (UsrDat->Surname1,row[2], - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); Str_Copy (UsrDat->Surname2,row[3], - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); Str_Copy (UsrDat->FirstName,row[4], - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); /* Get sex */ UsrDat->Sex = Usr_GetSexFromStr (row[5]); @@ -2054,7 +2054,7 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) ()) Gbl.Prefs.IconsURL, Txt_User[Usr_SEX_UNKNOWN], Txt_User[Usr_SEX_UNKNOWN], - Usr_MAX_LENGTH_USR_LOGIN, + Usr_MAX_CHARS_USR_LOGIN, Txt_nick_email_or_ID, Gbl.Usrs.Me.UsrIdLogin); @@ -4887,15 +4887,15 @@ static void Usr_GetListUsrsFromQuery (const char *Query,Rol_Role_t Role,Sco_Scop /* Get user's surname 1 (row[3]) */ Str_Copy (UsrInList->Surname1,row[3], - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); /* Get user's surname 2 (row[4]) */ Str_Copy (UsrInList->Surname2,row[4], - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); /* Get user's first name (row[5]) */ Str_Copy (UsrInList->FirstName,row[5], - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); /* Get user's sex (row[6]) */ UsrInList->Sex = Usr_GetSexFromStr (row[6]); @@ -5004,11 +5004,11 @@ void Usr_CopyBasicUsrDataFromList (struct UsrData *UsrDat,const struct UsrInList Str_Copy (UsrDat->EncryptedUsrCod,UsrInList->EncryptedUsrCod, Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64); Str_Copy (UsrDat->Surname1,UsrInList->Surname1, - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); Str_Copy (UsrDat->Surname2,UsrInList->Surname2, - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); Str_Copy (UsrDat->FirstName,UsrInList->FirstName, - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); UsrDat->Sex = UsrInList->Sex; Str_Copy (UsrDat->Photo,UsrInList->Photo, Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64); diff --git a/swad_user.h b/swad_user.h index 2d77452c..a7e39301 100644 --- a/swad_user.h +++ b/swad_user.h @@ -53,20 +53,20 @@ #define Usr_DEF_MONTHS_WITHOUT_ACCESS_TO_REMOVE_OLD_USRS 12 #define Usr_MAX_MONTHS_WITHOUT_ACCESS_TO_REMOVE_OLD_USRS 60 -#define Usr_MAX_LENGTH_USR_NAME_OR_SURNAME 32 -#define Usr_MAX_BYTES_NAME 32 +#define Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME 32 +#define Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME (Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME * Str_MAX_BYTES_PER_CHAR) -#define Usr_MAX_BYTES_SURNAMES (Usr_MAX_BYTES_NAME + 1 + Usr_MAX_BYTES_NAME) - // Surname1 +' '+ Surname2 -#define Usr_MAX_BYTES_FULL_NAME (Usr_MAX_BYTES_NAME + 1 + Usr_MAX_BYTES_NAME + 6 + Usr_MAX_BYTES_NAME) - // Surname1 +' '+ Surname2 + ','+' ' + FirstName - // Surname1 +' '+ Surname2 + '
' + FirstName +#define Usr_MAX_BYTES_SURNAMES (Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1 + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME) + // Surname1 +' '+ Surname2 +#define Usr_MAX_BYTES_FULL_NAME (Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1 + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 6 + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME) + // Surname1 +' '+ Surname2 + ','+' ' + FirstName + // Surname1 +' '+ Surname2 + '
' + FirstName -#define Usr_MAX_CHARS_USR_EMAIL (128 - 1) -#define Usr_MAX_BYTES_USR_EMAIL Usr_MAX_CHARS_USR_EMAIL +#define Usr_MAX_CHARS_USR_EMAIL (128 - 1) +#define Usr_MAX_BYTES_USR_EMAIL Usr_MAX_CHARS_USR_EMAIL -#define Usr_MAX_LENGTH_USR_LOGIN (128 - 1) // @nick, email or ID -#define Usr_MAX_BYTES_USR_LOGIN (128 - 1) +#define Usr_MAX_CHARS_USR_LOGIN Usr_MAX_CHARS_USR_EMAIL // Maximum number of chars of @nick, email or ID +#define Usr_MAX_BYTES_USR_LOGIN (Usr_MAX_CHARS_USR_LOGIN * Str_MAX_BYTES_PER_CHAR) #define Usr_BIRTHDAY_STR_DB_LENGTH (4 + 1 + 2 + 1 + 2) // "'%04u-%02u-%02u'" @@ -134,9 +134,9 @@ struct UsrData // >=0 ==> filled/calculated // <0 ==> not yet filled/calculated bool Accepted; // User has accepted joining to current course? - char Surname1 [Usr_MAX_BYTES_NAME + 1]; - char Surname2 [Usr_MAX_BYTES_NAME + 1]; - char FirstName [Usr_MAX_BYTES_NAME + 1]; + char Surname1 [Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1]; + char Surname2 [Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1]; + char FirstName [Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1]; char FullName [Usr_MAX_BYTES_FULL_NAME + 1]; Usr_Sex_t Sex; char Email [Usr_MAX_BYTES_USR_EMAIL + 1]; @@ -188,9 +188,9 @@ struct UsrInList long UsrCod; char EncryptedUsrCod[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1]; char Password[Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64 + 1]; - char Surname1 [Usr_MAX_BYTES_NAME + 1]; - char Surname2 [Usr_MAX_BYTES_NAME + 1]; - char FirstName[Usr_MAX_BYTES_NAME + 1]; + char Surname1 [Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1]; + char Surname2 [Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1]; + char FirstName[Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1]; Usr_Sex_t Sex; char Photo[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1]; // Name of public link to photo Pri_Visibility_t PhotoVisibility; // Who can see user's photo diff --git a/swad_web_service.c b/swad_web_service.c index eed6bc32..457168f6 100644 --- a/swad_web_service.c +++ b/swad_web_service.c @@ -554,11 +554,11 @@ static bool Svc_GetSomeUsrDataFromUsrCod (struct UsrData *UsrDat,long CrsCod) /* Get user's name */ Str_Copy (UsrDat->Surname1,row[0], - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); Str_Copy (UsrDat->Surname2,row[1], - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); Str_Copy (UsrDat->FirstName,row[2], - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); /* Get user's photo */ Str_Copy (UsrDat->Photo,row[3], @@ -784,9 +784,9 @@ int swad__loginByUserPasswordKey (struct soap *soap, loginByUserPasswordKeyOut->wsKey = (char *) soap_malloc (Gbl.soap,Svc_LENGTH_WS_KEY + 1); loginByUserPasswordKeyOut->userNickname = (char *) soap_malloc (Gbl.soap,Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA + 1); loginByUserPasswordKeyOut->userID = (char *) soap_malloc (Gbl.soap,ID_MAX_BYTES_USR_ID + 1); - loginByUserPasswordKeyOut->userFirstname = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME + 1); - loginByUserPasswordKeyOut->userSurname1 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME + 1); - loginByUserPasswordKeyOut->userSurname2 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME + 1); + loginByUserPasswordKeyOut->userFirstname = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1); + loginByUserPasswordKeyOut->userSurname1 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1); + loginByUserPasswordKeyOut->userSurname2 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1); loginByUserPasswordKeyOut->userPhoto = (char *) soap_malloc (Gbl.soap,Cns_MAX_BYTES_WWW + 1); loginByUserPasswordKeyOut->userBirthday = (char *) soap_malloc (Gbl.soap,Dat_LENGTH_YYYYMMDD + 1); @@ -888,13 +888,13 @@ int swad__loginByUserPasswordKey (struct soap *soap, Str_Copy (loginByUserPasswordKeyOut->userSurname1, Gbl.Usrs.Me.UsrDat.Surname1, - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); Str_Copy (loginByUserPasswordKeyOut->userSurname2, Gbl.Usrs.Me.UsrDat.Surname2, - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); Str_Copy (loginByUserPasswordKeyOut->userFirstname, Gbl.Usrs.Me.UsrDat.FirstName, - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); Pho_BuildLinkToPhoto (&Gbl.Usrs.Me.UsrDat,PhotoURL); Str_Copy (loginByUserPasswordKeyOut->userPhoto,PhotoURL, @@ -950,9 +950,9 @@ int swad__loginBySessionKey (struct soap *soap, loginBySessionKeyOut->wsKey = (char *) soap_malloc (Gbl.soap,Svc_LENGTH_WS_KEY + 1); loginBySessionKeyOut->userNickname = (char *) soap_malloc (Gbl.soap,Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA + 1); loginBySessionKeyOut->userID = (char *) soap_malloc (Gbl.soap,ID_MAX_BYTES_USR_ID + 1); - loginBySessionKeyOut->userFirstname = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME + 1); - loginBySessionKeyOut->userSurname1 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME + 1); - loginBySessionKeyOut->userSurname2 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME + 1); + loginBySessionKeyOut->userFirstname = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1); + loginBySessionKeyOut->userSurname1 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1); + loginBySessionKeyOut->userSurname2 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1); loginBySessionKeyOut->userPhoto = (char *) soap_malloc (Gbl.soap,Cns_MAX_BYTES_WWW + 1); loginBySessionKeyOut->userBirthday = (char *) soap_malloc (Gbl.soap,Dat_LENGTH_YYYYMMDD + 1); loginBySessionKeyOut->degreeName = (char *) soap_malloc (Gbl.soap,Deg_MAX_BYTES_DEGREE_FULL_NAME + 1); @@ -1041,13 +1041,13 @@ int swad__loginBySessionKey (struct soap *soap, Str_Copy (loginBySessionKeyOut->userSurname1, Gbl.Usrs.Me.UsrDat.Surname1, - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); Str_Copy (loginBySessionKeyOut->userSurname2, Gbl.Usrs.Me.UsrDat.Surname2, - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); Str_Copy (loginBySessionKeyOut->userFirstname, Gbl.Usrs.Me.UsrDat.FirstName, - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); Pho_BuildLinkToPhoto (&Gbl.Usrs.Me.UsrDat,PhotoURL); Str_Copy (loginBySessionKeyOut->userPhoto,PhotoURL, @@ -2871,10 +2871,10 @@ int swad__getNotifications (struct soap *soap, /* Get notification event type (row[1]) */ NotifyEvent = Ntf_GetNotifyEventFromDB ((const char *) row[1]); - getNotificationsOut->notificationsArray.__ptr[NumNotif].eventType = (char *) soap_malloc (Gbl.soap,Ntf_MAX_LENGTH_NOTIFY_EVENT + 1); + getNotificationsOut->notificationsArray.__ptr[NumNotif].eventType = (char *) soap_malloc (Gbl.soap,Ntf_MAX_BYTES_NOTIFY_EVENT + 1); Str_Copy (getNotificationsOut->notificationsArray.__ptr[NumNotif].eventType, Ntf_WSNotifyEvents[NotifyEvent], - Ntf_MAX_LENGTH_NOTIFY_EVENT); + Ntf_MAX_BYTES_NOTIFY_EVENT); /* Get time of the event (row[2]) */ EventTime = 0L; @@ -2896,20 +2896,20 @@ int swad__getNotifications (struct soap *soap, Gbl.Usrs.Other.UsrDat.Nickname, Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA); - getNotificationsOut->notificationsArray.__ptr[NumNotif].userSurname1 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME + 1); + getNotificationsOut->notificationsArray.__ptr[NumNotif].userSurname1 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1); Str_Copy (getNotificationsOut->notificationsArray.__ptr[NumNotif].userSurname1, Gbl.Usrs.Other.UsrDat.Surname1, - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); - getNotificationsOut->notificationsArray.__ptr[NumNotif].userSurname2 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME + 1); + getNotificationsOut->notificationsArray.__ptr[NumNotif].userSurname2 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1); Str_Copy (getNotificationsOut->notificationsArray.__ptr[NumNotif].userSurname2, Gbl.Usrs.Other.UsrDat.Surname2, - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); - getNotificationsOut->notificationsArray.__ptr[NumNotif].userFirstname = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME + 1); + getNotificationsOut->notificationsArray.__ptr[NumNotif].userFirstname = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1); Str_Copy (getNotificationsOut->notificationsArray.__ptr[NumNotif].userFirstname, Gbl.Usrs.Other.UsrDat.FirstName, - Usr_MAX_BYTES_NAME); + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME); Pho_BuildLinkToPhoto (&Gbl.Usrs.Other.UsrDat,PhotoURL); getNotificationsOut->notificationsArray.__ptr[NumNotif].userPhoto = (char *) soap_malloc (Gbl.soap,Cns_MAX_BYTES_WWW + 1); @@ -2943,7 +2943,7 @@ int swad__getNotifications (struct soap *soap, getNotificationsOut->notificationsArray.__ptr[NumNotif].eventCode = (int) Cod; /* Set location */ - getNotificationsOut->notificationsArray.__ptr[NumNotif].location = (char *) soap_malloc (Gbl.soap,Ntf_MAX_LENGTH_NOTIFY_LOCATION + 1); + getNotificationsOut->notificationsArray.__ptr[NumNotif].location = (char *) soap_malloc (Gbl.soap,Ntf_MAX_BYTES_NOTIFY_LOCATION + 1); if (NotifyEvent == Ntf_EVENT_FORUM_POST_COURSE || NotifyEvent == Ntf_EVENT_FORUM_REPLY) @@ -2971,7 +2971,7 @@ int swad__getNotifications (struct soap *soap, Txt_Institution,Ins.ShrtName); else Str_Copy (getNotificationsOut->notificationsArray.__ptr[NumNotif].location,"-", - Ntf_MAX_LENGTH_NOTIFY_LOCATION); + Ntf_MAX_BYTES_NOTIFY_LOCATION); /* Get status (row[9]) */ if (sscanf (row[9],"%u",&Status) != 1)