Version 16.149

This commit is contained in:
Antonio Cañas Vargas 2017-03-07 01:56:41 +01:00
parent 3f1dd125fb
commit c596d53b72
71 changed files with 486 additions and 486 deletions

View File

@ -11695,3 +11695,6 @@ ALTER TABLE surveys DROP COLUMN DegCod;
ALTER TABLE surveys DROP COLUMN CrsCod;
SELECT LENGTH(Subject) AS Len,COUNT(*) AS N FROM forum_post GROUP BY Len ORDER BY Len DESC;

View File

@ -119,7 +119,7 @@ void ID_GetListIDsFromUsrCod (struct UsrData *UsrDat)
/* Get ID from row[0] */
Str_Copy (UsrDat->IDs.List[NumID].ID,row[0],
ID_MAX_LENGTH_USR_ID);
ID_MAX_BYTES_USR_ID);
/* Get if ID is confirmed from row[1] */
UsrDat->IDs.List[NumID].Confirmed = (row[1][0] == 'Y');
@ -190,7 +190,7 @@ unsigned ID_GetListUsrCodsFromUsrID (struct UsrData *UsrDat,
CheckPassword = true;
/***** Allocate memory for query string *****/
MaxLength = 512 + UsrDat->IDs.Num * (1 + ID_MAX_LENGTH_USR_ID + 1) - 1;
MaxLength = 512 + UsrDat->IDs.Num * (1 + ID_MAX_BYTES_USR_ID + 1) - 1;
if ((Query = (char *) malloc (MaxLength + 1)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to store list of user's IDs.");
@ -297,7 +297,7 @@ void ID_GetParamOtherUsrIDPlain (void)
/***** Get parameter *****/
Par_GetParToText ("OtherUsrID",Gbl.Usrs.Other.UsrDat.IDs.List[0].ID,
ID_MAX_LENGTH_USR_ID);
ID_MAX_BYTES_USR_ID);
// Users' IDs are always stored internally in capitals and without leading zeros
Str_RemoveLeadingZeros (Gbl.Usrs.Other.UsrDat.IDs.List[0].ID);
Str_ConvertToUpperText (Gbl.Usrs.Other.UsrDat.IDs.List[0].ID);
@ -310,7 +310,7 @@ void ID_GetParamOtherUsrIDPlain (void)
/*****************************************************************************/
// Returns true if the user's ID string is valid, or false if not
// A valid user's ID must...:
// 1. Must be ID_MIN_LENGTH_USR_ID <= characters <= ID_MAX_LENGTH_USR_ID.
// 1. Must be ID_MIN_BYTES_USR_ID <= characters <= ID_MAX_BYTES_USR_ID.
// 2. All characters must be digits or letters
// 3. Must have a minimum number of digits
@ -346,9 +346,9 @@ static bool ID_CheckIfUsrIDIsValidUsingMinDigits (const char *UsrID,unsigned Min
if (!UsrID[0])
return false;
Length = strlen (UsrID);
if (Length < ID_MIN_LENGTH_USR_ID ||
Length > ID_MAX_LENGTH_USR_ID)
return false; // 1. Must be ID_MIN_LENGTH_USR_ID <= characters <= ID_MAX_LENGTH_USR_ID
if (Length < ID_MIN_BYTES_USR_ID ||
Length > ID_MAX_BYTES_USR_ID)
return false; // 1. Must be ID_MIN_BYTES_USR_ID <= characters <= ID_MAX_BYTES_USR_ID
/**** Loop through user's ID *****/
for (Ptr = UsrID;
@ -650,7 +650,7 @@ void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,bool ItsMe)
"<input type=\"text\" id=\"NewID\" name=\"NewID\""
" size=\"18\" maxlength=\"%u\" value=\"%s\" />"
"</div>",
ID_MAX_LENGTH_USR_ID,
ID_MAX_BYTES_USR_ID,
UsrDat->IDs.Num ? UsrDat->IDs.List[UsrDat->IDs.Num - 1].ID :
""); // Show the most recent ID
Lay_PutCreateButtonInline (Txt_Add_this_ID);
@ -721,13 +721,13 @@ static void ID_RemoveUsrID (const struct UsrData *UsrDat,bool ItsMe)
extern const char *Txt_ID_X_removed;
extern const char *Txt_You_can_not_delete_this_ID;
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
char UsrID[ID_MAX_LENGTH_USR_ID + 1];
char UsrID[ID_MAX_BYTES_USR_ID + 1];
bool ICanRemove;
if (Usr_ICanEditOtherUsr (UsrDat))
{
/***** Get user's ID from form *****/
Par_GetParToText ("UsrID",UsrID,ID_MAX_LENGTH_USR_ID);
Par_GetParToText ("UsrID",UsrID,ID_MAX_BYTES_USR_ID);
// Users' IDs are always stored internally in capitals and without leading zeros
Str_RemoveLeadingZeros (UsrID);
Str_ConvertToUpperText (UsrID);
@ -777,7 +777,7 @@ static bool ID_CheckIfConfirmed (long UsrCod,const char *UsrID)
static void ID_RemoveUsrIDFromDB (long UsrCod,const char *UsrID)
{
char Query[256 + ID_MAX_LENGTH_USR_ID];
char Query[256 + ID_MAX_BYTES_USR_ID];
/***** Remove one of my user's IDs *****/
sprintf (Query,"DELETE FROM usr_IDs"
@ -839,7 +839,7 @@ static void ID_NewUsrID (const struct UsrData *UsrDat,bool ItsMe)
extern const char *Txt_The_ID_X_has_been_registered_successfully;
extern const char *Txt_The_ID_X_is_not_valid;
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
char NewID[ID_MAX_LENGTH_USR_ID + 1];
char NewID[ID_MAX_BYTES_USR_ID + 1];
unsigned NumID;
bool AlreadyExists;
unsigned NumIDFound = 0; // Initialized to avoid warning
@ -848,7 +848,7 @@ static void ID_NewUsrID (const struct UsrData *UsrDat,bool ItsMe)
if (Usr_ICanEditOtherUsr (UsrDat))
{
/***** Get new user's ID from form *****/
Par_GetParToText ("NewID",NewID,ID_MAX_LENGTH_USR_ID);
Par_GetParToText ("NewID",NewID,ID_MAX_BYTES_USR_ID);
// Users' IDs are always stored internally in capitals and without leading zeros
Str_RemoveLeadingZeros (NewID);
Str_ConvertToUpperText (NewID);
@ -919,7 +919,7 @@ static void ID_NewUsrID (const struct UsrData *UsrDat,bool ItsMe)
static void ID_InsertANewUsrIDInDB (long UsrCod,const char *NewID,bool Confirmed)
{
char Query[256 + ID_MAX_LENGTH_USR_ID];
char Query[256 + ID_MAX_BYTES_USR_ID];
/***** Update my nickname in database *****/
sprintf (Query,"INSERT INTO usr_IDs"
@ -959,7 +959,7 @@ static void ID_ReqConfOrConfOtherUsrID (ID_ReqConfOrConfID_t ReqConfOrConfID)
extern const char *Txt_Do_you_want_to_confirm_the_ID_X;
extern const char *Txt_The_ID_X_has_been_confirmed;
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
char UsrID[ID_MAX_LENGTH_USR_ID + 1];
char UsrID[ID_MAX_BYTES_USR_ID + 1];
bool ICanConfirm;
bool Found;
unsigned NumID;
@ -975,7 +975,7 @@ static void ID_ReqConfOrConfOtherUsrID (ID_ReqConfOrConfID_t ReqConfOrConfID)
if (ICanConfirm)
{
/***** Get user's ID from form *****/
Par_GetParToText ("UsrID",UsrID,ID_MAX_LENGTH_USR_ID);
Par_GetParToText ("UsrID",UsrID,ID_MAX_BYTES_USR_ID);
// Users' IDs are always stored internally in capitals and without leading zeros
Str_RemoveLeadingZeros (UsrID);
Str_ConvertToUpperText (UsrID);
@ -1041,7 +1041,7 @@ static void ID_ReqConfOrConfOtherUsrID (ID_ReqConfOrConfID_t ReqConfOrConfID)
void ID_ConfirmUsrID (const struct UsrData *UsrDat,const char *UsrID)
{
char Query[256 + ID_MAX_LENGTH_USR_ID];
char Query[256 + ID_MAX_BYTES_USR_ID];
/***** Update database *****/
sprintf (Query,"UPDATE usr_IDs SET Confirmed='Y'"

View File

@ -34,16 +34,21 @@
/*****************************************************************************/
#define ID_MIN_DIGITS_AUTOMATIC_DETECT_USR_ID 6 // Used for detect automatically users' IDs inside a text
#define ID_MIN_DIGITS_USR_ID 1 // A user's ID must have at least these digits
#define ID_MIN_LENGTH_USR_ID 5 // This number MUST be >= 3
#define ID_MAX_LENGTH_USR_ID 16
#define ID_MAX_BYTES_LIST_USRS_IDS (ID_MAX_LENGTH_USR_ID * Cfg_MAX_USRS_IN_LIST * 10)
#define ID_MIN_DIGITS_USR_ID 1 // A user's ID must have at least these digits
#define ID_MIN_CHARS_USR_ID 5 // This number MUST be >= 3
#define ID_MIN_BYTES_USR_ID ID_MIN_CHARS_USR_ID
#define ID_MAX_CHARS_USR_ID 16
#define ID_MAX_BYTES_USR_ID ID_MAX_CHARS_USR_ID
#define ID_MAX_BYTES_LIST_USRS_IDS (ID_MAX_BYTES_USR_ID * Cfg_MAX_USRS_IN_LIST * 10)
struct ListIDs
{
bool Confirmed;
char ID[ID_MAX_LENGTH_USR_ID + 1];
char ID[ID_MAX_BYTES_USR_ID + 1];
};
/*****************************************************************************/

View File

@ -193,7 +193,7 @@ static void RSS_WriteNotices (FILE *FileRSS,struct Course *Crs)
/* Write title (first characters) of the notice */
Str_Copy (Content,row[3],
Cns_MAX_BYTES_TEXT);
Str_LimitLengthHTMLStr (Content,40);
Str_LimitLengthHTMLStr (Content,40); // Remove when notice has a Subject
fprintf (FileRSS,"<title>%s: ",Txt_Notice);
Str_FilePrintStrChangingBRToRetAndNBSPToSpace (FileRSS,Content);
fprintf (FileRSS,"</title>\n");

View File

@ -153,7 +153,7 @@ static void Acc_ShowFormCheckIfIHaveAccount (const char *Title)
" required=\"required\" />"
"</label>",
The_ClassForm[Gbl.Prefs.Theme],Txt_ID,
ID_MAX_LENGTH_USR_ID);
ID_MAX_CHARS_USR_ID);
Lay_PutConfirmButton (Txt_Check);
Act_FormEnd ();
@ -173,7 +173,7 @@ void Acc_CheckIfEmptyAccountExists (void)
extern const char *Txt_Check_another_ID;
extern const char *Txt_Please_enter_your_ID;
extern const char *Txt_Before_creating_a_new_account_check_if_you_have_been_already_registered_with_your_ID;
char ID[ID_MAX_LENGTH_USR_ID + 1];
char ID[ID_MAX_BYTES_USR_ID + 1];
unsigned NumUsrs;
unsigned NumUsr;
struct UsrData UsrDat;
@ -189,7 +189,7 @@ void Acc_CheckIfEmptyAccountExists (void)
fprintf (Gbl.F.Out,"</div>");
/***** Get new user's ID from form *****/
Par_GetParToText ("ID",ID,ID_MAX_LENGTH_USR_ID);
Par_GetParToText ("ID",ID,ID_MAX_BYTES_USR_ID);
// Users' IDs are always stored internally in capitals and without leading zeros
Str_RemoveLeadingZeros (ID);
Str_ConvertToUpperText (ID);
@ -357,7 +357,7 @@ static void Acc_ShowFormRequestNewAccountWithParams (const char *NewNicknameWith
"</tr>",
The_ClassForm[Gbl.Prefs.Theme],
Txt_Nickname,
1 + Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA,
1 + Nck_MAX_CHARS_NICKNAME_WITHOUT_ARROBA,
Txt_HELP_nickname,
NewNicknameWithArroba);
@ -571,7 +571,7 @@ bool Acc_CreateMyNewAccountAndLogIn (void)
/***** Save nickname *****/
Nck_UpdateMyNick (NewNicknameWithoutArroba);
Str_Copy (Gbl.Usrs.Me.UsrDat.Nickname,NewNicknameWithoutArroba,
Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA);
Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA);
/***** Save email *****/
if (Mai_UpdateEmailInDB (&Gbl.Usrs.Me.UsrDat,NewEmail))
@ -608,7 +608,7 @@ static bool Acc_GetParamsNewAccount (char NewNicknameWithoutArroba[Nck_MAX_BYTES
extern const char *Txt_The_email_address_entered_X_is_not_valid;
char Query[1024];
char NewNicknameWithArroba[Nck_MAX_BYTES_NICKNAME_FROM_FORM + 1];
char NewPlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD + 1];
char NewPlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1];
bool Error = false;
/***** Step 1/3: Get new nickname from form *****/
@ -643,8 +643,8 @@ static bool Acc_GetParamsNewAccount (char NewNicknameWithoutArroba[Nck_MAX_BYTES
Error = true;
sprintf (Gbl.Message,Txt_The_nickname_entered_X_is_not_valid_,
NewNicknameWithArroba,
Nck_MIN_LENGTH_NICKNAME_WITHOUT_ARROBA,
Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA);
Nck_MIN_CHARS_NICKNAME_WITHOUT_ARROBA,
Nck_MAX_CHARS_NICKNAME_WITHOUT_ARROBA);
Lay_ShowAlert (Lay_WARNING,Gbl.Message);
}
@ -675,7 +675,7 @@ static bool Acc_GetParamsNewAccount (char NewNicknameWithoutArroba[Nck_MAX_BYTES
}
/***** Step 3/3: Get new password from form *****/
Par_GetParToText ("Paswd",NewPlainPassword,Pwd_MAX_LENGTH_PLAIN_PASSWORD);
Par_GetParToText ("Paswd",NewPlainPassword,Pwd_MAX_BYTES_PLAIN_PASSWORD);
Cry_EncryptSHA512Base64 (NewPlainPassword,NewEncryptedPassword);
if (!Pwd_SlowCheckIfPasswordIsGood (NewPlainPassword,NewEncryptedPassword,-1L)) // New password is good?
{

View File

@ -4696,7 +4696,7 @@ const char *Act_GetSubtitleAction (Act_Action_t Action)
/*****************************************************************************/
char *Act_GetActionTextFromDB (long ActCod,
char ActTxt[Act_MAX_LENGTH_ACTION_TXT + 1])
char ActTxt[Act_MAX_BYTES_ACTION_TXT + 1])
{
extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES];
char Query[1024];
@ -4712,7 +4712,7 @@ char *Act_GetActionTextFromDB (long ActCod,
/***** Get text *****/
row = mysql_fetch_row (mysql_res);
Str_Copy (ActTxt,row[0],
Act_MAX_LENGTH_ACTION_TXT);
Act_MAX_BYTES_ACTION_TXT);
}
else // ActCod-Language not found on database
ActTxt[0] = '\0';
@ -4951,7 +4951,7 @@ void Act_LinkFormSubmitAnimated (const char *Title,const char *LinkStyle,
/***************************** Get unique Id *********************************/
/*****************************************************************************/
void Act_SetUniqueId (char UniqueId[Act_MAX_LENGTH_ID])
void Act_SetUniqueId (char UniqueId[Act_MAX_BYTES_ID])
{
static unsigned CountForThisExecution = 0;

View File

@ -37,7 +37,8 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Act_MAX_LENGTH_ACTION_TXT 255
#define Act_MAX_CHARS_ACTION_TXT (256 - 1)
#define Act_MAX_BYTES_ACTION_TXT Act_MAX_CHARS_ACTION_TXT
typedef enum
{
@ -61,7 +62,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 12
#define Act_MAX_LENGTH_ID (32 + Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 10 + 1)
#define Act_MAX_BYTES_ID (32 + Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 10 + 1)
/*****************************************************************************/
/************************* Not asociates with tabs ***************************/
@ -1545,7 +1546,7 @@ bool Act_CheckIfIHavePermissionToExecuteAction (Act_Action_t Action);
const char *Act_GetTitleAction (Act_Action_t Action);
const char *Act_GetSubtitleAction (Act_Action_t Action);
char *Act_GetActionTextFromDB (long ActCod,
char ActTxt[Act_MAX_LENGTH_ACTION_TXT + 1]);
char ActTxt[Act_MAX_BYTES_ACTION_TXT + 1]);
void Act_FormGoToStart (Act_Action_t NextAction);
void Act_FormStart (Act_Action_t NextAction);
@ -1565,7 +1566,7 @@ void Act_LinkFormSubmitId (const char *Title,const char *LinkStyle,
void Act_LinkFormSubmitAnimated (const char *Title,const char *LinkStyle,
const char *OnSubmit);
void Act_SetUniqueId (char UniqueId[Act_MAX_LENGTH_ID]);
void Act_SetUniqueId (char UniqueId[Act_MAX_BYTES_ID]);
void Act_AdjustActionWhenNoUsrLogged (void);
void Act_AdjustCurrentAction (void);

View File

@ -505,7 +505,7 @@ static void Agd_PutIconToViewEditMyFullAgenda (void)
static void Agd_PutIconToShowQR (void)
{
char URL[Cns_MAX_LENGTH_WWW + 1];
char URL[Cns_MAX_BYTES_WWW + 1];
extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES];
sprintf (URL,"%s/%s?agd=@%s",
@ -946,11 +946,11 @@ static void Agd_GetDataOfEventByCod (struct AgendaEvent *AgdEvent)
/* Get the event (row[7]) */
Str_Copy (AgdEvent->Event,row[7],
Agd_MAX_LENGTH_EVENT);
Agd_MAX_BYTES_EVENT);
/* Get the event (row[8]) */
Str_Copy (AgdEvent->Location,row[8],
Agd_MAX_LENGTH_LOCATION);
Agd_MAX_BYTES_LOCATION);
}
else
{
@ -1322,7 +1322,7 @@ void Agd_RequestCreatOrEditEvent (void)
"</tr>",
The_ClassForm[Gbl.Prefs.Theme],
Txt_Event,
Agd_MAX_LENGTH_EVENT,AgdEvent.Event);
Agd_MAX_CHARS_EVENT,AgdEvent.Event);
/***** Location *****/
fprintf (Gbl.F.Out,"<tr>"
@ -1337,7 +1337,7 @@ void Agd_RequestCreatOrEditEvent (void)
"</tr>",
The_ClassForm[Gbl.Prefs.Theme],
Txt_Location,
Agd_MAX_LENGTH_LOCATION,AgdEvent.Location);
Agd_MAX_CHARS_LOCATION,AgdEvent.Location);
/***** Start and end dates *****/
Dat_PutFormStartEndClientLocalDateTimes (AgdEvent.TimeUTC,
@ -1396,10 +1396,10 @@ void Agd_RecFormEvent (void)
AgdEvent.TimeUTC[Agd_END_TIME ] = Dat_GetTimeUTCFromForm ("EndTimeUTC" );
/***** Get event *****/
Par_GetParToText ("Location",AgdEvent.Location,Agd_MAX_LENGTH_LOCATION);
Par_GetParToText ("Location",AgdEvent.Location,Agd_MAX_BYTES_LOCATION);
/***** Get event *****/
Par_GetParToText ("Event",AgdEvent.Event,Agd_MAX_LENGTH_EVENT);
Par_GetParToText ("Event",AgdEvent.Event,Agd_MAX_BYTES_EVENT);
/***** Get text *****/
Par_GetParToHTML ("Txt",Txt,Cns_MAX_BYTES_TEXT); // Store in HTML format (not rigorous)
@ -1471,7 +1471,7 @@ void Agd_RecFormEvent (void)
static bool Agd_CheckIfSimilarEventExists (struct AgendaEvent *AgdEvent)
{
char Query[256 + Agd_MAX_LENGTH_EVENT];
char Query[256 + Agd_MAX_BYTES_EVENT];
/***** Get number of events with a field value from database *****/
sprintf (Query,"SELECT COUNT(*) FROM agendas"

View File

@ -34,8 +34,11 @@
/************************** Public types and constants ***********************/
/*****************************************************************************/
#define Agd_MAX_LENGTH_LOCATION (256-1)
#define Agd_MAX_LENGTH_EVENT (256-1)
#define Agd_MAX_CHARS_LOCATION (256 - 1)
#define Agd_MAX_BYTES_LOCATION (Agd_MAX_CHARS_LOCATION * Str_MAX_BYTES_PER_CHAR)
#define Agd_MAX_CHARS_EVENT (256 - 1)
#define Agd_MAX_BYTES_EVENT (Agd_MAX_CHARS_EVENT * Str_MAX_BYTES_PER_CHAR)
#define Agd_NUM_DATES 2
typedef enum
@ -52,8 +55,8 @@ struct AgendaEvent
bool Hidden;
time_t TimeUTC[Agd_NUM_DATES];
Dat_TimeStatus_t TimeStatus;
char Event[Agd_MAX_LENGTH_EVENT + 1];
char Location[Agd_MAX_LENGTH_LOCATION + 1];
char Event[Agd_MAX_BYTES_EVENT + 1];
char Location[Agd_MAX_BYTES_LOCATION + 1];
};
typedef enum

View File

@ -739,11 +739,11 @@ static void Asg_GetDataOfAssignment (struct Assignment *Asg,const char *Query)
/* Get the title of the assignment (row[6]) */
Str_Copy (Asg->Title,row[6],
Asg_MAX_LENGTH_ASSIGNMENT_TITLE);
Asg_MAX_CHARS_ASSIGNMENT_TITLE);
/* Get the folder for the assignment files (row[7]) */
Str_Copy (Asg->Folder,row[7],
Asg_MAX_LENGTH_FOLDER);
Asg_MAX_BYTES_FOLDER);
Asg->SendWork = (Asg->Folder[0] != '\0');
/* Can I do this assignment? */
@ -1135,7 +1135,7 @@ void Asg_RequestCreatOrEditAsg (void)
"</td>"
"</tr>",
The_ClassForm[Gbl.Prefs.Theme],Txt_Title,
Asg_MAX_LENGTH_ASSIGNMENT_TITLE,Asg.Title);
Asg_MAX_CHARS_ASSIGNMENT_TITLE,Asg.Title);
/***** Assignment start and end dates *****/
Dat_PutFormStartEndClientLocalDateTimes (Asg.TimeUTC,Dat_FORM_SECONDS_ON);
@ -1155,7 +1155,7 @@ void Asg_RequestCreatOrEditAsg (void)
The_ClassForm[Gbl.Prefs.Theme],
Txt_Upload_files_QUESTION,
Txt_Folder,
Asg_MAX_LENGTH_FOLDER,Asg_MAX_LENGTH_FOLDER,Asg.Folder);
Asg_MAX_CHARS_FOLDER,Asg_MAX_CHARS_FOLDER,Asg.Folder);
/***** Assignment text *****/
fprintf (Gbl.F.Out,"<tr>"
@ -1285,10 +1285,10 @@ void Asg_RecFormAssignment (void)
NewAsg.TimeUTC[Dat_END_TIME ] = Dat_GetTimeUTCFromForm ("EndTimeUTC" );
/***** Get assignment title *****/
Par_GetParToText ("Title",NewAsg.Title,Asg_MAX_LENGTH_ASSIGNMENT_TITLE);
Par_GetParToText ("Title",NewAsg.Title,Asg_MAX_BYTES_ASSIGNMENT_TITLE);
/***** Get folder name where to send works of the assignment *****/
Par_GetParToText ("Folder",NewAsg.Folder,Asg_MAX_LENGTH_FOLDER);
Par_GetParToText ("Folder",NewAsg.Folder,Asg_MAX_BYTES_FOLDER);
NewAsg.SendWork = (NewAsg.Folder[0]) ? Asg_SEND_WORK :
Asg_DO_NOT_SEND_WORK;

View File

@ -34,9 +34,11 @@
/************************** Public types and constants ***********************/
/*****************************************************************************/
#define Asg_MAX_LENGTH_ASSIGNMENT_TITLE (256-1)
#define Asg_MAX_CHARS_ASSIGNMENT_TITLE (256 - 1)
#define Asg_MAX_BYTES_ASSIGNMENT_TITLE (Asg_MAX_CHARS_ASSIGNMENT_TITLE * Str_MAX_BYTES_PER_CHAR)
#define Asg_MAX_LENGTH_FOLDER 32
#define Asg_MAX_CHARS_FOLDER 32
#define Asg_MAX_BYTES_FOLDER Asg_MAX_CHARS_FOLDER
#define Asg_NUM_TYPES_SEND_WORK 2
typedef enum
@ -52,9 +54,9 @@ struct Assignment
long UsrCod;
time_t TimeUTC[Dat_NUM_START_END_TIME];
bool Open;
char Title[Asg_MAX_LENGTH_ASSIGNMENT_TITLE + 1];
char Title[Asg_MAX_BYTES_ASSIGNMENT_TITLE + 1];
Asg_SendWork_t SendWork;
char Folder[Asg_MAX_LENGTH_FOLDER + 1];
char Folder[Asg_MAX_BYTES_FOLDER + 1];
bool IBelongToCrsOrGrps; // I can do this assignment
// (it is associated to no groups
// or, if associated to groups,

View File

@ -748,7 +748,7 @@ bool Att_GetDataOfAttEventByCod (struct AttendanceEvent *Att)
/* Get the title of the attendance event (row[8]) */
Str_Copy (Att->Title,row[8],
Att_MAX_LENGTH_ATTENDANCE_EVENT_TITLE);
Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE);
}
/***** Free structure that stores the query result *****/
@ -1103,7 +1103,7 @@ void Att_RequestCreatOrEditAttEvent (void)
"</td>"
"</tr>",
The_ClassForm[Gbl.Prefs.Theme],Txt_Title,
Att_MAX_LENGTH_ATTENDANCE_EVENT_TITLE,Att.Title);
Att_MAX_CHARS_ATTENDANCE_EVENT_TITLE,Att.Title);
/***** Assignment start and end dates *****/
Dat_PutFormStartEndClientLocalDateTimes (Att.TimeUTC,Dat_FORM_SECONDS_ON);
@ -1256,7 +1256,7 @@ void Att_RecFormAttEvent (void)
ReceivedAtt.CommentTchVisible = Par_GetParToBool ("ComTchVisible");
/***** Get attendance event title *****/
Par_GetParToText ("Title",ReceivedAtt.Title,Att_MAX_LENGTH_ATTENDANCE_EVENT_TITLE);
Par_GetParToText ("Title",ReceivedAtt.Title,Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE);
/***** Get attendance event text *****/
Par_GetParToHTML ("Txt",Txt,Cns_MAX_BYTES_TEXT); // Store in HTML format (not rigorous)
@ -2269,7 +2269,7 @@ void Att_RegisterStudentsInAttEvent (void)
Ptr = Gbl.Usrs.Select.Std;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrData.EncryptedUsrCod,Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrData.EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&UsrData);
if (UsrData.UsrCod > 0) // Student exists in database
/***** Mark student to not be removed *****/
@ -2821,7 +2821,7 @@ static void Att_GetListSelectedUsrCods (unsigned NumStdsInList,long **LstSelecte
NumStd < NumStdsInList && *Ptr;
NumStd++)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&UsrDat);
(*LstSelectedUsrCods)[NumStd] = UsrDat.UsrCod;
}

View File

@ -34,7 +34,8 @@
/************************** Public types and constants ***********************/
/*****************************************************************************/
#define Att_MAX_LENGTH_ATTENDANCE_EVENT_TITLE (256-1)
#define Att_MAX_CHARS_ATTENDANCE_EVENT_TITLE (256 - 1)
#define Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE (Att_MAX_CHARS_ATTENDANCE_EVENT_TITLE * Str_MAX_BYTES_PER_CHAR)
#define Att_NUM_DATES 2
typedef enum
@ -52,7 +53,7 @@ struct AttendanceEvent
long UsrCod;
time_t TimeUTC[Att_NUM_DATES];
bool Open;
char Title[Att_MAX_LENGTH_ATTENDANCE_EVENT_TITLE + 1];
char Title[Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE + 1];
bool CommentTchVisible;
/* Fields computed, not associated to the event in database */

View File

@ -205,19 +205,19 @@ static void Ban_GetListBanners (const char *Query)
/* Get the short name of the banner (row[2]) */
Str_Copy (Ban->ShrtName,row[2],
Ban_MAX_LENGTH_SHRT_NAME);
Ban_MAX_BYTES_SHRT_NAME);
/* Get the full name of the banner (row[3]) */
Str_Copy (Ban->FullName,row[3],
Ban_MAX_LENGTH_FULL_NAME);
Ban_MAX_BYTES_FULL_NAME);
/* Get the image of the banner (row[4]) */
Str_Copy (Ban->Img,row[4],
Ban_MAX_LENGTH_IMAGE);
Ban_MAX_BYTES_IMAGE);
/* Get the URL of the banner (row[5]) */
Str_Copy (Ban->WWW,row[5],
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
}
}
else
@ -262,19 +262,19 @@ void Ban_GetDataOfBannerByCod (struct Banner *Ban)
/* Get the short name of the banner (row[1]) */
Str_Copy (Ban->ShrtName,row[1],
Ban_MAX_LENGTH_SHRT_NAME);
Ban_MAX_BYTES_SHRT_NAME);
/* Get the full name of the banner (row[2]) */
Str_Copy (Ban->FullName,row[2],
Ban_MAX_LENGTH_FULL_NAME);
Ban_MAX_BYTES_FULL_NAME);
/* Get the image of the banner (row[3]) */
Str_Copy (Ban->Img,row[3],
Ban_MAX_LENGTH_IMAGE);
Ban_MAX_BYTES_IMAGE);
/* Get the URL of the banner (row[4]) */
Str_Copy (Ban->WWW,row[4],
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
}
/***** Free structure that stores the query result *****/
@ -364,7 +364,7 @@ static void Ban_ListBannersForEdition (void)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Ban_MAX_LENGTH_SHRT_NAME,Ban->ShrtName,Gbl.Form.Id);
Ban_MAX_CHARS_SHRT_NAME,Ban->ShrtName,Gbl.Form.Id);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>");
@ -376,7 +376,7 @@ static void Ban_ListBannersForEdition (void)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Ban_MAX_LENGTH_FULL_NAME,Ban->FullName,Gbl.Form.Id);
Ban_MAX_CHARS_FULL_NAME,Ban->FullName,Gbl.Form.Id);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>");
@ -387,7 +387,7 @@ static void Ban_ListBannersForEdition (void)
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"Img\""
" size=\"12\" maxlength=\"%u\" value=\"%s\""
" onchange=\"document.getElementById('%s').submit();\" />",
Ban_MAX_LENGTH_IMAGE,Ban->Img,Gbl.Form.Id);
Ban_MAX_CHARS_IMAGE,Ban->Img,Gbl.Form.Id);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>");
@ -399,7 +399,7 @@ static void Ban_ListBannersForEdition (void)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_WWW\""
" onchange=\"document.getElementById('%s').submit();\" />",
Cns_MAX_LENGTH_WWW,Ban->WWW,Gbl.Form.Id);
Cns_MAX_CHARS_WWW,Ban->WWW,Gbl.Form.Id);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>"
"</tr>");
@ -548,9 +548,9 @@ static void Ban_RenameBanner (Cns_ShrtOrFullName_t ShrtOrFullName)
struct Banner *Ban;
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 *CurrentBanName = NULL; // Initialized to avoid warning
char NewBanName[Ban_MAX_LENGTH_FULL_NAME + 1];
char NewBanName[Ban_MAX_BYTES_FULL_NAME + 1];
Ban = &Gbl.Banners.EditingBan;
switch (ShrtOrFullName)
@ -558,13 +558,13 @@ static void Ban_RenameBanner (Cns_ShrtOrFullName_t ShrtOrFullName)
case Cns_SHRT_NAME:
ParamName = "ShortName";
FieldName = "ShortName";
MaxLength = Ban_MAX_LENGTH_SHRT_NAME;
MaxBytes = Ban_MAX_BYTES_SHRT_NAME;
CurrentBanName = Ban->ShrtName;
break;
case Cns_FULL_NAME:
ParamName = "FullName";
FieldName = "FullName";
MaxLength = Ban_MAX_LENGTH_FULL_NAME;
MaxBytes = Ban_MAX_BYTES_FULL_NAME;
CurrentBanName = Ban->FullName;
break;
}
@ -575,7 +575,7 @@ static void Ban_RenameBanner (Cns_ShrtOrFullName_t ShrtOrFullName)
Lay_ShowErrorAndExit ("Code of banner is missing.");
/* Get the new name for the banner */
Par_GetParToText (ParamName,NewBanName,MaxLength);
Par_GetParToText (ParamName,NewBanName,MaxBytes);
/***** Get from the database the old names of the banner *****/
Ban_GetDataOfBannerByCod (Ban);
@ -622,7 +622,7 @@ static void Ban_RenameBanner (Cns_ShrtOrFullName_t ShrtOrFullName)
/***** Show the form again *****/
Str_Copy (CurrentBanName,NewBanName,
MaxLength);
MaxBytes);
Ban_EditBanners ();
}
@ -650,8 +650,8 @@ void Ban_ChangeBannerImg (void)
extern const char *Txt_The_new_image_is_X;
extern const char *Txt_You_can_not_leave_the_image_empty;
struct Banner *Ban;
char Query[256 + Ban_MAX_LENGTH_IMAGE];
char NewImg[Ban_MAX_LENGTH_IMAGE + 1];
char Query[256 + Ban_MAX_BYTES_IMAGE];
char NewImg[Ban_MAX_BYTES_IMAGE + 1];
Ban = &Gbl.Banners.EditingBan;
@ -661,7 +661,7 @@ void Ban_ChangeBannerImg (void)
Lay_ShowErrorAndExit ("Code of banner is missing.");
/* Get the new WWW for the banner */
Par_GetParToText ("Img",NewImg,Ban_MAX_LENGTH_IMAGE);
Par_GetParToText ("Img",NewImg,Ban_MAX_BYTES_IMAGE);
/***** Check if new image is empty *****/
if (NewImg[0])
@ -681,7 +681,7 @@ void Ban_ChangeBannerImg (void)
/***** Show the form again *****/
Str_Copy (Ban->Img,NewImg,
Ban_MAX_LENGTH_IMAGE);
Ban_MAX_BYTES_IMAGE);
Ban_EditBanners ();
}
@ -695,8 +695,8 @@ void Ban_ChangeBannerWWW (void)
extern const char *Txt_The_new_web_address_is_X;
extern const char *Txt_You_can_not_leave_the_web_address_empty;
struct Banner *Ban;
char Query[256 + Cns_MAX_LENGTH_WWW];
char NewWWW[Cns_MAX_LENGTH_WWW + 1];
char Query[256 + Cns_MAX_BYTES_WWW];
char NewWWW[Cns_MAX_BYTES_WWW + 1];
Ban = &Gbl.Banners.EditingBan;
@ -706,7 +706,7 @@ void Ban_ChangeBannerWWW (void)
Lay_ShowErrorAndExit ("Code of banner is missing.");
/* Get the new WWW for the banner */
Par_GetParToText ("WWW",NewWWW,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("WWW",NewWWW,Cns_MAX_BYTES_WWW);
/***** Check if new WWW is empty *****/
if (NewWWW[0])
@ -726,7 +726,7 @@ void Ban_ChangeBannerWWW (void)
/***** Show the form again *****/
Str_Copy (Ban->WWW,NewWWW,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
Ban_EditBanners ();
}
@ -767,7 +767,7 @@ static void Ban_PutFormToCreateBanner (void)
" class=\"INPUT_SHORT_NAME\""
" required=\"required\" />"
"</td>",
Ban_MAX_LENGTH_SHRT_NAME,Ban->ShrtName);
Ban_MAX_CHARS_SHRT_NAME,Ban->ShrtName);
/***** Banner full name *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
@ -776,7 +776,7 @@ static void Ban_PutFormToCreateBanner (void)
" class=\"INPUT_FULL_NAME\""
" required=\"required\" />"
"</td>",
Ban_MAX_LENGTH_FULL_NAME,Ban->FullName);
Ban_MAX_CHARS_FULL_NAME,Ban->FullName);
/***** Banner image *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
@ -784,7 +784,7 @@ static void Ban_PutFormToCreateBanner (void)
" size=\"12\" maxlength=\"%u\" value=\"%s\""
" required=\"required\" />"
"</td>",
Ban_MAX_LENGTH_IMAGE,Ban->Img);
Ban_MAX_CHARS_IMAGE,Ban->Img);
/***** Banner WWW *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
@ -794,7 +794,7 @@ static void Ban_PutFormToCreateBanner (void)
" required=\"required\" />"
"</td>"
"</tr>",
Cns_MAX_LENGTH_WWW,Ban->WWW);
Cns_MAX_CHARS_WWW,Ban->WWW);
/***** Send button and end frame *****/
Lay_EndRoundFrameTableWithButton (Lay_CREATE_BUTTON,Txt_Create_banner);
@ -847,16 +847,16 @@ void Ban_RecFormNewBanner (void)
/***** Get parameters from form *****/
/* Get banner short name */
Par_GetParToText ("ShortName",Ban->ShrtName,Ban_MAX_LENGTH_SHRT_NAME);
Par_GetParToText ("ShortName",Ban->ShrtName,Ban_MAX_BYTES_SHRT_NAME);
/* Get banner full name */
Par_GetParToText ("FullName",Ban->FullName,Ban_MAX_LENGTH_FULL_NAME);
Par_GetParToText ("FullName",Ban->FullName,Ban_MAX_BYTES_FULL_NAME);
/* Get banner image */
Par_GetParToText ("Img",Ban->Img,Ban_MAX_LENGTH_IMAGE);
Par_GetParToText ("Img",Ban->Img,Ban_MAX_BYTES_IMAGE);
/* Get banner URL */
Par_GetParToText ("WWW",Ban->WWW,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("WWW",Ban->WWW,Cns_MAX_BYTES_WWW);
if (Ban->ShrtName[0] && Ban->FullName[0]) // If there's a banner name
{
@ -894,7 +894,7 @@ void Ban_RecFormNewBanner (void)
static void Ban_CreateBanner (struct Banner *Ban)
{
extern const char *Txt_Created_new_banner_X;
char Query[256 + Ban_MAX_LENGTH_SHRT_NAME + Ban_MAX_LENGTH_FULL_NAME + Ban_MAX_LENGTH_IMAGE + Cns_MAX_LENGTH_WWW];
char Query[256 + Ban_MAX_BYTES_SHRT_NAME + Ban_MAX_BYTES_FULL_NAME + Ban_MAX_BYTES_IMAGE + Cns_MAX_BYTES_WWW];
/***** Create a new banner *****/
sprintf (Query,"INSERT INTO banners (Hidden,ShortName,FullName,Img,WWW)"

View File

@ -33,18 +33,23 @@
/************************** Public types and constants ***********************/
/*****************************************************************************/
#define Ban_MAX_LENGTH_SHRT_NAME 32
#define Ban_MAX_LENGTH_FULL_NAME 127
#define Ban_MAX_LENGTH_IMAGE 255
#define Ban_MAX_CHARS_SHRT_NAME 32
#define Ban_MAX_BYTES_SHRT_NAME (Ban_MAX_CHARS_SHRT_NAME * Str_MAX_BYTES_PER_CHAR)
#define Ban_MAX_CHARS_FULL_NAME (128 - 1)
#define Ban_MAX_BYTES_FULL_NAME (Ban_MAX_CHARS_FULL_NAME * Str_MAX_BYTES_PER_CHAR)
#define Ban_MAX_CHARS_IMAGE (256 - 1)
#define Ban_MAX_BYTES_IMAGE Ban_MAX_CHARS_IMAGE
struct Banner
{
long BanCod;
bool Hidden;
char ShrtName[Ban_MAX_LENGTH_SHRT_NAME + 1];
char FullName[Ban_MAX_LENGTH_FULL_NAME + 1];
char Img[Ban_MAX_LENGTH_IMAGE + 1];
char WWW[Cns_MAX_LENGTH_WWW + 1];
char ShrtName[Ban_MAX_BYTES_SHRT_NAME + 1];
char FullName[Ban_MAX_BYTES_FULL_NAME + 1];
char Img[Ban_MAX_BYTES_IMAGE + 1];
char WWW[Cns_MAX_BYTES_WWW + 1];
};
/*****************************************************************************/

View File

@ -99,7 +99,7 @@ static void Ctr_UpdateCtrInsDB (long CtrCod,long InsCod);
static void Ctr_RenameCentre (struct Centre *Ctr,Cns_ShrtOrFullName_t ShrtOrFullName);
static bool Ctr_CheckIfCtrNameExistsInIns (const char *FieldName,const char *Name,long CtrCod,long InsCod);
static void Ctr_UpdateCtrWWWDB (long CtrCod,
const char NewWWW[Cns_MAX_LENGTH_WWW + 1]);
const char NewWWW[Cns_MAX_BYTES_WWW + 1]);
static void Ctr_PutButtonToGoToCtr (struct Centre *Ctr);
static void Ctr_PutFormToCreateCentre (void);
@ -494,7 +494,7 @@ static void Ctr_Configuration (bool PrintView)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_WWW\""
" onchange=\"document.getElementById('%s').submit();\" />",
Cns_MAX_LENGTH_WWW,
Cns_MAX_CHARS_WWW,
Gbl.CurrentCtr.Ctr.WWW,
Gbl.Form.Id);
Act_FormEnd ();
@ -1044,7 +1044,7 @@ void Ctr_GetListCentres (long InsCod)
/* Get the URL of the centre (row[7]) */
Str_Copy (Ctr->WWW,row[7],
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
/* Get number of users who claim to belong to this centre (row[8]) */
if (sscanf (row[8],"%u",&Ctr->NumUsrsWhoClaimToBelongToCtr) != 1)
@ -1142,7 +1142,7 @@ bool Ctr_GetDataOfCentreByCod (struct Centre *Ctr)
/* Get the URL of the centre (row[6]) */
Str_Copy (Ctr->WWW,row[6],
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
/* Get number of users who claim to belong to this centre (row[7]) */
if (sscanf (row[7],"%u",&Ctr->NumUsrsWhoClaimToBelongToCtr) != 1)
@ -1375,7 +1375,7 @@ static void Ctr_ListCentresForEdition (void)
unsigned NumCtr;
struct Centre *Ctr;
unsigned NumPlc;
char WWW[Cns_MAX_LENGTH_WWW + 1];
char WWW[Cns_MAX_BYTES_WWW + 1];
struct UsrData UsrDat;
bool ICanEdit;
Ctr_StatusTxt_t StatusTxt;
@ -1506,13 +1506,13 @@ static void Ctr_ListCentresForEdition (void)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_WWW\""
" onchange=\"document.getElementById('%s').submit();\" />",
Cns_MAX_LENGTH_WWW,Ctr->WWW,Gbl.Form.Id);
Cns_MAX_CHARS_WWW,Ctr->WWW,Gbl.Form.Id);
Act_FormEnd ();
}
else
{
Str_Copy (WWW,Ctr->WWW,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_SHORT\">"
"<a href=\"%s\" target=\"_blank\""
" class=\"DAT\" title=\"%s\">"
@ -1979,7 +1979,7 @@ void Ctr_ChangeCtrWWW (void)
extern const char *Txt_The_new_web_address_is_X;
extern const char *Txt_You_can_not_leave_the_web_address_empty;
struct Centre *Ctr;
char NewWWW[Cns_MAX_LENGTH_WWW + 1];
char NewWWW[Cns_MAX_BYTES_WWW + 1];
Ctr = &Gbl.Ctrs.EditingCtr;
@ -1988,7 +1988,7 @@ void Ctr_ChangeCtrWWW (void)
Ctr->CtrCod = Ctr_GetAndCheckParamOtherCtrCod ();
/* Get the new WWW for the centre */
Par_GetParToText ("WWW",NewWWW,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("WWW",NewWWW,Cns_MAX_BYTES_WWW);
/***** Get data of centre *****/
Ctr_GetDataOfCentreByCod (Ctr);
@ -2000,7 +2000,7 @@ void Ctr_ChangeCtrWWW (void)
Ctr_UpdateCtrWWWDB (Ctr->CtrCod,NewWWW);
Str_Copy (Ctr->WWW,NewWWW,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
/***** Write message to show the change made *****/
sprintf (Gbl.Message,Txt_The_new_web_address_is_X,NewWWW);
@ -2020,11 +2020,11 @@ void Ctr_ChangeCtrWWWInConfig (void)
{
extern const char *Txt_The_new_web_address_is_X;
extern const char *Txt_You_can_not_leave_the_web_address_empty;
char NewWWW[Cns_MAX_LENGTH_WWW + 1];
char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Get parameters from form *****/
/* Get the new WWW for the centre */
Par_GetParToText ("WWW",NewWWW,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("WWW",NewWWW,Cns_MAX_BYTES_WWW);
/***** Check if new WWW is empty *****/
if (NewWWW[0])
@ -2032,7 +2032,7 @@ void Ctr_ChangeCtrWWWInConfig (void)
/***** Update database changing old WWW by new WWW *****/
Ctr_UpdateCtrWWWDB (Gbl.CurrentCtr.Ctr.CtrCod,NewWWW);
Str_Copy (Gbl.CurrentCtr.Ctr.WWW,NewWWW,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
/***** Write message to show the change made *****/
sprintf (Gbl.Message,Txt_The_new_web_address_is_X,NewWWW);
@ -2050,9 +2050,9 @@ void Ctr_ChangeCtrWWWInConfig (void)
/*****************************************************************************/
static void Ctr_UpdateCtrWWWDB (long CtrCod,
const char NewWWW[Cns_MAX_LENGTH_WWW + 1])
const char NewWWW[Cns_MAX_BYTES_WWW + 1])
{
char Query[256 + Cns_MAX_LENGTH_WWW];
char Query[256 + Cns_MAX_BYTES_WWW];
/***** Update database changing old WWW by new WWW *****/
sprintf (Query,"UPDATE centres SET WWW='%s' WHERE CtrCod='%ld'",
@ -2461,7 +2461,7 @@ static void Ctr_PutFormToCreateCentre (void)
" class=\"INPUT_WWW\""
" required=\"required\" />"
"</td>",
Cns_MAX_LENGTH_WWW,Ctr->WWW);
Cns_MAX_CHARS_WWW,Ctr->WWW);
/***** Number of users who claim to belong to this centre *****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
@ -2677,7 +2677,7 @@ static void Ctr_RecFormRequestOrCreateCtr (unsigned Status)
Par_GetParToText ("FullName",Ctr->FullName,Ctr_MAX_LENGTH_CENTRE_FULL_NAME);
/* Get centre WWW */
Par_GetParToText ("WWW",Ctr->WWW,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("WWW",Ctr->WWW,Cns_MAX_BYTES_WWW);
if (Ctr->ShrtName[0] && Ctr->FullName[0]) // If there's a centre name
{
@ -2725,7 +2725,7 @@ static void Ctr_CreateCentre (struct Centre *Ctr,unsigned Status)
char Query[512 +
Ctr_MAX_LENGTH_CENTRE_SHRT_NAME +
Ctr_MAX_LENGTH_CENTRE_FULL_NAME +
Cns_MAX_LENGTH_WWW];
Cns_MAX_BYTES_WWW];
/***** Create a new centre *****/
sprintf (Query,"INSERT INTO centres (InsCod,PlcCod,Status,RequesterUsrCod,"

View File

@ -70,7 +70,7 @@ struct Centre
long RequesterUsrCod; // User code of the person who requested the creation of this centre
char ShrtName[Ctr_MAX_LENGTH_CENTRE_SHRT_NAME + 1];
char FullName[Ctr_MAX_LENGTH_CENTRE_FULL_NAME + 1];
char WWW[Cns_MAX_LENGTH_WWW + 1];
char WWW[Cns_MAX_BYTES_WWW + 1];
unsigned NumUsrsWhoClaimToBelongToCtr; // Number of users who claim to belong in this centre
struct ListDegrees Degs; // List of degrees in this centre
unsigned NumCrss; // Number of courses in this centre

View File

@ -193,6 +193,8 @@
// TODO: System admin should view link "Visits to course"
// TODO: Un administrador de institución, ¿debería poder cambiar la contraseña de un usuario de esa institución? No lo tengo claro.
// TODO: Add a '+' icon in list of forum thread to add a new thread.
// TODO: Subject in forum_post should be VARCHAR(255) in order to be copied directly to SummaryStr
// TODO: Add a Subject (VARCHAR(255)) to notices to be used as SummaryStr
// TODO: Subject in msg_content and msg_content_deleted should be VARCHAR(255) in order to be copied directly to SummaryStr
@ -202,13 +204,14 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.148 (2017-03-06)"
#define Log_PLATFORM_VERSION "SWAD 16.149 (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.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)
Version 16.147.11:Mar 06, 2017 Changes in names of zipped files. (216388 lines)
Version 16.147.10:Mar 06, 2017 Changes in layout of users' listing. (216394 lines)
@ -254,6 +257,8 @@
Version 16.142: Feb 27, 2017 Searches are registered anonymously. (213077 lines)
1 change necessary in database:
CREATE TABLE IF NOT EXISTS log_search (LogCod INT NOT NULL,SearchStr VARCHAR(255) NOT NULL,UNIQUE INDEX(LogCod));
If you prefer MyISAM tables:
ALTER TABLE log_search ENGINE=MyISAM;
Version 16.141.2: Feb 26, 2017 Search from top of page always uses system scope. (213039 lines)
Version 16.141.1: Feb 26, 2017 Fixed bug in range of dates. (213056 lines)

View File

@ -33,19 +33,21 @@
/***************************** Public constants ******************************/
/*****************************************************************************/
#define Cns_MAX_LENGTH_WWW (256 - 1) // Max. length of a URL
#define Cns_MAX_CHARS_WWW (256 - 1) // Max. number of chars of a URL
#define Cns_MAX_BYTES_WWW Cns_MAX_CHARS_WWW
#define Cns_MAX_LENGTH_IP (16 - 1) // Max. bytes of an IP address
#define Cns_MAX_LENGTH_DATE (4 + 1 + 2 + 1 + 2)
#define Cns_MAX_BYTES_DATE 19 // Examples: "20030614143857", "14/06/2003 14:38:57"
#define Cns_MAX_LENGTH_SUBJECT (256 - 1)
#define Cns_MAX_BYTES_SUBJECT (Cns_MAX_LENGTH_SUBJECT * Str_MAX_CHARACTER)
#define Cns_MAX_CHARS_SUBJECT (256 - 1)
#define Cns_MAX_BYTES_SUBJECT (Cns_MAX_CHARS_SUBJECT * Str_MAX_BYTES_PER_CHAR)
#define Cns_MAX_BYTES_SUMMARY_STRING (256 - 1)
#define Cns_MAX_CHARS_SUMMARY_STRING (256 - 1)
#define Cns_MAX_BYTES_SUMMARY_STRING (Cns_MAX_CHARS_SUMMARY_STRING * Str_MAX_BYTES_PER_CHAR)
#define Cns_MAX_BYTES_TEXT ( 64 * 1024 - 1) // Used for subjects and other medium texts
#define Cns_MAX_BYTES_TEXT ( 64 * 1024 - 1) // Used for medium texts
#define Cns_MAX_BYTES_LONG_TEXT (256 * 1024 - 1) // Used for big contents
#define Cns_MAX_LENGTH_STRING (128 - 1)

View File

@ -48,7 +48,7 @@ int main (void)
unsigned NumUsrs = 0;
unsigned i;
long UsrCod;
char UsrID[ID_MAX_LENGTH_USR_ID + 1];
char UsrID[ID_MAX_BYTES_USR_ID + 1];
char OldPathUsr[PATH_MAX + 1];
char Command[1024 + PATH_MAX * 2];
@ -97,7 +97,7 @@ int main (void)
if (row[1])
{
Str_Copy (UsrID,row[1],
ID_MAX_LENGTH_USR_ID); // UsrID
ID_MAX_BYTES_USR_ID); // UsrID
sprintf (OldPathUsr,"%s/%s_backup/%c/%s",
PATH_SWAD_PRIVATE,FOLDER_USR,UsrID[strlen (UsrID)-1],UsrID);
if (CheckIfPathExists (OldPathUsr))

View File

@ -49,7 +49,7 @@ int main (void)
unsigned NumPhotos = 0;
unsigned i;
long UsrCod;
char UsrID[ID_MAX_LENGTH_USR_ID + 1];
char UsrID[ID_MAX_BYTES_USR_ID + 1];
char OldPathPhoto[PATH_MAX + 1];
char Command[1024 + PATH_MAX * 2];
@ -98,7 +98,7 @@ int main (void)
if (row[1])
{
Str_Copy (UsrID,row[1],
ID_MAX_LENGTH_USR_ID); // UsrID
ID_MAX_BYTES_USR_ID); // UsrID
sprintf (OldPathPhoto,"%s/%s_backup/%s_original.jpg",
PATH_SWAD_PRIVATE,FOLDER_PHOTO,UsrID);
if (CheckIfPathExists (OldPathPhoto))

View File

@ -52,7 +52,7 @@ int main (void)
unsigned NumUsr;
long CrsCod;
long UsrCod;
char UsrID[ID_MAX_LENGTH_USR_ID + 1];
char UsrID[ID_MAX_BYTES_USR_ID + 1];
char OldPathUsrs[PATH_MAX + 1];
char OldPathUsr[PATH_MAX + 1];
char Path02u[PATH_MAX + 1];
@ -127,7 +127,7 @@ int main (void)
if (row[1])
{
Str_Copy (UsrID,row[1],
ID_MAX_LENGTH_USR_ID,62); // UsrID
ID_MAX_BYTES_USR_ID,62); // UsrID
sprintf (OldPathUsr,"%s_backup/%s",OldPathUsrs,UsrID);
if (CheckIfPathExists (OldPathUsr))
{

View File

@ -1110,7 +1110,7 @@ void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData)
Str_Copy (Cty->Name[Lan],row[1 + Lan],
Cty_MAX_BYTES_COUNTRY_NAME);
Str_Copy (Cty->WWW[Lan],row[1 + Txt_NUM_LANGUAGES + Lan],
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
}
/* Get number of users who claim to belong to this country */
@ -1213,7 +1213,7 @@ void Cty_WriteCountryName (long CtyCod,const char *ClassLink)
{
extern struct Act_Actions Act_Actions[Act_NUM_ACTIONS];
char CtyName[Cty_MAX_BYTES_COUNTRY_NAME + 1];
char ActTxt[Act_MAX_LENGTH_ACTION_TXT + 1];
char ActTxt[Act_MAX_BYTES_ACTION_TXT + 1];
bool PutForm = ClassLink &&
!Gbl.Form.Inside && // Only if not inside another form
Act_Actions[Gbl.Action.Act].BrowserWindow == Act_THIS_WINDOW; // Only in main window
@ -1357,7 +1357,7 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD
Str_Copy (Cty->Name[Gbl.Prefs.Language],row[1],
Cty_MAX_BYTES_COUNTRY_NAME);
Str_Copy (Cty->WWW[Gbl.Prefs.Language],row[2],
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
break;
case Cty_GET_EXTRA_DATA:
/* Get name and WWW of the country in several languages */
@ -1368,7 +1368,7 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD
Str_Copy (Cty->Name[Lan],row[Lan],
Cty_MAX_BYTES_COUNTRY_NAME);
Str_Copy (Cty->WWW[Lan],row[Txt_NUM_LANGUAGES + Lan],
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
}
/* Get number of users who claim to belong to this country */
@ -1618,7 +1618,7 @@ static void Cty_ListCountriesForEdition (void)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_WWW\""
" onchange=\"document.getElementById('%s').submit();\" />",
Cns_MAX_LENGTH_WWW,
Cns_MAX_CHARS_WWW,
Cty->WWW[Lan],Gbl.Form.Id);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>"
@ -1840,9 +1840,9 @@ void Cty_ChangeCtyWWW (void)
{
extern const char *Txt_The_new_web_address_is_X;
extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES];
char Query[256 + Cns_MAX_LENGTH_WWW];
char Query[256 + Cns_MAX_BYTES_WWW];
struct Country *Cty;
char NewWWW[Cns_MAX_LENGTH_WWW + 1];
char NewWWW[Cns_MAX_BYTES_WWW + 1];
Txt_Language_t Language;
Cty = &Gbl.Ctys.EditingCty;
@ -1872,7 +1872,7 @@ void Cty_ChangeCtyWWW (void)
/***** Show the form again *****/
Str_Copy (Cty->WWW[Language],NewWWW,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
Cty_EditCountries ();
}
@ -1994,7 +1994,7 @@ static void Cty_PutFormToCreateCountry (void)
"</td>"
"</tr>",
Txt_STR_LANG_ID[Lan],
Cns_MAX_LENGTH_WWW,
Cns_MAX_CHARS_WWW,
Cty->WWW[Lan]);
}
@ -2138,7 +2138,7 @@ void Cty_RecFormNewCountry (void)
}
sprintf (ParamName,"WWW_%s",Txt_STR_LANG_ID[Lan]);
Par_GetParToText (ParamName,Cty->WWW[Lan],Cns_MAX_LENGTH_WWW);
Par_GetParToText (ParamName,Cty->WWW[Lan],Cns_MAX_BYTES_WWW);
}
}
}
@ -2156,7 +2156,7 @@ void Cty_RecFormNewCountry (void)
/*****************************************************************************/
#define Cty_MAX_LENGTH_SUBQUERY_CTYS_NAME ((1 + Txt_NUM_LANGUAGES) * Cty_MAX_BYTES_COUNTRY_NAME)
#define Cty_MAX_LENGTH_SUBQUERY_CTYS_WWW ((1 + Txt_NUM_LANGUAGES) * Cns_MAX_LENGTH_WWW)
#define Cty_MAX_LENGTH_SUBQUERY_CTYS_WWW ((1 + Txt_NUM_LANGUAGES) * Cns_MAX_BYTES_WWW)
static void Cty_CreateCountry (struct Country *Cty)
{

View File

@ -47,7 +47,7 @@ struct Country
long CtyCod;
char Alpha2[2 + 1];
char Name[1 + Txt_NUM_LANGUAGES][Cty_MAX_BYTES_COUNTRY_NAME + 1];
char WWW [1 + Txt_NUM_LANGUAGES][Cns_MAX_LENGTH_WWW + 1];
char WWW [1 + Txt_NUM_LANGUAGES][Cns_MAX_BYTES_WWW + 1];
unsigned NumUsrsWhoClaimToBelongToCty;
unsigned NumInss;
unsigned NumCtrs;

View File

@ -537,7 +537,7 @@ static void Crs_WriteListMyCoursesToSelectOne (void)
unsigned NumDegs;
unsigned NumCrs;
unsigned NumCrss;
char ActTxt[Act_MAX_LENGTH_ACTION_TXT + 1];
char ActTxt[Act_MAX_BYTES_ACTION_TXT + 1];
const char *ClassNormal;
char ClassHighlight[64];

View File

@ -77,7 +77,7 @@ extern const char Str_BIN_TO_BASE64URL[64];
// Pointers to PlainText and EncryptedText can point to the same place
void Cry_EncryptSHA256Base64 (const char *PlainText,
char EncryptedText[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 1])
char EncryptedText[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1])
{
int i,j;
unsigned char digest256[SHA256_DIGEST_SIZE];
@ -103,7 +103,7 @@ void Cry_EncryptSHA256Base64 (const char *PlainText,
EncryptedText[j++] = Str_BIN_TO_BASE64URL [ (digest256[i + 2] & 0x3F) ];
}
}
EncryptedText[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64] = '\0';
EncryptedText[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64] = '\0';
}
/*****************************************************************************/
@ -143,7 +143,7 @@ void Cry_EncryptSHA512Base64 (const char *PlainText,
/*** Create a unique name encrypted, different each time function is called **/
/*****************************************************************************/
void Cry_CreateUniqueNameEncrypted (char UniqueNameEncrypted[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 1])
void Cry_CreateUniqueNameEncrypted (char UniqueNameEncrypted[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1])
{
static unsigned NumCall = 0; // When this function is called several times in the same execution of the program, each time a new name is created
char UniqueNamePlain[Cns_MAX_LENGTH_IP + 1 + 10 + 1 + 10 + 1 + 10 + 1];

View File

@ -27,7 +27,7 @@
/***************************** Public constants ******************************/
/*****************************************************************************/
#define Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 43 // 42,66 base-64 characters store 256 bits
#define Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 43 // 42,66 base-64 characters store 256 bits
#define Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64 86 // 85,33 base-64 characters store 512 bits
/*****************************************************************************/
@ -43,10 +43,10 @@
/*****************************************************************************/
void Cry_EncryptSHA256Base64 (const char *PlainText,
char EncryptedText[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 1]);
char EncryptedText[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1]);
void Cry_EncryptSHA512Base64 (const char *PlainText,
char EncryptedText[Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64 + 1]);
void Cry_CreateUniqueNameEncrypted (char UniqueNameEncrypted[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 1]);
void Cry_CreateUniqueNameEncrypted (char UniqueNameEncrypted[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1]);
#endif

View File

@ -107,7 +107,7 @@ static void Deg_GetDataOfDegreeFromRow (struct Degree *Deg,MYSQL_ROW row);
static void Deg_RenameDegree (struct Degree *Deg,Cns_ShrtOrFullName_t ShrtOrFullName);
static bool Deg_CheckIfDegNameExistsInCtr (const char *FieldName,const char *Name,long DegCod,long CtrCod);
static void Deg_UpdateDegCtrDB (long DegCod,long CtrCod);
static void Deg_UpdateDegWWWDB (long DegCod,const char NewWWW[Cns_MAX_LENGTH_WWW + 1]);
static void Deg_UpdateDegWWWDB (long DegCod,const char NewWWW[Cns_MAX_BYTES_WWW + 1]);
/*****************************************************************************/
/********** List pending institutions, centres, degrees and courses **********/
@ -451,7 +451,7 @@ static void Deg_Configuration (bool PrintView)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_WWW\""
" onchange=\"document.getElementById('%s').submit();\" />",
Cns_MAX_LENGTH_WWW,
Cns_MAX_CHARS_WWW,
Gbl.CurrentDeg.Deg.WWW,
Gbl.Form.Id);
Act_FormEnd ();
@ -685,7 +685,7 @@ static void Deg_ListDegreesForEdition (void)
struct DegreeType *DegTyp;
struct Degree *Deg;
unsigned NumDegTyp;
char WWW[Cns_MAX_LENGTH_WWW + 1];
char WWW[Cns_MAX_BYTES_WWW + 1];
struct UsrData UsrDat;
bool ICanEdit;
Deg_StatusTxt_t StatusTxt;
@ -814,13 +814,13 @@ static void Deg_ListDegreesForEdition (void)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_WWW\""
" onchange=\"document.getElementById('%s').submit();\" />",
Cns_MAX_LENGTH_WWW,Deg->WWW,Gbl.Form.Id);
Cns_MAX_CHARS_WWW,Deg->WWW,Gbl.Form.Id);
Act_FormEnd ();
}
else
{
Str_Copy (WWW,Deg->WWW,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_SHORT\">"
"<a href=\"%s\" target=\"_blank\""
" class=\"DAT\" title=\"%s\">"
@ -1023,7 +1023,7 @@ static void Deg_PutFormToCreateDegree (void)
" class=\"INPUT_WWW\""
" required=\"required\" />"
"</td>",
Cns_MAX_LENGTH_WWW,Deg->WWW);
Cns_MAX_CHARS_WWW,Deg->WWW);
/***** Current number of courses in this degree *****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
@ -1166,7 +1166,7 @@ static void Deg_CreateDegree (struct Degree *Deg,unsigned Status)
char Query[512 +
Deg_MAX_LENGTH_DEGREE_SHRT_NAME +
Deg_MAX_LENGTH_DEGREE_FULL_NAME +
Cns_MAX_LENGTH_WWW];
Cns_MAX_BYTES_WWW];
/***** Create a new degree *****/
sprintf (Query,"INSERT INTO degrees (CtrCod,DegTypCod,Status,"
@ -1551,7 +1551,7 @@ static void Deg_RecFormRequestOrCreateDeg (unsigned Status)
Lay_ShowAlert (Lay_ERROR,"Wrong type of degree.");
/* Get degree WWW */
Par_GetParToText ("WWW",Deg->WWW,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("WWW",Deg->WWW,Cns_MAX_BYTES_WWW);
if (Deg->ShrtName[0] && Deg->FullName[0]) // If there's a degree name
{
@ -1736,7 +1736,7 @@ static void Deg_GetDataOfDegreeFromRow (struct Degree *Deg,MYSQL_ROW row)
/***** Get WWW (row[7]) *****/
Str_Copy (Deg->WWW,row[7],
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
}
/*****************************************************************************/
@ -2113,7 +2113,7 @@ void Deg_ChangeDegWWW (void)
extern const char *Txt_The_new_web_address_is_X;
extern const char *Txt_You_can_not_leave_the_web_address_empty;
struct Degree *Deg;
char NewWWW[Cns_MAX_LENGTH_WWW + 1];
char NewWWW[Cns_MAX_BYTES_WWW + 1];
Deg = &Gbl.Degs.EditingDeg;
@ -2122,7 +2122,7 @@ void Deg_ChangeDegWWW (void)
Deg->DegCod = Deg_GetAndCheckParamOtherDegCod ();
/* Get the new WWW for the degree */
Par_GetParToText ("WWW",NewWWW,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("WWW",NewWWW,Cns_MAX_BYTES_WWW);
/***** Get data of degree *****/
Deg_GetDataOfDegreeByCod (Deg);
@ -2133,7 +2133,7 @@ void Deg_ChangeDegWWW (void)
/***** Update the table changing old WWW by new WWW *****/
Deg_UpdateDegWWWDB (Deg->DegCod,NewWWW);
Str_Copy (Deg->WWW,NewWWW,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
/***** Write message to show the change made *****/
sprintf (Gbl.Message,Txt_The_new_web_address_is_X,NewWWW);
@ -2153,11 +2153,11 @@ void Deg_ChangeDegWWWInConfig (void)
{
extern const char *Txt_The_new_web_address_is_X;
extern const char *Txt_You_can_not_leave_the_web_address_empty;
char NewWWW[Cns_MAX_LENGTH_WWW + 1];
char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Get parameters from form *****/
/* Get the new WWW for the degree */
Par_GetParToText ("WWW",NewWWW,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("WWW",NewWWW,Cns_MAX_BYTES_WWW);
/***** Check if new WWW is empty *****/
if (NewWWW[0])
@ -2165,7 +2165,7 @@ void Deg_ChangeDegWWWInConfig (void)
/***** Update the table changing old WWW by new WWW *****/
Deg_UpdateDegWWWDB (Gbl.CurrentDeg.Deg.DegCod,NewWWW);
Str_Copy (Gbl.CurrentDeg.Deg.WWW,NewWWW,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
/***** Write message to show the change made *****/
sprintf (Gbl.Message,Txt_The_new_web_address_is_X,NewWWW);
@ -2182,9 +2182,9 @@ void Deg_ChangeDegWWWInConfig (void)
/**************** Update database changing old WWW by new WWW ****************/
/*****************************************************************************/
static void Deg_UpdateDegWWWDB (long DegCod,const char NewWWW[Cns_MAX_LENGTH_WWW + 1])
static void Deg_UpdateDegWWWDB (long DegCod,const char NewWWW[Cns_MAX_BYTES_WWW + 1])
{
char Query[256 + Cns_MAX_LENGTH_WWW];
char Query[256 + Cns_MAX_BYTES_WWW];
/***** Update database changing old WWW by new WWW *****/
sprintf (Query,"UPDATE degrees SET WWW='%s' WHERE DegCod='%ld'",

View File

@ -75,7 +75,7 @@ struct Degree
long RequesterUsrCod; // User code of the person who requested the creation of this degree
char ShrtName[Deg_MAX_LENGTH_DEGREE_SHRT_NAME + 1]; // Short name of degree
char FullName[Deg_MAX_LENGTH_DEGREE_FULL_NAME + 1]; // Full name of degree
char WWW[Cns_MAX_LENGTH_WWW + 1];
char WWW[Cns_MAX_BYTES_WWW + 1];
struct Course *LstCrss; // List of courses in this degree
};

View File

@ -357,7 +357,7 @@ void Dpt_GetListDepartments (long InsCod)
/* Get the URL of the department (row[4]) */
Str_Copy (Dpt->WWW,row[4],
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
/* Get number of teachers in this department (row[5]) */
if (sscanf (row[5],"%u",&Dpt->NumTchs) != 1)
@ -435,7 +435,7 @@ void Dpt_GetDataOfDepartmentByCod (struct Department *Dpt)
/* Get the URL of the department (row[3]) */
Str_Copy (Dpt->WWW,row[3],
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
/* Get number of teachers in this department (row[4]) */
if (sscanf (row[4],"%u",&Dpt->NumTchs) != 1)
@ -583,7 +583,7 @@ static void Dpt_ListDepartmentsForEdition (void)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_WWW\""
" onchange=\"document.getElementById('%s').submit();\" />",
Cns_MAX_LENGTH_WWW,Dpt->WWW,Gbl.Form.Id);
Cns_MAX_CHARS_WWW,Dpt->WWW,Gbl.Form.Id);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>");
@ -820,8 +820,8 @@ void Dpt_ChangeDptWWW (void)
extern const char *Txt_The_new_web_address_is_X;
extern const char *Txt_You_can_not_leave_the_web_address_empty;
struct Department *Dpt;
char Query[256 + Cns_MAX_LENGTH_WWW];
char NewWWW[Cns_MAX_LENGTH_WWW + 1];
char Query[256 + Cns_MAX_BYTES_WWW];
char NewWWW[Cns_MAX_BYTES_WWW + 1];
Dpt = &Gbl.Dpts.EditingDpt;
@ -831,7 +831,7 @@ void Dpt_ChangeDptWWW (void)
Lay_ShowErrorAndExit ("Code of department is missing.");
/* Get the new WWW for the department */
Par_GetParToText ("WWW",NewWWW,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("WWW",NewWWW,Cns_MAX_BYTES_WWW);
/***** Check if new WWW is empty *****/
if (NewWWW[0])
@ -854,7 +854,7 @@ void Dpt_ChangeDptWWW (void)
/***** Show the form again *****/
Str_Copy (Dpt->WWW,NewWWW,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
Dpt_EditDepartments ();
}
@ -949,7 +949,7 @@ static void Dpt_PutFormToCreateDepartment (void)
" required=\"required\" />"
"</td>"
"</tr>",
Cns_MAX_LENGTH_WWW,Dpt->WWW);
Cns_MAX_CHARS_WWW,Dpt->WWW);
/***** Send button and end of frame *****/
Lay_EndRoundFrameTableWithButton (Lay_CREATE_BUTTON,Txt_Create_department);
@ -1025,7 +1025,7 @@ void Dpt_RecFormNewDpt (void)
Par_GetParToText ("FullName",Dpt->FullName,Dpt_MAX_LENGTH_DEPARTMENT_FULL_NAME);
/* Get department WWW */
Par_GetParToText ("WWW",Dpt->WWW,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("WWW",Dpt->WWW,Cns_MAX_BYTES_WWW);
if (Dpt->ShrtName[0] && Dpt->FullName[0]) // If there's a department name
{

View File

@ -40,7 +40,7 @@ struct Department
long InsCod;
char ShrtName[Dpt_MAX_LENGTH_DEPARTMENT_SHRT_NAME + 1];
char FullName[Dpt_MAX_LENGTH_DEPARTMENT_FULL_NAME + 1];
char WWW[Cns_MAX_LENGTH_WWW + 1];
char WWW[Cns_MAX_BYTES_WWW + 1];
unsigned NumTchs;
};

View File

@ -1454,7 +1454,7 @@ static void Enr_ReceiveFormUsrsCrs (Rol_Role_t Role)
/***** Find users for this user's ID *****/
ID_ReallocateListIDs (&UsrDat,1); // Only one user's ID
Str_Copy (UsrDat.IDs.List[0].ID,UsrDat.UsrIDNickOrEmail,
ID_MAX_LENGTH_USR_ID);
ID_MAX_BYTES_USR_ID);
Str_ConvertToUpperText (UsrDat.IDs.List[0].ID);
ID_GetListUsrCodsFromUsrID (&UsrDat,NULL,&ListUsrCods,false);
}
@ -1578,7 +1578,7 @@ static void Enr_ReceiveFormUsrsCrs (Rol_Role_t Role)
/* Find users for this user's ID */
ID_ReallocateListIDs (&UsrDat,1); // Only one user's ID
Str_Copy (UsrDat.IDs.List[0].ID,UsrDat.UsrIDNickOrEmail,
ID_MAX_LENGTH_USR_ID);
ID_MAX_BYTES_USR_ID);
Str_ConvertToUpperText (UsrDat.IDs.List[0].ID);
ID_GetListUsrCodsFromUsrID (&UsrDat,NULL,&ListUsrCods,false);
}

View File

@ -2500,7 +2500,7 @@ static void Brw_GetParamsPathInTreeAndFileName (void)
if (Gbl.FileBrowser.Level == 1)
// We are in this case: assignments/assignment-folder
Str_Copy (Gbl.FileBrowser.Asg.Folder,Gbl.FileBrowser.FilFolLnkName,
Asg_MAX_LENGTH_FOLDER);
Asg_MAX_BYTES_FOLDER);
else
{
// We are in this case: assignments/assignment-folder/rest-of-path
@ -2510,7 +2510,7 @@ static void Brw_GetParamsPathInTreeAndFileName (void)
if (*Ptr == '/')
Ptr++; // Skip '/'
for (i = 0;
i < Asg_MAX_LENGTH_FOLDER && *Ptr && *Ptr != '/';
i < Asg_MAX_BYTES_FOLDER && *Ptr && *Ptr != '/';
i++, Ptr++)
Gbl.FileBrowser.Asg.Folder[i] = *Ptr; // Copy assignment folder
Gbl.FileBrowser.Asg.Folder[i] = '\0';
@ -3191,7 +3191,7 @@ static void Brw_ShowFileBrowsersAsgWrkCrs (void)
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,Gbl.Usrs.Other.UsrDat.EncryptedUsrCod,
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&Gbl.Usrs.Other.UsrDat);
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat)) // Get of the database the data of the user
if (Usr_CheckIfUsrBelongsToCrs (Gbl.Usrs.Other.UsrDat.UsrCod,
@ -5206,7 +5206,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,Brw_ExpandTree_t ExpandTree,
if (Level == 1) // Main folder of the assignment
{
Str_Copy (Gbl.FileBrowser.Asg.Folder,FileName,
Asg_MAX_LENGTH_FOLDER);
Asg_MAX_BYTES_FOLDER);
Asg_GetDataOfAssignmentByFolder (&Gbl.FileBrowser.Asg);
// The data of this assignment remains in Gbl.FileBrowser.Asg
// for all subsequent rows with Level > 1 (files or folders inside this folder),

View File

@ -315,8 +315,6 @@ static unsigned For_GetNumOfUnreadPostsInThr (long ThrCod,unsigned NumPostsInThr
static unsigned For_GetNumOfPostsInThrNewerThan (long ThrCod,const char *Time);
static void For_WriteFormForumPst (bool IsReply,long ThrCod,const char *Subject);
static void For_PutSubjectContent (const char *Label,const char *Field,
unsigned NumRows,const char *Content);
static void For_UpdateNumUsrsNotifiedByEMailAboutPost (long PstCod,unsigned NumUsrsToBeNotifiedByEMail);
static void For_WriteNumberOfThrs (unsigned NumThrs,unsigned NumThrsWithNewPosts);
@ -472,7 +470,7 @@ static long For_InsertForumPst (long ThrCod,long UsrCod,
if ((Query = malloc (512 +
strlen (Subject) +
strlen (Content) +
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 +
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 +
Img_MAX_BYTES_TITLE)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to store database query.");
@ -2296,7 +2294,7 @@ static void For_WriteLinkToForum (For_ForumType_t ForumType,Act_Action_t NextAct
unsigned NumThrsWithNewPosts;
unsigned NumPosts;
const char *Style;
char ActTxt[Act_MAX_LENGTH_ACTION_TXT + 1];
char ActTxt[Act_MAX_BYTES_ACTION_TXT + 1];
/***** Get number of threads and number of posts *****/
NumThrs = For_GetNumThrsInForum (ForumType);
@ -3866,9 +3864,36 @@ static void For_WriteFormForumPst (bool IsReply,long ThrCod,const char *Subject)
/***** Subject and content *****/
// If writing a reply to a message of an existing thread ==> write subject
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">");
For_PutSubjectContent (Txt_MSG_Subject,"Subject", 2,IsReply ? Subject :
NULL);
For_PutSubjectContent (Txt_MSG_Message,"Content",15,NULL);
/* Subject */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Subject\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" id=\"Subject\" name=\"Subject\""
" size=\"45\" maxlength=\"%u\" value=\"%s\""
" required=\"required\" />"
"</td>"
"</tr>",
The_ClassForm[Gbl.Prefs.Theme],Txt_MSG_Subject,
Cns_MAX_CHARS_SUBJECT,
IsReply ? Subject :
"");
/* Content */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
"<label for=\"Content\" class=\"%s\">%s:&nbsp;</label>"
"</td>"
"<td class=\"LEFT_TOP\">"
"<textarea id=\"Content\" name=\"Content\""
" cols=\"72\" rows=\"15\">"
"</textarea>"
"</td>"
"</tr>",
The_ClassForm[Gbl.Prefs.Theme],Txt_MSG_Message);
fprintf (Gbl.F.Out,"</table>");
/***** Help for text editor *****/
@ -3887,32 +3912,6 @@ static void For_WriteFormForumPst (bool IsReply,long ThrCod,const char *Subject)
Lay_EndRoundFrame ();
}
/*****************************************************************************/
/****************** Put form field for subject or content ********************/
/*****************************************************************************/
static void For_PutSubjectContent (const char *Label,const char *Field,
unsigned NumRows,const char *Content)
{
extern const char *The_ClassForm[The_NUM_THEMES];
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
"<label for=\"%s\" class=\"%s\">%s:&nbsp;</label>"
"</td>"
"<td class=\"LEFT_TOP\">"
"<textarea id=\"%s\" name=\"%s\""
" cols=\"72\" rows=\"%u\">",
Field,The_ClassForm[Gbl.Prefs.Theme],Label,
Field,Field,
NumRows);
if (Content)
fprintf (Gbl.F.Out,"%s",Content);
fprintf (Gbl.F.Out,"</textarea>"
"</td>"
"</tr>");
}
/*****************************************************************************/
/************************** Receive message of a forum ***********************/
/*****************************************************************************/

View File

@ -97,7 +97,7 @@ struct Globals
{
int Num; // Number of form, used in form submit links
char Id[32]; // Identifier string used in forms
char UniqueId[32 + Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 10 + 1]; // Unique identifier string used in forms
char UniqueId[32 + Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 10 + 1]; // Unique identifier string used in forms
bool Inside; // Set to true inside a form to avoid nested forms
} Form;
bool Error;
@ -146,7 +146,7 @@ struct Globals
long TimeSendInMicroseconds;
char IP[Cns_MAX_LENGTH_IP + 1];
char UniqueNameEncrypted[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 1]; // Used for session id, temporary directory names, etc.
char UniqueNameEncrypted[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1]; // Used for session id, temporary directory names, etc.
struct
{
@ -294,7 +294,7 @@ struct Globals
Rol_Role_t MaxRole;
bool RoleHasChanged; // Set when I have changed my role
char UsrIdLogin[Usr_MAX_BYTES_USR_LOGIN + 1]; // String to store the ID, nickname or email entered in the user's login
char LoginPlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD + 1];
char LoginPlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1];
char LoginEncryptedPassword[Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64 + 1];
char PendingPassword[Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64 + 1];
char PathDir[PATH_MAX + 1];
@ -466,7 +466,7 @@ struct Globals
struct
{
Inf_InfoType_t Type;
char URL[Cns_MAX_LENGTH_WWW + 1];
char URL[Cns_MAX_BYTES_WWW + 1];
bool MustBeRead[Inf_NUM_INFO_TYPES]; // Students must read info?
bool ShowMsgMustBeRead;
} Info;

View File

@ -144,7 +144,7 @@ void Img_GetImageNameTitleAndURLFromRow (const char *Name,
/***** Copy image name to struct *****/
Str_Copy (Image->Name,Name,
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
/***** Set status of image file *****/
Image->Status = Image->Name[0] ? Img_NAME_STORED_IN_DB :
@ -197,7 +197,7 @@ void Img_PutImageUploader (int NumImgInForm,const char *ClassImgTitURL)
extern const char *Txt_Image_title_attribution;
extern const char *Txt_Link;
struct ParamUploadImg ParamUploadImg;
char Id[Act_MAX_LENGTH_ID];
char Id[Act_MAX_BYTES_ID];
/***** Set names of parameters depending on number of image in form *****/
Img_SetParamNames (&ParamUploadImg,NumImgInForm);

View File

@ -88,7 +88,7 @@ struct Image
{
Img_Action_t Action;
Img_FileStatus_t Status;
char Name[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 1];
char Name[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1];
char *Title; // Title/attribution (it must be initialized to NULL
// in order to not trying to free it when no memory allocated)
char *URL; // URL, i.e. link to original big photo or video

View File

@ -916,7 +916,7 @@ static bool Inf_CheckURL (long CrsCod,Inf_InfoType_t InfoType)
/***** Check if file with URL exists *****/
if ((FileURL = fopen (PathFile,"rb")))
{
if (fgets (Gbl.CurrentCrs.Info.URL,Cns_MAX_LENGTH_WWW,FileURL) == NULL)
if (fgets (Gbl.CurrentCrs.Info.URL,Cns_MAX_BYTES_WWW,FileURL) == NULL)
Gbl.CurrentCrs.Info.URL[0] = '\0';
/* File is not longer needed ==> close it */
fclose (FileURL);
@ -944,7 +944,7 @@ static bool Inf_CheckAndShowURL (void)
/***** Check if file with URL exists *****/
if ((FileURL = fopen (PathFile,"rb")))
{
if (fgets (Gbl.CurrentCrs.Info.URL,Cns_MAX_LENGTH_WWW,FileURL) == NULL)
if (fgets (Gbl.CurrentCrs.Info.URL,Cns_MAX_BYTES_WWW,FileURL) == NULL)
Gbl.CurrentCrs.Info.URL[0] = '\0';
/* File is not longer needed ==> close it */
fclose (FileURL);
@ -975,7 +975,7 @@ static void Inf_BuildPathURL (long CrsCod,Inf_InfoType_t InfoType,char *PathFile
/*****************************************************************************/
// This function is called only from web service
void Inf_WriteURLIntoTxtBuffer (char TxtBuffer[Cns_MAX_LENGTH_WWW + 1])
void Inf_WriteURLIntoTxtBuffer (char TxtBuffer[Cns_MAX_BYTES_WWW + 1])
{
char PathFile[PATH_MAX + 1];
FILE *FileURL;
@ -989,7 +989,7 @@ void Inf_WriteURLIntoTxtBuffer (char TxtBuffer[Cns_MAX_LENGTH_WWW + 1])
/***** Check if file with URL exists *****/
if ((FileURL = fopen (PathFile,"rb")))
{
if (fgets (TxtBuffer,Cns_MAX_LENGTH_WWW,FileURL) == NULL)
if (fgets (TxtBuffer,Cns_MAX_BYTES_WWW,FileURL) == NULL)
TxtBuffer[0] = '\0';
/* File is not longer needed ==> close it */
fclose (FileURL);
@ -1295,7 +1295,7 @@ void Inf_FormToSendURL (Inf_InfoSrc_t InfoSrc)
fprintf (Gbl.F.Out,"http://");
else
{
if (fgets (Gbl.CurrentCrs.Info.URL,Cns_MAX_LENGTH_WWW,FileURL) == NULL)
if (fgets (Gbl.CurrentCrs.Info.URL,Cns_MAX_BYTES_WWW,FileURL) == NULL)
Gbl.CurrentCrs.Info.URL[0] = '\0';
/* File is not needed now. Close it */
fclose (FileURL);
@ -2206,7 +2206,7 @@ void Inf_ReceiveURLInfo (void)
Gbl.CurrentCrs.Info.Type = Inf_AsignInfoType ();
/***** Get parameter with URL *****/
Par_GetParToText ("InfoSrcURL",Gbl.CurrentCrs.Info.URL,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("InfoSrcURL",Gbl.CurrentCrs.Info.URL,Cns_MAX_BYTES_WWW);
/***** Build path to file containing URL *****/
Inf_BuildPathURL (Gbl.CurrentCrs.Crs.CrsCod,Gbl.CurrentCrs.Info.Type,PathFile);

View File

@ -75,7 +75,7 @@ void Inf_ChangeIHaveReadInfo (void);
bool Inf_GetIfIMustReadAnyCrsInfoInThisCrs (void);
void Inf_RemoveUsrFromCrsInfoRead (long UsrCod,long CrsCod);
int Inf_WritePageIntoHTMLBuffer (char **HTMLBuffer);
void Inf_WriteURLIntoTxtBuffer (char TxtBuffer[Cns_MAX_LENGTH_WWW + 1]);
void Inf_WriteURLIntoTxtBuffer (char TxtBuffer[Cns_MAX_BYTES_WWW + 1]);
void Inf_SetInfoSrc (void);
void Inf_FormsToSelSendInfo (void);
void Inf_FormToEnterIntegratedEditor (Inf_InfoSrc_t InfoSrc);

View File

@ -90,7 +90,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);
static void Ins_UpdateInsNameDB (long InsCod,const char *FieldName,const char *NewInsName);
static void Ins_UpdateInsCtyDB (long InsCod,long CtyCod);
static void Ins_UpdateInsWWWDB (long InsCod,const char NewWWW[Cns_MAX_LENGTH_WWW + 1]);
static void Ins_UpdateInsWWWDB (long InsCod,const char NewWWW[Cns_MAX_BYTES_WWW + 1]);
static void Ins_PutButtonToGoToIns (struct Instit *Ins);
static void Ins_PutFormToCreateInstitution (void);
@ -443,7 +443,7 @@ static void Ins_Configuration (bool PrintView)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_WWW\""
" onchange=\"document.getElementById('%s').submit();\" />",
Cns_MAX_LENGTH_WWW,
Cns_MAX_CHARS_WWW,
Gbl.CurrentIns.Ins.WWW,
Gbl.Form.Id);
Act_FormEnd ();
@ -1038,7 +1038,7 @@ void Ins_GetListInstitutions (long CtyCod,Ins_GetExtraData_t GetExtraData)
/* Get the URL of the institution (row[6]) */
Str_Copy (Ins->WWW,row[6],
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
/* Get extra data */
switch (GetExtraData)
@ -1153,7 +1153,7 @@ bool Ins_GetDataOfInstitutionByCod (struct Instit *Ins,
/* Get the URL of the institution (row[5]) */
Str_Copy (Ins->WWW,row[5],
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
/* Get extra data */
if (GetExtraData == Ins_GET_EXTRA_DATA)
@ -1390,7 +1390,7 @@ static void Ins_ListInstitutionsForEdition (void)
extern const char *Txt_INSTITUTION_STATUS[Ins_NUM_STATUS_TXT];
unsigned NumIns;
struct Instit *Ins;
char WWW[Cns_MAX_LENGTH_WWW + 1];
char WWW[Cns_MAX_BYTES_WWW + 1];
struct UsrData UsrDat;
bool ICanEdit;
Ins_StatusTxt_t StatusTxt;
@ -1490,7 +1490,7 @@ static void Ins_ListInstitutionsForEdition (void)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_WWW\""
" onchange=\"document.getElementById('%s').submit();\" />",
Cns_MAX_LENGTH_WWW,
Cns_MAX_CHARS_WWW,
Ins->WWW,
Gbl.Form.Id);
Act_FormEnd ();
@ -1499,7 +1499,7 @@ static void Ins_ListInstitutionsForEdition (void)
else
{
Str_Copy (WWW,Ins->WWW,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
fprintf (Gbl.F.Out,"<div class=\"EXTERNAL_WWW_SHORT\">"
"<a href=\"%s\" target=\"_blank\""
" class=\"DAT\" title=\"%s\">"
@ -1945,7 +1945,7 @@ void Ins_ChangeInsWWW (void)
extern const char *Txt_The_new_web_address_is_X;
extern const char *Txt_You_can_not_leave_the_web_address_empty;
struct Instit *Ins;
char NewWWW[Cns_MAX_LENGTH_WWW + 1];
char NewWWW[Cns_MAX_BYTES_WWW + 1];
Ins = &Gbl.Inss.EditingIns;
@ -1954,7 +1954,7 @@ void Ins_ChangeInsWWW (void)
Ins->InsCod = Ins_GetAndCheckParamOtherInsCod ();
/* Get the new WWW for the institution */
Par_GetParToText ("WWW",NewWWW,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("WWW",NewWWW,Cns_MAX_BYTES_WWW);
/***** Get data of institution *****/
Ins_GetDataOfInstitutionByCod (Ins,Ins_GET_BASIC_DATA);
@ -1965,7 +1965,7 @@ void Ins_ChangeInsWWW (void)
/***** Update database changing old WWW by new WWW *****/
Ins_UpdateInsWWWDB (Ins->InsCod,NewWWW);
Str_Copy (Ins->WWW,NewWWW,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
/***** Write message to show the change made *****/
sprintf (Gbl.Message,Txt_The_new_web_address_is_X,NewWWW);
@ -1985,11 +1985,11 @@ void Ins_ChangeInsWWWInConfig (void)
{
extern const char *Txt_The_new_web_address_is_X;
extern const char *Txt_You_can_not_leave_the_web_address_empty;
char NewWWW[Cns_MAX_LENGTH_WWW + 1];
char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Get parameters from form *****/
/* Get the new WWW for the institution */
Par_GetParToText ("WWW",NewWWW,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("WWW",NewWWW,Cns_MAX_BYTES_WWW);
/***** Check if new WWW is empty *****/
if (NewWWW[0])
@ -1997,7 +1997,7 @@ void Ins_ChangeInsWWWInConfig (void)
/***** Update database changing old WWW by new WWW *****/
Ins_UpdateInsWWWDB (Gbl.CurrentIns.Ins.InsCod,NewWWW);
Str_Copy (Gbl.CurrentIns.Ins.WWW,NewWWW,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
/***** Write message to show the change made *****/
sprintf (Gbl.Message,Txt_The_new_web_address_is_X,NewWWW);
@ -2014,9 +2014,9 @@ void Ins_ChangeInsWWWInConfig (void)
/**************** Update database changing old WWW by new WWW ****************/
/*****************************************************************************/
static void Ins_UpdateInsWWWDB (long InsCod,const char NewWWW[Cns_MAX_LENGTH_WWW + 1])
static void Ins_UpdateInsWWWDB (long InsCod,const char NewWWW[Cns_MAX_BYTES_WWW + 1])
{
char Query[256 + Cns_MAX_LENGTH_WWW];
char Query[256 + Cns_MAX_BYTES_WWW];
/***** Update database changing old WWW by new WWW *****/
sprintf (Query,"UPDATE institutions SET WWW='%s' WHERE InsCod='%ld'",
@ -2214,7 +2214,7 @@ static void Ins_PutFormToCreateInstitution (void)
" class=\"INPUT_WWW\""
" required=\"required\" />"
"</td>",
Cns_MAX_LENGTH_WWW,Ins->WWW);
Cns_MAX_CHARS_WWW,Ins->WWW);
/***** Number of users who claim to belong to this institution ****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
@ -2355,7 +2355,7 @@ static void Ins_RecFormRequestOrCreateIns (unsigned Status)
Par_GetParToText ("FullName",Ins->FullName,Ins_MAX_LENGTH_INSTIT_FULL_NAME);
/* Get institution WWW */
Par_GetParToText ("WWW",Ins->WWW,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("WWW",Ins->WWW,Cns_MAX_BYTES_WWW);
if (Ins->ShrtName[0] && Ins->FullName[0]) // If there's a institution name
{
@ -2397,7 +2397,7 @@ static void Ins_CreateInstitution (struct Instit *Ins,unsigned Status)
char Query[512 +
Ins_MAX_LENGTH_INSTIT_SHRT_NAME +
Ins_MAX_LENGTH_INSTIT_FULL_NAME +
Cns_MAX_LENGTH_WWW];
Cns_MAX_BYTES_WWW];
/***** Create a new institution *****/
sprintf (Query,"INSERT INTO institutions (CtyCod,Status,RequesterUsrCod,"

View File

@ -66,7 +66,7 @@ struct Instit
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 WWW[Cns_MAX_LENGTH_WWW + 1];
char WWW[Cns_MAX_BYTES_WWW + 1];
unsigned NumUsrsWhoClaimToBelongToIns;
unsigned NumCtrs;
unsigned NumDegs;

View File

@ -241,7 +241,7 @@ void Lnk_GetListLinks (void)
/* Get the URL of the link (row[3]) */
Str_Copy (Lnk->WWW,row[3],
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
}
}
else
@ -289,7 +289,7 @@ void Lnk_GetDataOfLinkByCod (struct Link *Lnk)
/* Get the URL of the link (row[2]) */
Str_Copy (Lnk->WWW,row[2],
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
}
/***** Free structure that stores the query result *****/
@ -384,7 +384,7 @@ static void Lnk_ListLinksForEdition (void)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_WWW\""
" onchange=\"document.getElementById('%s').submit();\" />",
Cns_MAX_LENGTH_WWW,Lnk->WWW,
Cns_MAX_CHARS_WWW,Lnk->WWW,
Gbl.Form.Id);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>"
@ -576,8 +576,8 @@ void Lnk_ChangeLinkWWW (void)
extern const char *Txt_The_new_web_address_is_X;
extern const char *Txt_You_can_not_leave_the_web_address_empty;
struct Link *Lnk;
char Query[256 + Cns_MAX_LENGTH_WWW];
char NewWWW[Cns_MAX_LENGTH_WWW + 1];
char Query[256 + Cns_MAX_BYTES_WWW];
char NewWWW[Cns_MAX_BYTES_WWW + 1];
Lnk = &Gbl.Links.EditingLnk;
@ -587,7 +587,7 @@ void Lnk_ChangeLinkWWW (void)
Lay_ShowErrorAndExit ("Code of institutional link is missing.");
/* Get the new WWW for the link */
Par_GetParToText ("WWW",NewWWW,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("WWW",NewWWW,Cns_MAX_BYTES_WWW);
/***** Check if new WWW is empty *****/
if (NewWWW[0])
@ -607,7 +607,7 @@ void Lnk_ChangeLinkWWW (void)
/***** Show the form again *****/
Str_Copy (Lnk->WWW,NewWWW,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
Lnk_EditLinks ();
}
@ -664,7 +664,7 @@ static void Lnk_PutFormToCreateLink (void)
" required=\"required\" />"
"</td>"
"</tr>",
Cns_MAX_LENGTH_WWW,Lnk->WWW);
Cns_MAX_CHARS_WWW,Lnk->WWW);
/***** Send button and end frame *****/
Lay_EndRoundFrameTableWithButton (Lay_CREATE_BUTTON,Txt_Create_link);
@ -726,7 +726,7 @@ void Lnk_RecFormNewLink (void)
Par_GetParToText ("FullName",Lnk->FullName,Lnk_MAX_LENGTH_LINK_FULL_NAME);
/* Get link URL */
Par_GetParToText ("WWW",Lnk->WWW,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("WWW",Lnk->WWW,Cns_MAX_BYTES_WWW);
if (Lnk->ShrtName[0] && Lnk->FullName[0]) // If there's a link name
{

View File

@ -39,7 +39,7 @@ struct Link
long LnkCod;
char ShrtName[Lnk_MAX_LENGTH_LINK_SHRT_NAME + 1];
char FullName[Lnk_MAX_LENGTH_LINK_FULL_NAME + 1];
char WWW[Cns_MAX_LENGTH_WWW + 1];
char WWW[Cns_MAX_BYTES_WWW + 1];
};
/*****************************************************************************/

View File

@ -50,7 +50,7 @@ extern struct Globals Gbl;
/***************************** Private constants *****************************/
/*****************************************************************************/
#define Mai_LENGTH_EMAIL_CONFIRM_KEY Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64
#define Mai_LENGTH_EMAIL_CONFIRM_KEY Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64
/*****************************************************************************/
/******************************* Private types *******************************/

View File

@ -406,7 +406,7 @@ bool Mrk_CheckFileOfMarks (const char *Path,struct MarksProperties *Marks)
static bool Mrk_CheckIfCellContainsOnlyIDs (const char *CellContent)
{
char UsrIDFromTable[ID_MAX_LENGTH_USR_ID + 1];
char UsrIDFromTable[ID_MAX_BYTES_USR_ID + 1];
const char *Ptr = CellContent;
bool UsrIDFound = false;
bool StuffNotUsrIDFound = false;
@ -416,7 +416,7 @@ static bool Mrk_CheckIfCellContainsOnlyIDs (const char *CellContent)
while (*Ptr && !StuffNotUsrIDFound)
{
/* Find next string in text until space, comma or semicolon (leading and trailing spaces are removed) */
Str_GetNextStringUntilSeparator (&Ptr,UsrIDFromTable,ID_MAX_LENGTH_USR_ID);
Str_GetNextStringUntilSeparator (&Ptr,UsrIDFromTable,ID_MAX_BYTES_USR_ID);
// Users' IDs are always stored internally in capitals and without leading zeros
Str_RemoveLeadingZeros (UsrIDFromTable);
@ -447,7 +447,7 @@ static bool Mrk_GetUsrMarks (FILE *FileUsrMarks,struct UsrData *UsrDat,
unsigned Row;
char CellContent[Mrk_MAX_BYTES_IN_CELL_CONTENT + 1];
const char *Ptr;
char UsrIDFromTable[ID_MAX_LENGTH_USR_ID + 1];
char UsrIDFromTable[ID_MAX_BYTES_USR_ID + 1];
FILE *FileAllMarks;
unsigned NumID;
bool UsrIDFound;
@ -484,7 +484,7 @@ static bool Mrk_GetUsrMarks (FILE *FileUsrMarks,struct UsrData *UsrDat,
while (*Ptr && !UsrIDFound)
{
/* Find next string in text until comma or semicolon (leading and trailing spaces are removed) */
Str_GetNextStringUntilSeparator (&Ptr,UsrIDFromTable,ID_MAX_LENGTH_USR_ID);
Str_GetNextStringUntilSeparator (&Ptr,UsrIDFromTable,ID_MAX_BYTES_USR_ID);
// Users' IDs are always stored internally in capitals and without leading zeros
Str_RemoveLeadingZeros (UsrIDFromTable);
@ -534,7 +534,7 @@ static bool Mrk_GetUsrMarks (FILE *FileUsrMarks,struct UsrData *UsrDat,
while (*Ptr && !UsrIDFound)
{
/* Find next string in text until comma or semicolon (leading and trailing spaces are removed) */
Str_GetNextStringUntilSeparator (&Ptr,UsrIDFromTable,ID_MAX_LENGTH_USR_ID);
Str_GetNextStringUntilSeparator (&Ptr,UsrIDFromTable,ID_MAX_BYTES_USR_ID);
// Users' IDs are always stored internally in capitals and without leading zeros
Str_RemoveLeadingZeros (UsrIDFromTable);

View File

@ -420,7 +420,7 @@ static void Msg_WriteFormUsrsIDsOrNicksOtherRecipients (void)
extern const char *Txt_Other_recipients;
extern const char *Txt_Recipients;
extern const char *Txt_nicks_emails_or_IDs_separated_by_commas;
char Nickname[Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA + 1];
char Nickname[Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA + 1];
unsigned Colspan;
bool StdsAndTchsWritten = Gbl.CurrentCrs.Crs.CrsCod > 0 && // If there is a course selected
(Gbl.Usrs.Me.IBelongToCurrentCrs || // I belong to it
@ -728,7 +728,7 @@ void Msg_RecMsgFromUsr (void)
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDstData.EncryptedUsrCod,Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDstData.EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&UsrDstData);
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDstData)) // Get recipient's data from the database
{
@ -1298,7 +1298,7 @@ static long Msg_InsertNewMsg (const char *Subject,const char *Content,
if ((Query = malloc (512 +
strlen (Subject) +
strlen (Content) +
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 +
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 +
Img_MAX_BYTES_TITLE)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to store database query.");

View File

@ -204,7 +204,7 @@ void Net_ShowWebsAndSocialNets (const struct UsrData *UsrDat)
MYSQL_RES *mysql_res;
MYSQL_ROW row;
Net_WebsAndSocialNetworks_t NumURL;
char URL[Cns_MAX_LENGTH_WWW + 1];
char URL[Cns_MAX_BYTES_WWW + 1];
/***** Start container *****/
fprintf (Gbl.F.Out,"<div class=\"REC_WEBS\">");
@ -229,7 +229,7 @@ void Net_ShowWebsAndSocialNets (const struct UsrData *UsrDat)
/* Get URL */
row = mysql_fetch_row (mysql_res);
Str_Copy (URL,row[0],
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
/* Show the web / social network */
Net_ShowAWebOrSocialNet (URL,
@ -296,7 +296,7 @@ void Net_ShowFormMyWebsAndSocialNets (void)
MYSQL_RES *mysql_res;
MYSQL_ROW row;
Net_WebsAndSocialNetworks_t NumURL;
char URL[Cns_MAX_LENGTH_WWW + 1];
char URL[Cns_MAX_BYTES_WWW + 1];
/***** Start table *****/
Lay_StartRoundFrameTable (NULL,Txt_Webs_social_networks,
@ -320,7 +320,7 @@ void Net_ShowFormMyWebsAndSocialNets (void)
/* Get URL */
Str_Copy (URL,row[0],
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
}
else
URL[0] = '\0';
@ -352,7 +352,7 @@ void Net_ShowFormMyWebsAndSocialNets (void)
" maxlength=\"%u\" value=\"%s\" style=\"width:%upx;\""
" onchange=\"document.getElementById('%s').submit();\" />",
(unsigned) NumURL,
Cns_MAX_LENGTH_WWW,URL,Net_COL2_WIDTH - 20,
Cns_MAX_CHARS_WWW,URL,Net_COL2_WIDTH - 20,
Gbl.Form.Id);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>"
@ -393,9 +393,9 @@ void Net_UpdateMyWebsAndSocialNets (void)
static void Net_GetMyWebsAndSocialNetsFromForm (void)
{
char Query[256 + Cns_MAX_LENGTH_WWW];
char Query[256 + Cns_MAX_BYTES_WWW];
Net_WebsAndSocialNetworks_t Web;
char URL[Cns_MAX_LENGTH_WWW + 1];
char URL[Cns_MAX_BYTES_WWW + 1];
/***** Get parameter with the type of web / social network *****/
Web = (Net_WebsAndSocialNetworks_t)
@ -405,7 +405,7 @@ static void Net_GetMyWebsAndSocialNetsFromForm (void)
(unsigned long) Net_WEB_SOCIAL_NET_DEFAULT);
/***** Get URL *****/
Par_GetParToText ("URL",URL,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("URL",URL,Cns_MAX_BYTES_WWW);
if (URL[0])
{
/***** Insert or replace web / social network *****/

View File

@ -79,9 +79,9 @@ bool Nck_CheckIfNickWithArrobaIsValid (const char *NicknameWithArroba)
Length = strlen (NicknameWithoutArroba);
/***** A nick (without arroba) must have a number of characters
Nck_MIN_LENGTH_NICKNAME_WITHOUT_ARROBA <= Length <= Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA *****/
if (Length < Nck_MIN_LENGTH_NICKNAME_WITHOUT_ARROBA ||
Length > Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA)
Nck_MIN_BYTES_NICKNAME_WITHOUT_ARROBA <= Length <= Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA *****/
if (Length < Nck_MIN_BYTES_NICKNAME_WITHOUT_ARROBA ||
Length > Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA)
return false;
/***** A nick can have digits, letters and '_' *****/
@ -102,7 +102,7 @@ bool Nck_CheckIfNickWithArrobaIsValid (const char *NicknameWithArroba)
/*****************************************************************************/
bool Nck_GetNicknameFromUsrCod (long UsrCod,
char Nickname[Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA + 1])
char Nickname[Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA + 1])
{
char Query[256];
MYSQL_RES *mysql_res;
@ -118,7 +118,7 @@ bool Nck_GetNicknameFromUsrCod (long UsrCod,
/* Get nickname */
row = mysql_fetch_row (mysql_res);
Str_Copy (Nickname,row[0],
Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA);
Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA);
Found = true;
}
else
@ -289,7 +289,7 @@ void Nck_ShowFormChangeUsrNickname (void)
"<input type=\"text\" id=\"NewNick\" name=\"NewNick\""
" size=\"18\" maxlength=\"%u\" value=\"@%s\" />"
"</div>",
1 + Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA,
1 + Nck_MAX_CHARS_NICKNAME_WITHOUT_ARROBA,
Gbl.Usrs.Me.UsrDat.Nickname);
Lay_PutCreateButtonInline (NumNicks ? Txt_Change_nickname : // I already have a nickname
Txt_Save); // I have no nickname yet);
@ -306,10 +306,10 @@ void Nck_RemoveNick (void)
{
extern const char *Txt_Nickname_X_removed;
extern const char *Txt_You_can_not_delete_your_current_nickname;
char NicknameWithoutArroba[Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA + 1];
char NicknameWithoutArroba[Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA + 1];
/***** Get new nickname from form *****/
Par_GetParToText ("Nick",NicknameWithoutArroba,Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA);
Par_GetParToText ("Nick",NicknameWithoutArroba,Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA);
if (strcasecmp (NicknameWithoutArroba,Gbl.Usrs.Me.UsrDat.Nickname)) // Only if not my current nickname
{
@ -398,7 +398,7 @@ void Nck_UpdateNick (void)
// Now we know the new nickname is not already in database and is diffent to the current one
Nck_UpdateMyNick (NewNicknameWithoutArroba);
Str_Copy (Gbl.Usrs.Me.UsrDat.Nickname,NewNicknameWithoutArroba,
Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA);
Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA);
sprintf (Gbl.Message,Txt_Your_nickname_X_has_been_registered_successfully,
NewNicknameWithoutArroba);
@ -409,8 +409,8 @@ void Nck_UpdateNick (void)
Error = true;
sprintf (Gbl.Message,Txt_The_nickname_entered_X_is_not_valid_,
NewNicknameWithArroba,
Nck_MIN_LENGTH_NICKNAME_WITHOUT_ARROBA,
Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA);
Nck_MIN_CHARS_NICKNAME_WITHOUT_ARROBA,
Nck_MAX_CHARS_NICKNAME_WITHOUT_ARROBA);
}
/***** Show message *****/

View File

@ -32,8 +32,11 @@
/************************* Public types and constants ************************/
/*****************************************************************************/
#define Nck_MIN_LENGTH_NICKNAME_WITHOUT_ARROBA 3
#define Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA 16
#define Nck_MIN_CHARS_NICKNAME_WITHOUT_ARROBA 3
#define Nck_MIN_BYTES_NICKNAME_WITHOUT_ARROBA Nck_MIN_CHARS_NICKNAME_WITHOUT_ARROBA
#define Nck_MAX_CHARS_NICKNAME_WITHOUT_ARROBA 16
#define Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA Nck_MAX_CHARS_NICKNAME_WITHOUT_ARROBA
#define Nck_MAX_BYTES_NICKNAME_FROM_FORM (128 - 1) // For variables that store characters typed in a form
@ -46,7 +49,7 @@
bool Nck_CheckIfNickWithArrobaIsValid (const char *NicknameWithArroba);
bool Nck_GetNicknameFromUsrCod (long UsrCod,
char Nickname[Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA + 1]);
char Nickname[Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA + 1]);
long Nck_GetUsrCodFromNickname (const char *Nickname);
void Nck_ShowFormChangeUsrNickname (void);

View File

@ -686,7 +686,7 @@ void Par_GetMainParameters (void)
/* Set another user's nickname */
Str_RemoveLeadingArrobas (Nickname);
Str_Copy (Gbl.Usrs.Other.UsrDat.Nickname,Nickname, // without arroba
Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA);
Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA);
// This user's code is used to go to public profile
// and to refresh old publishings in user's timeline
@ -702,7 +702,7 @@ void Par_GetMainParameters (void)
/* Set another user's nickname */
Str_RemoveLeadingArrobas (Nickname);
Str_Copy (Gbl.Usrs.Other.UsrDat.Nickname,Nickname, // without arroba
Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA);
Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA);
// This user's code is used to go to public agenda
// If user does not exist ==> UsrCod = -1

View File

@ -67,7 +67,7 @@ extern struct Globals Gbl;
static void Pwd_PutLinkToSendNewPasswdParams (void);
static void Pwd_CreateANewPassword (char PlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD + 1]);
static void Pwd_CreateANewPassword (char PlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1]);
static bool Pwd_CheckIfPasswdIsUsrIDorName (const char *PlainPassword);
static unsigned Pwd_GetNumOtherUsrsWhoUseThisPassword (const char *EncryptedPassword,long UsrCod);
@ -79,7 +79,8 @@ static unsigned Pwd_GetNumOtherUsrsWhoUseThisPassword (const char *EncryptedPass
void Pwd_GetParamUsrPwdLogin (void)
{
/***** Get plain password from form *****/
Par_GetParToText ("UsrPwd",Gbl.Usrs.Me.LoginPlainPassword,Pwd_MAX_LENGTH_PLAIN_PASSWORD);
Par_GetParToText ("UsrPwd",Gbl.Usrs.Me.LoginPlainPassword,
Pwd_MAX_BYTES_PLAIN_PASSWORD);
/***** Encrypt password *****/
Cry_EncryptSHA512Base64 (Gbl.Usrs.Me.LoginPlainPassword,Gbl.Usrs.Me.LoginEncryptedPassword);
@ -160,12 +161,12 @@ void Pwd_ActChgMyPwd1 (void)
extern const char *Txt_You_have_not_written_twice_the_same_new_password;
extern const char *Txt_Your_password_has_been_changed_successfully;
extern const char *Txt_You_have_not_entered_your_password_correctly;
char PlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD + 1];
char NewPlainPassword[2][Pwd_MAX_LENGTH_PLAIN_PASSWORD + 1];
char PlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1];
char NewPlainPassword[2][Pwd_MAX_BYTES_PLAIN_PASSWORD + 1];
char NewEncryptedPassword[Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64 + 1];
/***** Get plain password from form *****/
Par_GetParToText ("UsrPwd",PlainPassword,Pwd_MAX_LENGTH_PLAIN_PASSWORD);
Par_GetParToText ("UsrPwd",PlainPassword,Pwd_MAX_BYTES_PLAIN_PASSWORD);
/***** Encrypt password *****/
Cry_EncryptSHA512Base64 (PlainPassword,Gbl.Usrs.Me.LoginEncryptedPassword);
@ -173,8 +174,8 @@ void Pwd_ActChgMyPwd1 (void)
Gbl.Usrs.Error = true;
if (Pwd_CheckCurrentPassword ())
{
Par_GetParToText ("Paswd1",NewPlainPassword[0],Pwd_MAX_LENGTH_PLAIN_PASSWORD);
Par_GetParToText ("Paswd2",NewPlainPassword[1],Pwd_MAX_LENGTH_PLAIN_PASSWORD);
Par_GetParToText ("Paswd1",NewPlainPassword[0],Pwd_MAX_BYTES_PLAIN_PASSWORD);
Par_GetParToText ("Paswd2",NewPlainPassword[1],Pwd_MAX_BYTES_PLAIN_PASSWORD);
/***** Check if I have written twice the same password *****/
if (strcmp (NewPlainPassword[0],NewPlainPassword[1]))
@ -183,7 +184,7 @@ void Pwd_ActChgMyPwd1 (void)
else
{
Str_ChangeFormat (Str_FROM_FORM,Str_TO_TEXT,
NewPlainPassword[0],Pwd_MAX_LENGTH_PLAIN_PASSWORD,true);
NewPlainPassword[0],Pwd_MAX_BYTES_PLAIN_PASSWORD,true);
Cry_EncryptSHA512Base64 (NewPlainPassword[0],NewEncryptedPassword);
if (Pwd_SlowCheckIfPasswordIsGood (NewPlainPassword[0],NewEncryptedPassword,Gbl.Usrs.Me.UsrDat.UsrCod)) // New password is good?
{
@ -280,7 +281,7 @@ void Pwd_ChkIdLoginAndSendNewPwd (void)
extern const char *Txt_If_you_have_written_your_ID_nickname_or_email_correctly_;
extern const char *Txt_There_are_more_than_one_user_with_the_ID_X_Please_type_a_nick_or_email;
struct ListUsrCods ListUsrCods;
char NewRandomPlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD + 1];
char NewRandomPlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1];
int ReturnCode;
/***** Check if user's ID or nickname is not empty *****/
@ -328,7 +329,7 @@ void Pwd_ChkIdLoginAndSendNewPwd (void)
// User has typed a user's ID
Str_Copy (Gbl.Usrs.Me.UsrDat.IDs.List[0].ID,Gbl.Usrs.Me.UsrIdLogin,
ID_MAX_LENGTH_USR_ID);
ID_MAX_BYTES_USR_ID);
Str_ConvertToUpperText (Gbl.Usrs.Me.UsrDat.IDs.List[0].ID);
/* Get users' codes for this ID */
@ -391,7 +392,7 @@ void Pwd_ChkIdLoginAndSendNewPwd (void)
// Gbl.Usrs.Me.UsrDat must be filled
// Return code returned by command
int Pwd_SendNewPasswordByEmail (char NewRandomPlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD + 1])
int Pwd_SendNewPasswordByEmail (char NewRandomPlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1])
{
extern const char *Txt_The_following_password_has_been_assigned_to_you_to_log_in_X_NO_HTML;
extern const char *Txt_New_password_NO_HTML[1 + Txt_NUM_LANGUAGES];
@ -445,16 +446,16 @@ int Pwd_SendNewPasswordByEmail (char NewRandomPlainPassword[Pwd_MAX_LENGTH_PLAIN
/*********************** Create a new random password ************************/
/*****************************************************************************/
static void Pwd_CreateANewPassword (char PlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD + 1])
static void Pwd_CreateANewPassword (char PlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1])
{
Str_CreateRandomAlphanumStr (PlainPassword,Pwd_MIN_LENGTH_PLAIN_PASSWORD);
Str_CreateRandomAlphanumStr (PlainPassword,Pwd_MIN_CHARS_PLAIN_PASSWORD);
}
/*****************************************************************************/
/*************************** Set my pending password *************************/
/*****************************************************************************/
void Pwd_SetMyPendingPassword (char PlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD + 1])
void Pwd_SetMyPendingPassword (char PlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1])
{
char Query[512];
@ -483,7 +484,7 @@ void Pwd_UpdateOtherPwd1 (void)
extern const char *Txt_You_have_not_written_twice_the_same_new_password;
extern const char *Txt_The_X_password_has_been_changed_successfully;
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
char NewPlainPassword[2][Pwd_MAX_LENGTH_PLAIN_PASSWORD + 1];
char NewPlainPassword[2][Pwd_MAX_BYTES_PLAIN_PASSWORD + 1];
char NewEncryptedPassword[Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64 + 1];
Gbl.Usrs.Error = true;
@ -493,8 +494,8 @@ void Pwd_UpdateOtherPwd1 (void)
{
if (Usr_ICanEditOtherUsr (&Gbl.Usrs.Other.UsrDat))
{
Par_GetParToText ("Paswd1",NewPlainPassword[0],Pwd_MAX_LENGTH_PLAIN_PASSWORD);
Par_GetParToText ("Paswd2",NewPlainPassword[1],Pwd_MAX_LENGTH_PLAIN_PASSWORD);
Par_GetParToText ("Paswd1",NewPlainPassword[0],Pwd_MAX_BYTES_PLAIN_PASSWORD);
Par_GetParToText ("Paswd2",NewPlainPassword[1],Pwd_MAX_BYTES_PLAIN_PASSWORD);
if (strcmp (NewPlainPassword[0],NewPlainPassword[1]))
// Paswords don't match
@ -502,7 +503,7 @@ void Pwd_UpdateOtherPwd1 (void)
else
{
Str_ChangeFormat (Str_FROM_FORM,Str_TO_TEXT,
NewPlainPassword[0],Pwd_MAX_LENGTH_PLAIN_PASSWORD,true);
NewPlainPassword[0],Pwd_MAX_BYTES_PLAIN_PASSWORD,true);
Cry_EncryptSHA512Base64 (NewPlainPassword[0],NewEncryptedPassword);
if (Pwd_SlowCheckIfPasswordIsGood (NewPlainPassword[0],NewEncryptedPassword,Gbl.Usrs.Other.UsrDat.UsrCod)) // Good password
{
@ -578,7 +579,7 @@ bool Pwd_SlowCheckIfPasswordIsGood (const char *PlainPassword,
static bool Pwd_CheckIfPasswdIsUsrIDorName (const char *PlainPassword)
{
char Query[128 + 3 * Pwd_MAX_LENGTH_PLAIN_PASSWORD];
char Query[128 + 3 * Pwd_MAX_BYTES_PLAIN_PASSWORD];
bool Found;
/***** Get if password is found in user's ID from database *****/
@ -632,10 +633,10 @@ bool Pwd_FastCheckIfPasswordSeemsGood (const char *PlainPassword)
bool ItsANumber;
/***** Check length of password *****/
if (LengthPassword < Pwd_MIN_LENGTH_PLAIN_PASSWORD) // PlainPassword too short
if (LengthPassword < Pwd_MIN_BYTES_PLAIN_PASSWORD) // PlainPassword too short
{
sprintf (Gbl.Message,Txt_The_password_must_be_at_least_X_characters,
Pwd_MIN_LENGTH_PLAIN_PASSWORD);
Pwd_MIN_CHARS_PLAIN_PASSWORD);
return false;
}
@ -708,13 +709,13 @@ void Pwd_ShowFormChgPwd (void)
"</tr>",
The_ClassForm[Gbl.Prefs.Theme],
Txt_Current_password,
Pwd_MAX_LENGTH_PLAIN_PASSWORD);
Pwd_MAX_CHARS_PLAIN_PASSWORD);
/* Help message */
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\">");
sprintf (Gbl.Message,Txt_Your_password_must_be_at_least_X_characters_and_can_not_contain_spaces_,
Pwd_MIN_LENGTH_PLAIN_PASSWORD);
Pwd_MIN_CHARS_PLAIN_PASSWORD);
Lay_ShowAlert (Lay_INFO,Gbl.Message);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
@ -741,7 +742,7 @@ void Pwd_PutFormToGetNewPasswordOnce (void)
extern const char *Txt_Password;
extern const char *Txt_HELP_password;
sprintf (Gbl.Message,Txt_HELP_password,Pwd_MIN_LENGTH_PLAIN_PASSWORD);
sprintf (Gbl.Message,Txt_HELP_password,Pwd_MIN_CHARS_PLAIN_PASSWORD);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Passwd\" class=\"%s\">%s:</label>"
@ -754,7 +755,7 @@ void Pwd_PutFormToGetNewPasswordOnce (void)
"</tr>",
The_ClassForm[Gbl.Prefs.Theme],
Txt_Password,
Pwd_MAX_LENGTH_PLAIN_PASSWORD,
Pwd_MAX_CHARS_PLAIN_PASSWORD,
Gbl.Message);
}
@ -769,7 +770,7 @@ void Pwd_PutFormToGetNewPasswordTwice (void)
extern const char *Txt_HELP_password;
extern const char *Txt_Retype_new_password;
sprintf (Gbl.Message,Txt_HELP_password,Pwd_MIN_LENGTH_PLAIN_PASSWORD);
sprintf (Gbl.Message,Txt_HELP_password,Pwd_MIN_CHARS_PLAIN_PASSWORD);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Paswd1\" class=\"%s\">%s:</label>"
@ -792,11 +793,11 @@ void Pwd_PutFormToGetNewPasswordTwice (void)
"</tr>",
The_ClassForm[Gbl.Prefs.Theme],
Txt_New_password,
Pwd_MAX_LENGTH_PLAIN_PASSWORD,
Pwd_MAX_CHARS_PLAIN_PASSWORD,
Gbl.Message,
The_ClassForm[Gbl.Prefs.Theme],
Txt_Retype_new_password,
Pwd_MAX_LENGTH_PLAIN_PASSWORD,
Pwd_MAX_CHARS_PLAIN_PASSWORD,
Gbl.Message);
}
@ -910,7 +911,7 @@ void Pwd_AskForConfirmationOnDangerousAction (void)
Txt_I_understand_that_this_action_can_not_be_undone,
The_ClassForm[Gbl.Prefs.Theme],
Txt_For_security_enter_your_password,
Pwd_MAX_LENGTH_PLAIN_PASSWORD);
Pwd_MAX_CHARS_PLAIN_PASSWORD);
}
/*****************************************************************************/
@ -922,7 +923,7 @@ bool Pwd_GetConfirmationOnDangerousAction (void)
{
extern const char *Txt_You_have_not_confirmed_the_action;
extern const char *Txt_You_have_not_entered_your_password_correctly;
char PlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD + 1];
char PlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1];
char EncryptedPassword[Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64 + 1];
/***** Get if consent has been done *****/
@ -934,7 +935,7 @@ bool Pwd_GetConfirmationOnDangerousAction (void)
/***** Get my password *****/
/* Get plain password from form */
Par_GetParToText ("OthUsrPwd",PlainPassword,Pwd_MAX_LENGTH_PLAIN_PASSWORD);
Par_GetParToText ("OthUsrPwd",PlainPassword,Pwd_MAX_BYTES_PLAIN_PASSWORD);
/* Encrypt password */
Cry_EncryptSHA512Base64 (PlainPassword,EncryptedPassword);

View File

@ -31,8 +31,11 @@
/************************* Public types and constants ************************/
/*****************************************************************************/
#define Pwd_MIN_LENGTH_PLAIN_PASSWORD 8
#define Pwd_MAX_LENGTH_PLAIN_PASSWORD 256
#define Pwd_MIN_CHARS_PLAIN_PASSWORD 8
#define Pwd_MIN_BYTES_PLAIN_PASSWORD Pwd_MIN_CHARS_PLAIN_PASSWORD
#define Pwd_MAX_CHARS_PLAIN_PASSWORD (256 - 1)
#define Pwd_MAX_BYTES_PLAIN_PASSWORD Pwd_MAX_CHARS_PLAIN_PASSWORD
/*****************************************************************************/
/***************************** Public prototypes *****************************/
@ -50,8 +53,8 @@ void Pwd_ActChgMyPwd2 (void);
void Pwd_PutLinkToSendNewPasswd (void);
void Pwd_ShowFormSendNewPwd (void);
void Pwd_ChkIdLoginAndSendNewPwd (void);
int Pwd_SendNewPasswordByEmail (char NewRandomPlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD + 1]);
void Pwd_SetMyPendingPassword (char PlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD + 1]);
int Pwd_SendNewPasswordByEmail (char NewRandomPlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1]);
void Pwd_SetMyPendingPassword (char PlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1]);
void Pwd_UpdateOtherPwd1 (void);
void Pwd_UpdateOtherPwd2 (void);

View File

@ -1099,7 +1099,7 @@ void Pho_UpdatePhotoName (struct UsrData *UsrDat)
/***** Update photo name in user's data *****/
Str_Copy (UsrDat->Photo,Gbl.UniqueNameEncrypted,
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
}
/*****************************************************************************/
@ -1116,7 +1116,7 @@ void Pho_ShowUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
Act_Actions[Gbl.Action.Act].BrowserWindow == Act_THIS_WINDOW; // Only in main window
bool PutZoomCode = Zoom == Pho_ZOOM && // Make zoom
Act_Actions[Gbl.Action.Act].BrowserWindow == Act_THIS_WINDOW; // Only in main window
char IdCaption[Act_MAX_LENGTH_ID];
char IdCaption[Act_MAX_BYTES_ID];
/***** Start form to go to public profile *****/
if (PutLinkToPublicProfile)
@ -2325,7 +2325,7 @@ static void Pho_ShowDegreeAvgPhotoAndStat (struct Degree *Deg,
char PhotoURL[PATH_MAX + 1];
char PhotoCaption[512];
bool ShowDegPhoto;
char IdCaption[Act_MAX_LENGTH_ID];
char IdCaption[Act_MAX_BYTES_ID];
/***** Initializations *****/
PhotoURL[0] = '\0';

View File

@ -79,7 +79,7 @@ void Plg_ListPlugins (void)
extern const char *Txt_Plugin;
unsigned NumPlg;
struct Plugin *Plg;
char URL[Cns_MAX_LENGTH_WWW+Ses_LENGTH_SESSION_ID + 1];
char URL[Cns_MAX_BYTES_WWW + Ses_LENGTH_SESSION_ID + 1];
if (Gbl.Usrs.Me.LoggedRole != Rol_SYS_ADM)
{
@ -244,7 +244,7 @@ static void Plg_GetListPlugins (void)
/* Get the URL of the plugin (row[5]) */
Str_Copy (Plg->URL,row[5],
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
/* Get the IP of the plugin (row[6]) */
Str_Copy (Plg->IP,row[6],
@ -311,7 +311,7 @@ bool Plg_GetDataOfPluginByCod (struct Plugin *Plg)
/* Get the URL of the plugin (row[4]) */
Str_Copy (Plg->URL,row[4],
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
/* Get the IP of the plugin (row[5]) */
Str_Copy (Plg->IP,row[5],
@ -441,7 +441,7 @@ static void Plg_ListPluginsForEdition (void)
fprintf (Gbl.F.Out,"<input type=\"url\" name=\"URL\""
" size=\"15\" maxlength=\"%u\" value=\"%s\""
" onchange=\"document.getElementById('%s').submit();\" />",
Cns_MAX_LENGTH_WWW,Plg->URL,Gbl.Form.Id);
Cns_MAX_CHARS_WWW,Plg->URL,Gbl.Form.Id);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>");
@ -741,8 +741,8 @@ void Plg_ChangePlgURL (void)
extern const char *Txt_The_new_URL_is_X;
extern const char *Txt_You_can_not_leave_the_URL_empty;
struct Plugin *Plg;
char Query[256 + Cns_MAX_LENGTH_WWW];
char NewURL[Cns_MAX_LENGTH_WWW + 1];
char Query[256 + Cns_MAX_BYTES_WWW];
char NewURL[Cns_MAX_BYTES_WWW + 1];
Plg = &Gbl.Plugins.EditingPlg;
@ -752,7 +752,7 @@ void Plg_ChangePlgURL (void)
Lay_ShowErrorAndExit ("Code of plugin is missing.");
/* Get the new URL for the plugin */
Par_GetParToText ("URL",NewURL,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("URL",NewURL,Cns_MAX_BYTES_WWW);
/***** Check if new URL is empty *****/
if (NewURL[0])
@ -772,7 +772,7 @@ void Plg_ChangePlgURL (void)
/***** Show the form again *****/
Str_Copy (Plg->URL,NewURL,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
Plg_EditPlugins ();
}
@ -910,7 +910,7 @@ static void Plg_PutFormToCreatePlugin (void)
" size=\"15\" maxlength=\"%u\" value=\"%s\""
" required=\"required\" />"
"</td>",
Cns_MAX_LENGTH_WWW,Plg->URL);
Cns_MAX_CHARS_WWW,Plg->URL);
/***** Plugin IP address *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
@ -1003,7 +1003,7 @@ void Plg_RecFormNewPlg (void)
Par_GetParToText ("AppKey",Plg->AppKey,Plg_MAX_LENGTH_PLUGIN_APP_KEY);
/* Get plugin URL */
Par_GetParToText ("URL",Plg->URL,Cns_MAX_LENGTH_WWW);
Par_GetParToText ("URL",Plg->URL,Cns_MAX_BYTES_WWW);
/* Get plugin IP address */
Par_GetParToText ("IP",Plg->IP,Cns_MAX_LENGTH_IP);
@ -1043,7 +1043,7 @@ static void Plg_CreatePlugin (struct Plugin *Plg)
Plg_MAX_LENGTH_PLUGIN_DESCRIPTION +
Plg_MAX_LENGTH_PLUGIN_LOGO +
Plg_MAX_LENGTH_PLUGIN_APP_KEY +
Cns_MAX_LENGTH_WWW +
Cns_MAX_BYTES_WWW +
Cns_MAX_LENGTH_IP];
/***** Create a new plugin *****/

View File

@ -47,7 +47,7 @@ struct Plugin
char Description[Plg_MAX_LENGTH_PLUGIN_DESCRIPTION + 1];
char Logo[Plg_MAX_LENGTH_PLUGIN_LOGO + 1];
char AppKey[Plg_MAX_LENGTH_PLUGIN_APP_KEY + 1];
char URL[Cns_MAX_LENGTH_WWW + 1];
char URL[Cns_MAX_BYTES_WWW + 1];
char IP[Cns_MAX_LENGTH_IP + 1];
};

View File

@ -404,7 +404,7 @@ void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
unsigned NumCrssUsrIsStudent;
unsigned NumFiles;
unsigned NumPublicFiles;
char IdFirstClickTime[Act_MAX_LENGTH_ID];
char IdFirstClickTime[Act_MAX_BYTES_ID];
/***** Start left list *****/
fprintf (Gbl.F.Out,"<div class=\"PRF_FIG_LEFT_CONTAINER\">"

View File

@ -995,7 +995,7 @@ void Rec_ListRecordsGsts (void)
Ptr = Gbl.Usrs.Select.All;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&UsrDat);
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat)) // Get from the database the data of the student
{
@ -1158,7 +1158,7 @@ static void Rec_ListRecordsStds (Rec_SharedRecordViewType_t ShaTypeOfView,
Ptr = Gbl.Usrs.Select.All;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&UsrDat);
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat)) // Get from the database the data of the student
if (Usr_CheckIfUsrBelongsToCrs (UsrDat.UsrCod,
@ -1354,7 +1354,7 @@ void Rec_ListRecordsTchs (void)
Ptr = Gbl.Usrs.Select.All;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&UsrDat);
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat)) // Get from the database the data of the student
if (Usr_CheckIfUsrBelongsToCrs (UsrDat.UsrCod,

View File

@ -766,7 +766,7 @@ static void Rep_WriteSectionHitsPerAction (struct Rep_Report *Report)
Act_Action_t Action;
Act_Action_t SuperAction;
Tab_Tab_t Tab;
char ActTxt[Act_MAX_LENGTH_ACTION_TXT + 1];
char ActTxt[Act_MAX_BYTES_ACTION_TXT + 1];
unsigned long NumClicks;
/***** Start of section *****/

View File

@ -33,7 +33,7 @@
/***************************** Public constants ******************************/
/*****************************************************************************/
#define Ses_LENGTH_SESSION_ID Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64
#define Ses_LENGTH_SESSION_ID Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64
#define Con_MIN_TIME_TO_REFRESH_CONNECTED_IN_MS (Cfg_MIN_TIME_TO_REFRESH_CONNECTED * 1000L) // Refresh period of connected users in miliseconds
#define Con_MAX_TIME_TO_REFRESH_CONNECTED_IN_MS (Cfg_MAX_TIME_TO_REFRESH_CONNECTED * 1000L) // Refresh period of connected users in miliseconds

View File

@ -182,10 +182,10 @@ static void Soc_PutTextarea (const char *Placeholder,
static long Soc_ReceiveSocialPost (void);
static void Soc_PutIconToToggleCommentSocialNote (const char UniqueId[Act_MAX_LENGTH_ID]);
static void Soc_PutIconToToggleCommentSocialNote (const char UniqueId[Act_MAX_BYTES_ID]);
static void Soc_PutIconCommentDisabled (void);
static void Soc_PutHiddenFormToWriteNewCommentToSocialNote (long NotCod,
const char IdNewComment[Act_MAX_LENGTH_ID]);
const char IdNewComment[Act_MAX_BYTES_ID]);
static unsigned long Soc_GetNumCommentsInSocialNote (long NotCod);
static void Soc_WriteCommentsInSocialNote (const struct SocialNote *SocNot);
static void Soc_WriteSocialComment (struct SocialComment *SocCom,
@ -1265,7 +1265,7 @@ static void Soc_WriteSocialNote (const struct SocialNote *SocNot,
char ForumName[For_MAX_BYTES_FORUM_NAME + 1];
char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1];
unsigned NumComments;
char IdNewComment[Act_MAX_LENGTH_ID];
char IdNewComment[Act_MAX_BYTES_ID];
/***** Start frame ****/
if (ShowNoteAlone)
@ -1617,7 +1617,7 @@ static void Soc_WriteAuthorNote (const struct UsrData *UsrDat)
static void Soc_WriteDateTime (time_t TimeUTC)
{
extern const char *Txt_Today;
char IdDateTime[Act_MAX_LENGTH_ID];
char IdDateTime[Act_MAX_BYTES_ID];
/***** Create unique Id *****/
Act_SetUniqueId (IdDateTime);
@ -2190,7 +2190,7 @@ static void Soc_PutTextarea (const char *Placeholder,
const char *ClassTextArea,const char *ClassImgTit)
{
extern const char *Txt_Post;
char IdDivImgButton[Act_MAX_LENGTH_ID];
char IdDivImgButton[Act_MAX_BYTES_ID];
/***** Set unique id for the hidden div *****/
Act_SetUniqueId (IdDivImgButton);
@ -2292,7 +2292,7 @@ static long Soc_ReceiveSocialPost (void)
/***** Allocate space for query *****/
if ((Query = malloc (256 +
strlen (Content) +
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 +
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 +
Img_MAX_BYTES_TITLE)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to store database query.");
@ -2336,7 +2336,7 @@ static long Soc_ReceiveSocialPost (void)
/****** Put an icon to toggle on/off the form to comment a social note *******/
/*****************************************************************************/
static void Soc_PutIconToToggleCommentSocialNote (const char UniqueId[Act_MAX_LENGTH_ID])
static void Soc_PutIconToToggleCommentSocialNote (const char UniqueId[Act_MAX_BYTES_ID])
{
extern const char *Txt_Comment;
@ -2378,7 +2378,7 @@ static void Soc_PutIconCommentDisabled (void)
// All forms in this function and nested functions must have unique identifiers
static void Soc_PutHiddenFormToWriteNewCommentToSocialNote (long NotCod,
const char IdNewComment[Act_MAX_LENGTH_ID])
const char IdNewComment[Act_MAX_BYTES_ID])
{
extern const char *Txt_New_SOCIAL_comment;
bool ShowPhoto = false;
@ -2992,7 +2992,7 @@ static long Soc_ReceiveComment (void)
/***** Allocate space for query *****/
if ((Query = malloc (256 +
strlen (Content) +
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 +
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 +
Img_MAX_BYTES_TITLE)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to store database query.");
@ -4910,9 +4910,9 @@ static void Str_AnalyzeTxtAndStoreNotifyEventToMentionedUsrs (long PubCod,const
Nickname.Length = (size_t) (Ptr - Nickname.PtrStart);
/* A nick (without arroba) must have a number of characters
Nck_MIN_LENGTH_NICKNAME_WITHOUT_ARROBA <= Length <= Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA */
IsNickname = (Nickname.Length >= Nck_MIN_LENGTH_NICKNAME_WITHOUT_ARROBA &&
Nickname.Length <= Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA);
Nck_MIN_BYTES_NICKNAME_WITHOUT_ARROBA <= Length <= Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA */
IsNickname = (Nickname.Length >= Nck_MIN_BYTES_NICKNAME_WITHOUT_ARROBA &&
Nickname.Length <= Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA);
if (IsNickname)
{

View File

@ -774,7 +774,7 @@ static void Sta_WriteSelectorAction (void)
Act_Action_t Action;
Act_Action_t SuperAction;
Tab_Tab_t Tab;
char ActTxt[Act_MAX_LENGTH_ACTION_TXT + 1];
char ActTxt[Act_MAX_BYTES_ACTION_TXT + 1];
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
@ -836,7 +836,7 @@ void Sta_SeeCrsAccesses (void)
/******************** Compute and show access statistics ********************/
/*****************************************************************************/
#define Sta_MAX_LENGTH_QUERY_ACCESS (1024 + (10 + ID_MAX_LENGTH_USR_ID) * 5000 - 1)
#define Sta_MAX_LENGTH_QUERY_ACCESS (1024 + (10 + ID_MAX_BYTES_USR_ID) * 5000 - 1)
#define Sta_MAX_LENGTH_COUNT_TYPE (256 - 1)
@ -1289,7 +1289,7 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
Ptr = Gbl.Usrs.Select.All;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&UsrDat);
if (UsrDat.UsrCod > 0)
{
@ -1570,7 +1570,7 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
Rol_Role_t RoleFromLog;
unsigned UniqueId;
long ActCod;
char ActTxt[Act_MAX_LENGTH_ACTION_TXT + 1];
char ActTxt[Act_MAX_BYTES_ACTION_TXT + 1];
/***** Initialize estructura of data of the user *****/
Usr_UsrDataConstructor (&UsrDat);
@ -3053,7 +3053,7 @@ static void Sta_ShowNumHitsPerAction (unsigned long NumRows,
struct Sta_Hits Hits;
MYSQL_ROW row;
long ActCod;
char ActTxt[Act_MAX_LENGTH_ACTION_TXT + 1];
char ActTxt[Act_MAX_BYTES_ACTION_TXT + 1];
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"

View File

@ -114,7 +114,7 @@ void Str_InsertLinks (char *Txt,unsigned long MaxLength,size_t MaxCharsURLOnScre
extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES];
char ParamsStr[256 + 256 + Ses_LENGTH_SESSION_ID + 256];
char Anchor1Nick[256 + 256 + 256 + Ses_LENGTH_SESSION_ID + 256 + 256];
char Anchor2Nick[256 + Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64];
char Anchor2Nick[256 + Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64];
size_t TxtLength;
size_t TxtLengthWithInsertedAnchors;
@ -286,10 +286,10 @@ void Str_InsertLinks (char *Txt,unsigned long MaxLength,size_t MaxCharsURLOnScre
Links[NumLinks].NumActualBytes = (size_t) (PtrSrc - Links[NumLinks].PtrStart);
/* A nick (without arroba) must have a number of characters
Nck_MIN_LENGTH_NICKNAME_WITHOUT_ARROBA <= Length <= Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA */
Nck_MIN_BYTES_NICKNAME_WITHOUT_ARROBA <= Length <= Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA */
Length = Links[NumLinks].NumActualBytes - 1; // Do not count the initial @
IsNickname = (Length >= Nck_MIN_LENGTH_NICKNAME_WITHOUT_ARROBA &&
Length <= Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA);
IsNickname = (Length >= Nck_MIN_BYTES_NICKNAME_WITHOUT_ARROBA &&
Length <= Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA);
if (IsNickname)
{
@ -2263,38 +2263,6 @@ void Str_GetNextStringUntilSeparator (const char **StrSrc,char *StrDst,size_t Ma
StrDst[i] = '\0';
}
/*****************************************************************************/
/********** Get from file FileSrc the next string until separator ************/
/*****************************************************************************/
void Str_GetNextStringFromFileUntilSeparator (FILE *FileSrc,char *StrDst)
{
int i = 0;
int Ch;
/***** Skip separators *****/
do
Ch = fgetc (FileSrc);
while (Ch != EOF &&
(isspace (Ch) ||
Ch == 0xA0 || // Unicode translation for &nbsp;
Ch == (int) ',' ||
Ch == (int) ';')); // Skip spaces, puntuación, etc.
/***** Copy string while no separator found *****/
while (Ch != EOF &&
!(isspace (Ch) ||
Ch == 0xA0 || // Unicode translation for &nbsp;
Ch == (int) ',' ||
Ch == (int) ';'))
{
if (i < ID_MAX_LENGTH_USR_ID)
StrDst[i++] = (char) Ch;
Ch = fgetc (FileSrc);
}
StrDst[i] = '\0';
}
/*****************************************************************************/
/********** Get from StrSrc into StrDst the next string until comma **********/
/*****************************************************************************/

View File

@ -36,8 +36,8 @@
/*****************************************************************************/
#define Str_LENGTH_STR_HEX 3 // Length of the string #XX
#define Str_MAX_LENGTH_SPEC_CHAR_HTML 6 // Length of the string &#DDD;
#define Str_MAX_CHARACTER 6 // max (Str_LENGTH_STR_HEX,Str_MAX_LENGTH_SPEC_CHAR_HTML)
#define Str_MAX_LENGTH_SPEC_CHAR_HTML 8 // Length of the string &#DDDDD;
#define Str_MAX_BYTES_PER_CHAR 8 // max (Str_LENGTH_STR_HEX,Str_MAX_LENGTH_SPEC_CHAR_HTML)
/*****************************************************************************/
/******************************* Public types *******************************/
@ -97,7 +97,6 @@ char *Str_GetCellFromHTMLTableSkipComments (FILE *FileSrc,char *Str,int MaxLengt
char *Str_GetNextStrFromFileConvertingToLower (FILE *FileSrc,char *Str, int N);
void Str_GetNextStringUntilSpace (const char **StrSrc,char *StrDst,size_t MaxLength);
void Str_GetNextStringUntilSeparator (const char **StrSrc,char *StrDst,size_t MaxLength);
void Str_GetNextStringFromFileUntilSeparator (FILE *FileSrc,char *StrDst);
void Str_GetNextStringUntilComma (const char **StrSrc,char *StrDst,size_t MaxLength);
void Str_ReplaceSeveralSpacesForOne (char *Str);
void Str_CopyStrChangingSpaces (const char *StringWithSpaces,char *StringWithoutSpaces,unsigned MaxLength);

View File

@ -50,7 +50,7 @@ extern struct Globals Gbl;
/*****************************************************************************/
#define Svy_MAX_LENGTH_ANSWER 1000
#define Svy_MAX_BYTES_ANSWER (Svy_MAX_LENGTH_ANSWER * Str_MAX_CHARACTER)
#define Svy_MAX_BYTES_ANSWER (Svy_MAX_LENGTH_ANSWER * Str_MAX_BYTES_PER_CHAR)
#define Svy_MAX_BYTES_LIST_ANSWER_TYPES (10 + (Svy_NUM_ANS_TYPES - 1) * (1 + 10))
const char *Svy_StrAnswerTypesDB[Svy_NUM_ANS_TYPES] =

View File

@ -56,7 +56,7 @@ extern struct Globals Gbl;
#define Syl_MAX_LENGTH_ITEM_COD (Syl_MAX_LEVELS_SYLLABUS * (10 + 1) - 1)
#define Syl_MAX_LENGTH_TEXT_ITEM 1024
#define Syl_MAX_BYTES_TEXT_ITEM (Syl_MAX_LENGTH_TEXT_ITEM*Str_MAX_CHARACTER)
#define Syl_MAX_BYTES_TEXT_ITEM (Syl_MAX_LENGTH_TEXT_ITEM*Str_MAX_BYTES_PER_CHAR)
#define Syl_WIDTH_NUM_SYLLABUS 20

View File

@ -6009,7 +6009,7 @@ static void Tst_InsertOrUpdateQstIntoDB (void)
if ((Query = malloc (512 +
Gbl.Test.Stem.Length +
Gbl.Test.Feedback.Length +
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 +
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 +
Img_MAX_BYTES_TITLE)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to store database query.");
@ -7070,7 +7070,7 @@ void Tst_ShowUsrsTestResults (void)
Ptr = Gbl.Usrs.Select.All;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,Gbl.Usrs.Other.UsrDat.EncryptedUsrCod,Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,Gbl.Usrs.Other.UsrDat.EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&Gbl.Usrs.Other.UsrDat);
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat)) // Get of the database the data of the user
if (Usr_CheckIfUsrBelongsToCrs (Gbl.Usrs.Other.UsrDat.UsrCod,

View File

@ -36,13 +36,13 @@
#define Tst_MAX_QUESTIONS_PER_TEST 100 // Absolute maximum number of questions in a test
#define Tst_MAX_TAGS_PER_QUESTION 5
#define Tst_MAX_LENGTH_TAG (256 -1)
#define Tst_MAX_BYTES_TAG (Tst_MAX_LENGTH_TAG*Str_MAX_CHARACTER)
#define Tst_MAX_BYTES_TAG (Tst_MAX_LENGTH_TAG*Str_MAX_BYTES_PER_CHAR)
#define Tst_MAX_OPTIONS_PER_QUESTION 10
#define Tst_MAX_SIZE_INDEXES_ONE_QST (Tst_MAX_OPTIONS_PER_QUESTION * (10 + 1))
#define Tst_MAX_SIZE_ANSWERS_ONE_QST (Tst_MAX_OPTIONS_PER_QUESTION * (10 + 1))
#define Tst_MAX_LENGTH_ANSWER 1000
#define Tst_MAX_BYTES_ANSWER_OR_FEEDBACK (Tst_MAX_LENGTH_ANSWER*Str_MAX_CHARACTER)
#define Tst_MAX_BYTES_ANSWER_OR_FEEDBACK (Tst_MAX_LENGTH_ANSWER*Str_MAX_BYTES_PER_CHAR)
#define Tst_CONFIG_DEFAULT_MIN_QUESTIONS 1
#define Tst_CONFIG_DEFAULT_DEF_QUESTIONS 20 // Number of questions to be generated by default in a self-assessment test

View File

@ -434,7 +434,7 @@ void Usr_GetEncryptedUsrCodFromUsrCod (struct UsrData *UsrDat) // TODO: Remove t
/***** Get encrypted user's code *****/
row = mysql_fetch_row (mysql_res);
Str_Copy (UsrDat->EncryptedUsrCod,row[0],
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
/***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res);
@ -483,7 +483,7 @@ void Usr_GetUsrDataFromUsrCod (struct UsrData *UsrDat)
/* Get encrypted user's code */
Str_Copy (UsrDat->EncryptedUsrCod,row[0],
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
/* Get encrypted password */
Str_Copy (UsrDat->Password,row[1],
@ -550,7 +550,7 @@ void Usr_GetUsrDataFromUsrCod (struct UsrData *UsrDat)
/* Get rest of data */
Str_Copy (UsrDat->Photo,row[10],
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
UsrDat->PhotoVisibility = Pri_GetVisibilityFromStr (row[11]);
UsrDat->ProfileVisibility = Pri_GetVisibilityFromStr (row[12]);
UsrDat->CtyCod = Str_ConvertStrCodToLongCod (row[13]);
@ -2070,7 +2070,7 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) ())
Gbl.Prefs.IconsURL,
Txt_Password,
Txt_Password,
Pwd_MAX_LENGTH_PLAIN_PASSWORD,
Pwd_MAX_CHARS_PLAIN_PASSWORD,
Txt_password);
/***** Send button and end table and frame *****/
@ -2374,7 +2374,7 @@ unsigned Usr_GetParamOtherUsrIDNickOrEMailAndGetUsrCods (struct ListUsrCods *Lis
Str_Copy (Gbl.Usrs.Other.UsrDat.IDs.List[0].ID,
Gbl.Usrs.Other.UsrDat.UsrIDNickOrEmail,
ID_MAX_LENGTH_USR_ID);
ID_MAX_BYTES_USR_ID);
Str_ConvertToUpperText (Gbl.Usrs.Other.UsrDat.IDs.List[0].ID);
/* Check if user's ID exists in database */
@ -2412,7 +2412,7 @@ void Usr_PutParamOtherUsrCodEncrypted (void)
Usr_PutParamUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod);
}
void Usr_PutParamUsrCodEncrypted (const char EncryptedUsrCod[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 1])
void Usr_PutParamUsrCodEncrypted (const char EncryptedUsrCod[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1])
{
Par_PutHiddenParamString ("OtherUsrCod",EncryptedUsrCod);
}
@ -2424,7 +2424,7 @@ void Usr_PutParamUsrCodEncrypted (const char EncryptedUsrCod[Cry_LENGTH_ENCRYPTE
void Usr_GetParamOtherUsrCodEncrypted (struct UsrData *UsrDat)
{
Par_GetParToText ("OtherUsrCod",UsrDat->EncryptedUsrCod,
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
if (UsrDat->EncryptedUsrCod[0]) // If parameter exists...
{
Usr_GetUsrCodFromEncryptedUsrCod (UsrDat);
@ -2681,7 +2681,7 @@ static bool Usr_ChkUsrAndGetUsrDataFromDirectLogin (void)
ID_ReallocateListIDs (&Gbl.Usrs.Me.UsrDat,1);
Str_Copy (Gbl.Usrs.Me.UsrDat.IDs.List[0].ID,Gbl.Usrs.Me.UsrIdLogin,
ID_MAX_LENGTH_USR_ID);
ID_MAX_BYTES_USR_ID);
Str_ConvertToUpperText (Gbl.Usrs.Me.UsrDat.IDs.List[0].ID);
/* Check if user's ID exists in database, and get user's data */
@ -4879,7 +4879,7 @@ static void Usr_GetListUsrsFromQuery (const char *Query,Rol_Role_t Role,Sco_Scop
/* Get encrypted user's code (row[1]) */
Str_Copy (UsrInList->EncryptedUsrCod,row[1],
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
/* Get encrypted password (row[2]) */
Str_Copy (UsrInList->Password,row[2],
@ -4902,7 +4902,7 @@ static void Usr_GetListUsrsFromQuery (const char *Query,Rol_Role_t Role,Sco_Scop
/* Get user's photo (row[7]) */
Str_Copy (UsrInList->Photo,row[7],
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
/* Get user's photo visibility (row[8]) */
UsrInList->PhotoVisibility = Pri_GetVisibilityFromStr (row[8]);
@ -5002,7 +5002,7 @@ void Usr_CopyBasicUsrDataFromList (struct UsrData *UsrDat,const struct UsrInList
{
UsrDat->UsrCod = UsrInList->UsrCod;
Str_Copy (UsrDat->EncryptedUsrCod,UsrInList->EncryptedUsrCod,
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Str_Copy (UsrDat->Surname1,UsrInList->Surname1,
Usr_MAX_BYTES_NAME);
Str_Copy (UsrDat->Surname2,UsrInList->Surname2,
@ -5011,7 +5011,7 @@ void Usr_CopyBasicUsrDataFromList (struct UsrData *UsrDat,const struct UsrInList
Usr_MAX_BYTES_NAME);
UsrDat->Sex = UsrInList->Sex;
Str_Copy (UsrDat->Photo,UsrInList->Photo,
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
UsrDat->PhotoVisibility = UsrInList->PhotoVisibility;
UsrDat->CtyCod = UsrInList->CtyCod;
UsrDat->InsCod = UsrInList->InsCod;
@ -5292,7 +5292,7 @@ bool Usr_GetListMsgRecipientsWrittenExplicitelyBySender (bool WriteErrorMsgs)
ID_ReallocateListIDs (&UsrDat,1);
Str_Copy (UsrDat.IDs.List[0].ID,UsrIDNickOrEmail,
ID_MAX_LENGTH_USR_ID);
ID_MAX_BYTES_USR_ID);
/***** Check if a user exists having this user's ID *****/
if (ID_GetListUsrCodsFromUsrID (&UsrDat,NULL,&ListUsrCods,false))
@ -5380,14 +5380,14 @@ bool Usr_GetListMsgRecipientsWrittenExplicitelyBySender (bool WriteErrorMsgs)
bool Usr_FindUsrCodInListOfSelectedUsrs (const char *EncryptedUsrCodToFind)
{
const char *Ptr;
char EncryptedUsrCod[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 1];
char EncryptedUsrCod[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1];
if (Gbl.Usrs.Select.All)
{
Ptr = Gbl.Usrs.Select.All;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,EncryptedUsrCod,Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
if (!strcmp (EncryptedUsrCodToFind,EncryptedUsrCod))
return true; // Found!
}
@ -5409,7 +5409,7 @@ unsigned Usr_CountNumUsrsInListOfSelectedUsrs (void)
Ptr = Gbl.Usrs.Select.All;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&UsrDat);
if (UsrDat.UsrCod > 0)
NumUsrs++;

View File

@ -77,7 +77,7 @@
#define Usr_LIST_WITH_PHOTOS_DEF false
#define Usr_MAX_BYTES_LIST_ENCRYPTED_USR_CODS (Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 * Cfg_MAX_USRS_IN_LIST)
#define Usr_MAX_BYTES_LIST_ENCRYPTED_USR_CODS (Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 * Cfg_MAX_USRS_IN_LIST)
#define Usr_NUM_MAIN_FIELDS_DATA_USR 8
@ -119,14 +119,14 @@ typedef enum
struct UsrData
{
long UsrCod;
char EncryptedUsrCod [Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 1];
char EncryptedUsrCod [Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1];
char UsrIDNickOrEmail[Usr_MAX_BYTES_USR_LOGIN + 1]; // String to store the ID, nickname or email
struct
{
struct ListIDs *List;
unsigned Num;
} IDs;
char Nickname [Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA + 1];
char Nickname [Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA + 1];
char Password [Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64 + 1];
Rol_Role_t RoleInCurrentCrsDB;
int Roles; // Check always if filled/calculated
@ -140,7 +140,7 @@ struct UsrData
Usr_Sex_t Sex;
char Email [Usr_MAX_BYTES_USR_EMAIL + 1];
bool EmailConfirmed;
char Photo [Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 1]; // Name of public link to photo
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
Pri_Visibility_t ProfileVisibility; // Who can see user's public profile
long CtyCod; // Country
@ -185,13 +185,13 @@ struct UsrLast
struct UsrInList
{
long UsrCod;
char EncryptedUsrCod[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 1];
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];
Usr_Sex_t Sex;
char Photo[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 1]; // Name of public link to photo
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
long CtyCod; // Country
long InsCod; // Institution
@ -303,7 +303,7 @@ unsigned Usr_GetParamOtherUsrIDNickOrEMailAndGetUsrCods (struct ListUsrCods *Lis
void Usr_PutParamMyUsrCodEncrypted (void);
void Usr_PutParamOtherUsrCodEncrypted (void);
void Usr_PutParamUsrCodEncrypted (const char EncryptedUsrCod[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 1]);
void Usr_PutParamUsrCodEncrypted (const char EncryptedUsrCod[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1]);
void Usr_GetParamOtherUsrCodEncrypted (struct UsrData *UsrDat);
void Usr_GetParamOtherUsrCodEncryptedAndGetListIDs (void);
bool Usr_GetParamOtherUsrCodEncryptedAndGetUsrData (void);

View File

@ -192,7 +192,7 @@ Svc_Role_t Svc_RolRole_to_SvcRole[Rol_NUM_ROLES] =
Svc_ROLE_UNKNOWN, // Rol_SYS_ADM
};
#define Svc_LENGTH_WS_KEY Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64
#define Svc_LENGTH_WS_KEY Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64
/*****************************************************************************/
/********************************* Data types ********************************/
@ -204,11 +204,11 @@ Svc_Role_t Svc_RolRole_to_SvcRole[Rol_NUM_ROLES] =
static int Svc_GetPlgCodFromAppKey (const char *appKey);
static int Svc_CheckIdSession (const char *IdSession);
static int Svc_CheckWSKey (char WSKey[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 1]);
static int Svc_CheckWSKey (char WSKey[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1]);
static int Svc_CheckCourseAndGroupCodes (long CrsCod,long GrpCod);
static int Svc_GenerateNewWSKey (long UsrCod,
char WSKey[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 1]);
char WSKey[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1]);
static int Svc_RemoveOldWSKeys (void);
static int Svc_GetCurrentDegCodFromCurrentCrsCod (void);
static bool Svc_GetSomeUsrDataFromUsrCod (struct UsrData *UsrDat,long CrsCod);
@ -371,7 +371,7 @@ static int Svc_CheckIdSession (const char *IdSession)
/************** Check if a web service key exists in database ****************/
/*****************************************************************************/
static int Svc_CheckWSKey (char WSKey[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 1])
static int Svc_CheckWSKey (char WSKey[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1])
{
char Query[512];
MYSQL_RES *mysql_res;
@ -443,7 +443,7 @@ static int Svc_CheckCourseAndGroupCodes (long CrsCod,long GrpCod)
/*****************************************************************************/
static int Svc_GenerateNewWSKey (long UsrCod,
char WSKey[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64 + 1])
char WSKey[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1])
{
int ReturnCode;
char Query[512];
@ -454,7 +454,7 @@ static int Svc_GenerateNewWSKey (long UsrCod,
/***** Create a unique name for the key *****/
Str_Copy (WSKey,Gbl.UniqueNameEncrypted,
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
/***** Check that key does not exist in database *****/
sprintf (Query,"SELECT COUNT(*) FROM ws_keys WHERE WSKey='%s'",
@ -562,7 +562,7 @@ static bool Svc_GetSomeUsrDataFromUsrCod (struct UsrData *UsrDat,long CrsCod)
/* Get user's photo */
Str_Copy (UsrDat->Photo,row[3],
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
/* Get user's brithday */
Dat_GetDateFromYYYYMMDD (&(UsrDat->Birthday),row[4]);
@ -688,7 +688,7 @@ int swad__createAccount (struct soap *soap,
/***** Save nickname *****/
Nck_UpdateMyNick (NewNicknameWithoutArroba);
Str_Copy (Gbl.Usrs.Me.UsrDat.Nickname,NewNicknameWithoutArroba,
Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA);
Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA);
/***** Save email *****/
if (Mai_UpdateEmailInDB (&Gbl.Usrs.Me.UsrDat,userEmail))
@ -773,7 +773,7 @@ int swad__loginByUserPasswordKey (struct soap *soap,
MYSQL_RES *mysql_res;
MYSQL_ROW row;
unsigned NumRows;
char PhotoURL[Cns_MAX_LENGTH_WWW + 1];
char PhotoURL[Cns_MAX_BYTES_WWW + 1];
bool UsrFound;
/***** Initializations *****/
@ -782,12 +782,12 @@ int swad__loginByUserPasswordKey (struct soap *soap,
/***** Allocate space for strings *****/
loginByUserPasswordKeyOut->wsKey = (char *) soap_malloc (Gbl.soap,Svc_LENGTH_WS_KEY + 1);
loginByUserPasswordKeyOut->userNickname = (char *) soap_malloc (Gbl.soap,Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA + 1);
loginByUserPasswordKeyOut->userID = (char *) soap_malloc (Gbl.soap,ID_MAX_LENGTH_USR_ID + 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->userPhoto = (char *) soap_malloc (Gbl.soap,Cns_MAX_LENGTH_WWW + 1);
loginByUserPasswordKeyOut->userPhoto = (char *) soap_malloc (Gbl.soap,Cns_MAX_BYTES_WWW + 1);
loginByUserPasswordKeyOut->userBirthday = (char *) soap_malloc (Gbl.soap,Dat_LENGTH_YYYYMMDD + 1);
/***** Default values returned on error *****/
@ -879,12 +879,12 @@ int swad__loginByUserPasswordKey (struct soap *soap,
Str_Copy (loginByUserPasswordKeyOut->userNickname,
Gbl.Usrs.Me.UsrDat.Nickname,
Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA);
Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA);
if (Gbl.Usrs.Me.UsrDat.IDs.Num)
Str_Copy (loginByUserPasswordKeyOut->userID,
Gbl.Usrs.Me.UsrDat.IDs.List[0].ID, // TODO: What user's ID?
ID_MAX_LENGTH_USR_ID);
ID_MAX_BYTES_USR_ID);
Str_Copy (loginByUserPasswordKeyOut->userSurname1,
Gbl.Usrs.Me.UsrDat.Surname1,
@ -898,7 +898,7 @@ int swad__loginByUserPasswordKey (struct soap *soap,
Pho_BuildLinkToPhoto (&Gbl.Usrs.Me.UsrDat,PhotoURL);
Str_Copy (loginByUserPasswordKeyOut->userPhoto,PhotoURL,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
Str_Copy (loginByUserPasswordKeyOut->userBirthday,
Gbl.Usrs.Me.UsrDat.Birthday.YYYYMMDD,
@ -939,7 +939,7 @@ int swad__loginBySessionKey (struct soap *soap,
MYSQL_RES *mysql_res;
MYSQL_ROW row;
unsigned NumRows;
char PhotoURL[Cns_MAX_LENGTH_WWW + 1];
char PhotoURL[Cns_MAX_BYTES_WWW + 1];
bool UsrFound;
/***** Initializations *****/
@ -948,12 +948,12 @@ int swad__loginBySessionKey (struct soap *soap,
/***** Allocate space for strings *****/
loginBySessionKeyOut->wsKey = (char *) soap_malloc (Gbl.soap,Svc_LENGTH_WS_KEY + 1);
loginBySessionKeyOut->userNickname = (char *) soap_malloc (Gbl.soap,Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA + 1);
loginBySessionKeyOut->userID = (char *) soap_malloc (Gbl.soap,ID_MAX_LENGTH_USR_ID + 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->userPhoto = (char *) soap_malloc (Gbl.soap,Cns_MAX_LENGTH_WWW + 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_LENGTH_DEGREE_FULL_NAME + 1);
loginBySessionKeyOut->courseName = (char *) soap_malloc (Gbl.soap,Crs_MAX_LENGTH_COURSE_FULL_NAME + 1);
@ -1032,12 +1032,12 @@ int swad__loginBySessionKey (struct soap *soap,
loginBySessionKeyOut->userCode = (int) Gbl.Usrs.Me.UsrDat.UsrCod;
Str_Copy (loginBySessionKeyOut->userNickname,Gbl.Usrs.Me.UsrDat.Nickname,
Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA);
Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA);
if (Gbl.Usrs.Me.UsrDat.IDs.Num)
Str_Copy (loginBySessionKeyOut->userID,
Gbl.Usrs.Me.UsrDat.IDs.List[0].ID, // TODO: What user's ID?
ID_MAX_LENGTH_USR_ID);
ID_MAX_BYTES_USR_ID);
Str_Copy (loginBySessionKeyOut->userSurname1,
Gbl.Usrs.Me.UsrDat.Surname1,
@ -1051,7 +1051,7 @@ int swad__loginBySessionKey (struct soap *soap,
Pho_BuildLinkToPhoto (&Gbl.Usrs.Me.UsrDat,PhotoURL);
Str_Copy (loginBySessionKeyOut->userPhoto,PhotoURL,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
Str_Copy (loginBySessionKeyOut->userBirthday,
Gbl.Usrs.Me.UsrDat.Birthday.YYYYMMDD,
@ -1083,7 +1083,7 @@ int swad__getNewPassword (struct soap *soap,
MYSQL_RES *mysql_res;
MYSQL_ROW row;
unsigned NumRows;
char NewRandomPlainPassword[Pwd_MAX_LENGTH_PLAIN_PASSWORD + 1];
char NewRandomPlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1];
/***** Initializations *****/
Gbl.soap = soap;
@ -1360,7 +1360,7 @@ int swad__getCourseInfo (struct soap *soap,
Result = Inf_WritePageIntoHTMLBuffer (&(getCourseInfo->infoTxt));
break;
case Inf_INFO_SRC_URL: // Link to a web page
getCourseInfo->infoTxt = (char *) soap_malloc (Gbl.soap,Cns_MAX_LENGTH_WWW + 1);
getCourseInfo->infoTxt = (char *) soap_malloc (Gbl.soap,Cns_MAX_BYTES_WWW + 1);
Inf_WriteURLIntoTxtBuffer (getCourseInfo->infoTxt);
break;
}
@ -2005,7 +2005,7 @@ int swad__sendMyGroups (struct soap *soap,
static void Svc_CopyUsrData (struct swad__user *Usr,struct UsrData *UsrDat,bool UsrIDIsVisible)
{
char PhotoURL[Cns_MAX_LENGTH_WWW + 1];
char PhotoURL[Cns_MAX_BYTES_WWW + 1];
const char *FirstID;
size_t Length;
@ -2068,7 +2068,7 @@ int swad__getAttendanceEvents (struct soap *soap,
MYSQL_ROW row;
int NumAttEvent;
long AttCod;
char PhotoURL[Cns_MAX_LENGTH_WWW + 1];
char PhotoURL[Cns_MAX_BYTES_WWW + 1];
long StartTime;
long EndTime;
size_t Length;
@ -2353,7 +2353,7 @@ int swad__sendAttendanceEvent (struct soap *soap,
"Request forbidden",
"Title of attendance event is empty");
Str_Copy (Att.Title,title,
Att_MAX_LENGTH_ATTENDANCE_EVENT_TITLE);
Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE);
/* Create a list of groups selected */
Svc_GetLstGrpsSel (groups);
@ -2493,7 +2493,7 @@ int swad__getAttendanceUsers (struct soap *soap,
MYSQL_RES *mysql_res;
MYSQL_ROW row;
unsigned NumRow,NumRows;
char PhotoURL[Cns_MAX_LENGTH_WWW + 1];
char PhotoURL[Cns_MAX_BYTES_WWW + 1];
size_t Length;
/***** Initializations *****/
@ -2808,7 +2808,7 @@ int swad__getNotifications (struct soap *soap,
long NtfCod;
Ntf_NotifyEvent_t NotifyEvent;
long EventTime;
char PhotoURL[Cns_MAX_LENGTH_WWW + 1];
char PhotoURL[Cns_MAX_BYTES_WWW + 1];
struct Instit Ins;
struct Centre Ctr;
struct Degree Deg;
@ -2891,10 +2891,10 @@ int swad__getNotifications (struct soap *soap,
if (Svc_GetSomeUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat,Crs.CrsCod)) // Get some user's data from database
{
getNotificationsOut->notificationsArray.__ptr[NumNotif].userNickname = (char *) soap_malloc (Gbl.soap,Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA + 1);
getNotificationsOut->notificationsArray.__ptr[NumNotif].userNickname = (char *) soap_malloc (Gbl.soap,Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA + 1);
Str_Copy (getNotificationsOut->notificationsArray.__ptr[NumNotif].userNickname,
Gbl.Usrs.Other.UsrDat.Nickname,
Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA);
Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA);
getNotificationsOut->notificationsArray.__ptr[NumNotif].userSurname1 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME + 1);
Str_Copy (getNotificationsOut->notificationsArray.__ptr[NumNotif].userSurname1,
@ -2912,10 +2912,10 @@ int swad__getNotifications (struct soap *soap,
Usr_MAX_BYTES_NAME);
Pho_BuildLinkToPhoto (&Gbl.Usrs.Other.UsrDat,PhotoURL);
getNotificationsOut->notificationsArray.__ptr[NumNotif].userPhoto = (char *) soap_malloc (Gbl.soap,Cns_MAX_LENGTH_WWW + 1);
getNotificationsOut->notificationsArray.__ptr[NumNotif].userPhoto = (char *) soap_malloc (Gbl.soap,Cns_MAX_BYTES_WWW + 1);
Str_Copy (getNotificationsOut->notificationsArray.__ptr[NumNotif].userPhoto,
PhotoURL,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
}
else
{
@ -3248,7 +3248,7 @@ int swad__sendMessage (struct soap *soap,
Str_RemoveLeadingArrobas (Nickname);
/* Check for overflow in query */
if (strlen (Query) + Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA + 32 >
if (strlen (Query) + Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA + 32 >
Svc_MAX_LENGTH_QUERY_RECIPIENTS)
return soap_sender_fault (Gbl.soap,
"Can not send message",
@ -4449,7 +4449,7 @@ static bool Svc_WriteRowFileBrowser (unsigned Level,Brw_FileType_t FileType,cons
extern const char *Txt_NEW_LINE;
extern const char *Txt_LICENSES[Brw_NUM_LICENSES];
struct FileMetadata FileMetadata;
char PhotoURL[Cns_MAX_LENGTH_WWW + 1];
char PhotoURL[Cns_MAX_BYTES_WWW + 1];
/***** Is this row hidden or visible? *****/
if (Gbl.FileBrowser.Type == Brw_SHOW_DOCUM_CRS ||
@ -4525,8 +4525,8 @@ int swad__getFile (struct soap *soap,
extern const char *Txt_LICENSES[Brw_NUM_LICENSES];
int ReturnCode;
struct FileMetadata FileMetadata;
char URL[Cns_MAX_LENGTH_WWW + 1];
char PhotoURL[Cns_MAX_LENGTH_WWW + 1];
char URL[Cns_MAX_BYTES_WWW + 1];
char PhotoURL[Cns_MAX_BYTES_WWW + 1];
/***** Initializations *****/
Gbl.soap = soap;
@ -4534,10 +4534,10 @@ int swad__getFile (struct soap *soap,
/***** Allocate space for strings *****/
getFileOut->fileName = (char *) soap_malloc (Gbl.soap,NAME_MAX + 1);
getFileOut->URL = (char *) soap_malloc (Gbl.soap,Cns_MAX_LENGTH_WWW + 1);
getFileOut->URL = (char *) soap_malloc (Gbl.soap,Cns_MAX_BYTES_WWW + 1);
getFileOut->license = (char *) soap_malloc (Gbl.soap,Brw_MAX_LENGTH_LICENSE + 1);
getFileOut->publisherName = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_FULL_NAME + 1);
getFileOut->publisherPhoto = (char *) soap_malloc (Gbl.soap,Cns_MAX_LENGTH_WWW + 1);
getFileOut->publisherPhoto = (char *) soap_malloc (Gbl.soap,Cns_MAX_BYTES_WWW + 1);
/***** Default values returned on error *****/
getFileOut->fileName[0] = '\0';
@ -4647,7 +4647,7 @@ int swad__getFile (struct soap *soap,
NAME_MAX);
Str_Copy (getFileOut->URL,URL,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
getFileOut->size = (int) FileMetadata.Size;
@ -4666,7 +4666,7 @@ int swad__getFile (struct soap *soap,
Pho_BuildLinkToPhoto (&Gbl.Usrs.Other.UsrDat,PhotoURL);
Str_Copy (getFileOut->publisherPhoto,PhotoURL,
Cns_MAX_LENGTH_WWW);
Cns_MAX_BYTES_WWW);
}
return SOAP_OK;

View File

@ -178,7 +178,7 @@ void ZIP_CreateZIPAsgWrk (void)
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,
Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&UsrDat);