",
- Rec_MAX_LENGTH_NAME_FIELD,Gbl.CurrentCrs.Records.Field.Name);
+ Rec_MAX_CHARS_NAME_FIELD,Gbl.CurrentCrs.Records.Field.Name);
/***** Number of lines in form ******/
fprintf (Gbl.F.Out,"
"
@@ -435,7 +435,7 @@ void Rec_ReceiveFormField (void)
/***** Get parameters from the form *****/
/* Get the name of the field */
- Par_GetParToText ("FieldName",Gbl.CurrentCrs.Records.Field.Name,Rec_MAX_LENGTH_NAME_FIELD);
+ Par_GetParToText ("FieldName",Gbl.CurrentCrs.Records.Field.Name,Rec_MAX_BYTES_NAME_FIELD);
/* Get the number of lines */
Gbl.CurrentCrs.Records.Field.NumLines = (unsigned)
@@ -682,7 +682,7 @@ void Rec_RemoveFieldFromDB (void)
/************** Get the data of a field of records from its code *************/
/*****************************************************************************/
-static void Rec_GetFieldByCod (long FieldCod,char Name[Rec_MAX_LENGTH_NAME_FIELD + 1],
+static void Rec_GetFieldByCod (long FieldCod,char Name[Rec_MAX_BYTES_NAME_FIELD + 1],
unsigned *NumLines,Rec_VisibilityRecordFields_t *Visibility)
{
char Query[512];
@@ -705,7 +705,7 @@ static void Rec_GetFieldByCod (long FieldCod,char Name[Rec_MAX_LENGTH_NAME_FIELD
/* Name of the field */
Str_Copy (Name,row[0],
- Rec_MAX_LENGTH_NAME_FIELD);
+ Rec_MAX_BYTES_NAME_FIELD);
/* Number of lines of the field (row[1]) */
*NumLines = Rec_ConvertToNumLinesField (row[1]);
@@ -747,7 +747,7 @@ void Rec_RenameField (void)
extern const char *Txt_The_record_field_X_has_been_renamed_as_Y;
extern const char *Txt_The_name_of_the_field_X_has_not_changed;
char Query[1024];
- char NewFieldName[Rec_MAX_LENGTH_NAME_FIELD + 1];
+ char NewFieldName[Rec_MAX_BYTES_NAME_FIELD + 1];
/***** Get parameters of the form *****/
/* Get the code of the field */
@@ -755,7 +755,7 @@ void Rec_RenameField (void)
Lay_ShowErrorAndExit ("Code of field is missing.");
/* Get the new group name */
- Par_GetParToText ("FieldName",NewFieldName,Rec_MAX_LENGTH_NAME_FIELD);
+ Par_GetParToText ("FieldName",NewFieldName,Rec_MAX_BYTES_NAME_FIELD);
/***** Get from the database the antiguo group name *****/
Rec_GetFieldByCod (Gbl.CurrentCrs.Records.Field.FieldCod,Gbl.CurrentCrs.Records.Field.Name,&Gbl.CurrentCrs.Records.Field.NumLines,&Gbl.CurrentCrs.Records.Field.Visibility);
@@ -803,7 +803,7 @@ void Rec_RenameField (void)
/***** Show the form again *****/
Str_Copy (Gbl.CurrentCrs.Records.Field.Name,NewFieldName,
- Rec_MAX_LENGTH_NAME_FIELD);
+ Rec_MAX_BYTES_NAME_FIELD);
Rec_ReqEditRecordFields ();
}
@@ -3223,7 +3223,7 @@ static void Rec_ShowLocalPhone (struct UsrData *UsrDat,
" id=\"LocalPhone\" name=\"LocalPhone\""
" maxlength=\"%u\" value=\"%s\""
" class=\"REC_C2_BOT_INPUT\" />",
- Usr_MAX_LENGTH_PHONE,
+ Usr_MAX_CHARS_PHONE,
UsrDat->LocalPhone);
else if (UsrDat->LocalPhone[0])
fprintf (Gbl.F.Out,"%s",
@@ -3293,7 +3293,7 @@ static void Rec_ShowFamilyPhone (struct UsrData *UsrDat,
" id=\"FamilyPhone\" name=\"FamilyPhone\""
" maxlength=\"%u\" value=\"%s\""
" class=\"REC_C2_BOT_INPUT\" />",
- Usr_MAX_LENGTH_PHONE,
+ Usr_MAX_CHARS_PHONE,
UsrDat->FamilyPhone);
else if (UsrDat->FamilyPhone[0])
fprintf (Gbl.F.Out,"%s",
@@ -3940,7 +3940,7 @@ void Rec_ShowFormMyInsCtrDpt (void)
" maxlength=\"%u\" value=\"%s\""
" style=\"width:500px;\""
" onchange=\"document.getElementById('%s').submit();\" />",
- Usr_MAX_LENGTH_PHONE,
+ Usr_MAX_CHARS_PHONE,
Gbl.Usrs.Me.UsrDat.Tch.OfficePhone,
Gbl.Form.Id);
Act_FormEnd ();
diff --git a/swad_record.h b/swad_record.h
index ef913c97..d58ebc17 100644
--- a/swad_record.h
+++ b/swad_record.h
@@ -37,7 +37,9 @@
#define Rec_RECORD_WIDTH 560
-#define Rec_MAX_LENGTH_NAME_FIELD 255
+#define Rec_MAX_CHARS_NAME_FIELD (128 - 1)
+#define Rec_MAX_BYTES_NAME_FIELD (Rec_MAX_CHARS_NAME_FIELD * Str_MAX_BYTES_PER_CHAR)
+
#define Rec_MIN_LINES_IN_EDITION_FIELD 1
#define Rec_MAX_LINES_IN_EDITION_FIELD 50
#define Rec_DEF_LINES_IN_EDITION_FIELD Rec_MIN_LINES_IN_EDITION_FIELD
@@ -96,7 +98,7 @@ typedef enum
struct RecordField
{
long FieldCod; // FieldCode
- char Name[Rec_MAX_LENGTH_NAME_FIELD + 1]; // Field name
+ char Name[Rec_MAX_BYTES_NAME_FIELD + 1]; // Field name
unsigned NumLines; // Number of rows of form used to edit the filed (always >= 2)
Rec_VisibilityRecordFields_t Visibility; // Hidden, visible or editable by students?
char *Text; // Filed text
diff --git a/swad_social.c b/swad_social.c
index 97869856..9d43c945 100644
--- a/swad_social.c
+++ b/swad_social.c
@@ -493,7 +493,7 @@ void Soc_MarkMyNotifAsSeen (void)
/*****************************************************************************/
// Query must have space for at least 1024 chars
-#define Soc_MAX_LENGTH_SUBQUERY_ALREADY_EXISTS (256 - 1)
+#define Soc_MAX_BYTES_SUBQUERY_ALREADY_EXISTS (256 - 1)
static void Soc_BuildQueryToGetTimeline (Soc_TimelineUsrOrGbl_t TimelineUsrOrGbl,
Soc_WhatToGetFromTimeline_t WhatToGetFromTimeline,
@@ -502,7 +502,7 @@ static void Soc_BuildQueryToGetTimeline (Soc_TimelineUsrOrGbl_t TimelineUsrOrGbl
char SubQueryPublishers[128];
char SubQueryRangeBottom[128];
char SubQueryRangeTop[128];
- char SubQueryAlreadyExists[Soc_MAX_LENGTH_SUBQUERY_ALREADY_EXISTS + 1];
+ char SubQueryAlreadyExists[Soc_MAX_BYTES_SUBQUERY_ALREADY_EXISTS + 1];
struct
{
long Top;
@@ -588,13 +588,13 @@ static void Soc_BuildQueryToGetTimeline (Soc_TimelineUsrOrGbl_t TimelineUsrOrGbl
Str_Copy (SubQueryAlreadyExists,
" NotCod NOT IN"
" (SELECT NotCod FROM not_codes)",
- Soc_MAX_LENGTH_SUBQUERY_ALREADY_EXISTS);
+ Soc_MAX_BYTES_SUBQUERY_ALREADY_EXISTS);
break;
case Soc_GET_ONLY_OLD_PUBS:
Str_Copy (SubQueryAlreadyExists,
" NotCod NOT IN"
" (SELECT NotCod FROM current_timeline)",
- Soc_MAX_LENGTH_SUBQUERY_ALREADY_EXISTS);
+ Soc_MAX_BYTES_SUBQUERY_ALREADY_EXISTS);
break;
}
break;
@@ -606,13 +606,13 @@ static void Soc_BuildQueryToGetTimeline (Soc_TimelineUsrOrGbl_t TimelineUsrOrGbl
Str_Copy (SubQueryAlreadyExists,
" social_pubs.NotCod NOT IN"
" (SELECT NotCod FROM not_codes)",
- Soc_MAX_LENGTH_SUBQUERY_ALREADY_EXISTS);
+ Soc_MAX_BYTES_SUBQUERY_ALREADY_EXISTS);
break;
case Soc_GET_ONLY_OLD_PUBS:
Str_Copy (SubQueryAlreadyExists,
" social_pubs.NotCod NOT IN"
" (SELECT NotCod FROM current_timeline)",
- Soc_MAX_LENGTH_SUBQUERY_ALREADY_EXISTS);
+ Soc_MAX_BYTES_SUBQUERY_ALREADY_EXISTS);
break;
}
break;
diff --git a/swad_statistic.c b/swad_statistic.c
index 9f9fcbb5..1337bec7 100644
--- a/swad_statistic.c
+++ b/swad_statistic.c
@@ -265,11 +265,12 @@ void Sta_GetRemoteAddr (void)
/**************************** Log access in database *************************/
/*****************************************************************************/
-#define Sta_MAX_LENGTH_QUERY_LOG (2048 - 1)
+#define Sta_MAX_BYTES_QUERY_LOG (2048 - 1)
+
void Sta_LogAccess (const char *Comments)
{
extern struct Act_Actions Act_Actions[Act_NUM_ACTIONS];
- char Query[Sta_MAX_LENGTH_QUERY_LOG + 1];
+ char Query[Sta_MAX_BYTES_QUERY_LOG + 1];
long LogCod;
Rol_Role_t RoleToStore = (Gbl.Action.Act == ActLogOut) ? Gbl.Usrs.Me.LoggedRoleBeforeCloseSession :
Gbl.Usrs.Me.LoggedRole;
@@ -336,7 +337,7 @@ void Sta_LogAccess (const char *Comments)
LogCod);
Str_AddStrToQuery (Query,Comments,sizeof (Query));
Str_Concat (Query,"')",
- Sta_MAX_LENGTH_QUERY_LOG);
+ Sta_MAX_BYTES_QUERY_LOG);
if (Gbl.WebService.IsWebService)
{
@@ -355,7 +356,7 @@ void Sta_LogAccess (const char *Comments)
LogCod);
Str_AddStrToQuery (Query,Gbl.Search.Str,sizeof (Query));
Str_Concat (Query,"')",
- Sta_MAX_LENGTH_QUERY_LOG);
+ Sta_MAX_BYTES_QUERY_LOG);
if (Gbl.WebService.IsWebService)
{
@@ -836,9 +837,9 @@ void Sta_SeeCrsAccesses (void)
/******************** Compute and show access statistics ********************/
/*****************************************************************************/
-#define Sta_MAX_LENGTH_QUERY_ACCESS (1024 + (10 + ID_MAX_BYTES_USR_ID) * 5000 - 1)
+#define Sta_MAX_BYTES_QUERY_ACCESS (1024 + (10 + ID_MAX_BYTES_USR_ID) * 5000 - 1)
-#define Sta_MAX_LENGTH_COUNT_TYPE (256 - 1)
+#define Sta_MAX_BYTES_COUNT_TYPE (256 - 1)
static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
{
@@ -850,7 +851,7 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
extern const char *Txt_List_of_detailed_clicks;
extern const char *Txt_STAT_TYPE_COUNT_CAPS[Sta_NUM_COUNT_TYPES];
extern const char *Txt_Time_zone_used_in_the_calculation_of_these_statistics;
- char Query[Sta_MAX_LENGTH_QUERY_ACCESS + 1];
+ char Query[Sta_MAX_BYTES_QUERY_ACCESS + 1];
char QueryAux[512];
long LengthQuery;
MYSQL_RES *mysql_res;
@@ -862,7 +863,7 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
unsigned NumUsr = 0;
const char *Ptr;
char StrRole[256];
- char StrQueryCountType[Sta_MAX_LENGTH_COUNT_TYPE + 1];
+ char StrQueryCountType[Sta_MAX_BYTES_COUNT_TYPE + 1];
unsigned NumDays;
bool ICanQueryWholeRange;
@@ -1011,7 +1012,7 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
{
case Sta_TOTAL_CLICKS:
Str_Copy (StrQueryCountType,"COUNT(*)",
- Sta_MAX_LENGTH_COUNT_TYPE);
+ Sta_MAX_BYTES_COUNT_TYPE);
break;
case Sta_DISTINCT_USRS:
sprintf (StrQueryCountType,"COUNT(DISTINCT(%s.UsrCod))",LogTable);
@@ -1140,7 +1141,7 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
(long) Gbl.DateRange.TimeUTC[0],
(long) Gbl.DateRange.TimeUTC[1]);
Str_Concat (Query,QueryAux,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
switch (GlobalOrCourse)
{
@@ -1157,7 +1158,7 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
sprintf (QueryAux," AND %s.CtyCod='%ld'",
LogTable,Gbl.CurrentCty.Cty.CtyCod);
Str_Concat (Query,QueryAux,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
}
break;
case Sco_SCOPE_INS:
@@ -1166,7 +1167,7 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
sprintf (QueryAux," AND %s.InsCod='%ld'",
LogTable,Gbl.CurrentIns.Ins.InsCod);
Str_Concat (Query,QueryAux,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
}
break;
case Sco_SCOPE_CTR:
@@ -1175,7 +1176,7 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
sprintf (QueryAux," AND %s.CtrCod='%ld'",
LogTable,Gbl.CurrentCtr.Ctr.CtrCod);
Str_Concat (Query,QueryAux,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
}
break;
case Sco_SCOPE_DEG:
@@ -1184,7 +1185,7 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
sprintf (QueryAux," AND %s.DegCod='%ld'",
LogTable,Gbl.CurrentDeg.Deg.DegCod);
Str_Concat (Query,QueryAux,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
}
break;
case Sco_SCOPE_CRS:
@@ -1193,7 +1194,7 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
sprintf (QueryAux," AND %s.CrsCod='%ld'",
LogTable,Gbl.CurrentCrs.Crs.CrsCod);
Str_Concat (Query,QueryAux,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
}
break;
}
@@ -1258,7 +1259,7 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
break;
}
Str_Concat (Query,StrRole,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
switch (Gbl.Stat.ClicksGroupedBy)
{
@@ -1267,13 +1268,13 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
sprintf (QueryAux," AND %s.LogCod=log_ws.LogCod",
LogTable);
Str_Concat (Query,QueryAux,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
case Sta_CLICKS_GBL_PER_BANNER:
sprintf (QueryAux," AND %s.LogCod=log_banners.LogCod",
LogTable);
Str_Concat (Query,QueryAux,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
default:
break;
@@ -1283,7 +1284,7 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
sprintf (QueryAux," AND %s.CrsCod='%ld'",
LogTable,Gbl.CurrentCrs.Crs.CrsCod);
Str_Concat (Query,QueryAux,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
LengthQuery = strlen (Query);
NumUsr = 0;
Ptr = Gbl.Usrs.Select.All;
@@ -1294,19 +1295,19 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
if (UsrDat.UsrCod > 0)
{
LengthQuery = LengthQuery + 25 + 10 + 1;
- if (LengthQuery > Sta_MAX_LENGTH_QUERY_ACCESS - 128)
+ if (LengthQuery > Sta_MAX_BYTES_QUERY_ACCESS - 128)
Lay_ShowErrorAndExit ("Query is too large.");
sprintf (QueryAux,
NumUsr ? " OR %s.UsrCod='%ld'" :
" AND (%s.UsrCod='%ld'",
LogTable,UsrDat.UsrCod);
Str_Concat (Query,QueryAux,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
NumUsr++;
}
}
Str_Concat (Query,")",
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
}
@@ -1316,7 +1317,7 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
sprintf (QueryAux," AND %s.ActCod='%ld'",
LogTable,Act_Actions[Gbl.Stat.NumAction].ActCod);
Str_Concat (Query,QueryAux,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
}
/* End the query */
@@ -1324,85 +1325,85 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
{
case Sta_CLICKS_CRS_DETAILED_LIST:
Str_Concat (Query," ORDER BY F",
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
case Sta_CLICKS_CRS_PER_USR:
sprintf (QueryAux," GROUP BY %s.UsrCod ORDER BY Num DESC",LogTable);
Str_Concat (Query,QueryAux,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
case Sta_CLICKS_CRS_PER_DAYS:
case Sta_CLICKS_GBL_PER_DAYS:
Str_Concat (Query," GROUP BY Day DESC",
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
case Sta_CLICKS_CRS_PER_DAYS_AND_HOUR:
case Sta_CLICKS_GBL_PER_DAYS_AND_HOUR:
Str_Concat (Query," GROUP BY Day DESC,Hour",
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
case Sta_CLICKS_CRS_PER_WEEKS:
case Sta_CLICKS_GBL_PER_WEEKS:
Str_Concat (Query," GROUP BY Week DESC",
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
case Sta_CLICKS_CRS_PER_MONTHS:
case Sta_CLICKS_GBL_PER_MONTHS:
Str_Concat (Query," GROUP BY Month DESC",
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
case Sta_CLICKS_CRS_PER_HOUR:
case Sta_CLICKS_GBL_PER_HOUR:
Str_Concat (Query," GROUP BY Hour",
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
case Sta_CLICKS_CRS_PER_MINUTE:
case Sta_CLICKS_GBL_PER_MINUTE:
Str_Concat (Query," GROUP BY Minute",
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
case Sta_CLICKS_CRS_PER_ACTION:
case Sta_CLICKS_GBL_PER_ACTION:
sprintf (QueryAux," GROUP BY %s.ActCod ORDER BY Num DESC",LogTable);
Str_Concat (Query,QueryAux,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
case Sta_CLICKS_GBL_PER_PLUGIN:
Str_Concat (Query," GROUP BY log_ws.PlgCod ORDER BY Num DESC",
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
case Sta_CLICKS_GBL_PER_WEB_SERVICE_FUNCTION:
Str_Concat (Query," GROUP BY log_ws.FunCod ORDER BY Num DESC",
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
case Sta_CLICKS_GBL_PER_BANNER:
Str_Concat (Query," GROUP BY log_banners.BanCod ORDER BY Num DESC",
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
case Sta_CLICKS_GBL_PER_COUNTRY:
sprintf (QueryAux," GROUP BY %s.CtyCod ORDER BY Num DESC",LogTable);
Str_Concat (Query,QueryAux,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
case Sta_CLICKS_GBL_PER_INSTITUTION:
sprintf (QueryAux," GROUP BY %s.InsCod ORDER BY Num DESC",LogTable);
Str_Concat (Query,QueryAux,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
case Sta_CLICKS_GBL_PER_CENTRE:
sprintf (QueryAux," GROUP BY %s.CtrCod ORDER BY Num DESC",LogTable);
Str_Concat (Query,QueryAux,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
case Sta_CLICKS_GBL_PER_DEGREE:
sprintf (QueryAux," GROUP BY %s.DegCod ORDER BY Num DESC",LogTable);
Str_Concat (Query,QueryAux,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
case Sta_CLICKS_GBL_PER_COURSE:
sprintf (QueryAux," GROUP BY %s.CrsCod ORDER BY Num DESC",LogTable);
Str_Concat (Query,QueryAux,
- Sta_MAX_LENGTH_QUERY_ACCESS);
+ Sta_MAX_BYTES_QUERY_ACCESS);
break;
}
/***** Write query for debug *****/
diff --git a/swad_string.c b/swad_string.c
index 2cacc3ec..4450b552 100644
--- a/swad_string.c
+++ b/swad_string.c
@@ -1012,7 +1012,7 @@ For example the string "Nueva++de+San+Ant%F3n"
"Nueva de San Antón" if ChangeTo == Str_TO_HTML
"Nueva de San Antón" if ChangeTo == Str_TO_TEXT
*/
-#define Str_MAX_LENGTH_SPECIAL_CHAR (256 - 1)
+#define Str_MAX_BYTES_SPECIAL_CHAR (256 - 1)
void Str_ChangeFormat (Str_ChangeFrom_t ChangeFrom,Str_ChangeTo_t ChangeTo,
char *Str,size_t MaxLengthStr,bool RemoveLeadingAndTrailingSpaces)
@@ -1030,7 +1030,7 @@ void Str_ChangeFormat (Str_ChangeFrom_t ChangeFrom,Str_ChangeTo_t ChangeTo,
unsigned NumPrintableCharsFromReturn = 0; // To substitute tabs for spaces
bool IsSpecialChar = false;
bool ThereIsSpaceChar = true; // Indicates if the character before was a space. Set to true to respect the initial spaces.
- char StrSpecialChar[Str_MAX_LENGTH_SPECIAL_CHAR + 1];
+ char StrSpecialChar[Str_MAX_BYTES_SPECIAL_CHAR + 1];
/*
if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)
@@ -1163,12 +1163,12 @@ void Str_ChangeFormat (Str_ChangeFrom_t ChangeFrom,Str_ChangeTo_t ChangeTo,
Str_Concat (StrSpecialChar,
ThereIsSpaceChar ? " " :
" ", // The first space
- Str_MAX_LENGTH_SPECIAL_CHAR);
+ Str_MAX_BYTES_SPECIAL_CHAR);
for (i = 1;
i < NumSpacesTab;
i++) // Rest of spaces, except the first
Str_Concat (StrSpecialChar," ", // Add a space
- Str_MAX_LENGTH_SPECIAL_CHAR);
+ Str_MAX_BYTES_SPECIAL_CHAR);
NumPrintableCharsFromReturn += NumSpacesTab;
}
else
@@ -1181,7 +1181,7 @@ void Str_ChangeFormat (Str_ChangeFrom_t ChangeFrom,Str_ChangeTo_t ChangeTo,
case 0x0A: /* \n */
if (ChangeTo == Str_TO_RIGOROUS_HTML)
Str_Copy (StrSpecialChar," ",
- Str_MAX_LENGTH_SPECIAL_CHAR);
+ Str_MAX_BYTES_SPECIAL_CHAR);
else
{
StrSpecialChar[0] = Str_LF[0];
@@ -1204,7 +1204,7 @@ void Str_ChangeFormat (Str_ChangeFrom_t ChangeFrom,Str_ChangeTo_t ChangeTo,
case 0x20: /* Space */
if (ChangeTo == Str_TO_RIGOROUS_HTML && ThereIsSpaceChar)
Str_Copy (StrSpecialChar," ",
- Str_MAX_LENGTH_SPECIAL_CHAR);
+ Str_MAX_BYTES_SPECIAL_CHAR);
else
{
StrSpecialChar[0] = ' ';
@@ -1281,7 +1281,7 @@ void Str_ChangeFormat (Str_ChangeFrom_t ChangeFrom,Str_ChangeTo_t ChangeTo,
}
else
Str_Copy (StrSpecialChar,"<", // "<" is stored as HTML code to avoid problems when displaying it
- Str_MAX_LENGTH_SPECIAL_CHAR);
+ Str_MAX_BYTES_SPECIAL_CHAR);
NumPrintableCharsFromReturn++;
ThereIsSpaceChar = false;
break;
@@ -1293,7 +1293,7 @@ void Str_ChangeFormat (Str_ChangeFrom_t ChangeFrom,Str_ChangeTo_t ChangeTo,
}
else
Str_Copy (StrSpecialChar,">", // ">" is stored as HTML code to avoid problems when displaying it
- Str_MAX_LENGTH_SPECIAL_CHAR);
+ Str_MAX_BYTES_SPECIAL_CHAR);
NumPrintableCharsFromReturn++;
ThereIsSpaceChar = false;
break;
@@ -1318,7 +1318,7 @@ void Str_ChangeFormat (Str_ChangeFrom_t ChangeFrom,Str_ChangeTo_t ChangeTo,
}
else
Str_Copy (StrSpecialChar,"\", // "\" is stored as HTML code to avoid problems when displaying it
- Str_MAX_LENGTH_SPECIAL_CHAR);
+ Str_MAX_BYTES_SPECIAL_CHAR);
NumPrintableCharsFromReturn++;
ThereIsSpaceChar = false;
break;
@@ -2588,7 +2588,7 @@ If what is read exceed MaxLength, abort and return 0.
If StrDelimit is not found, return -1.
*/
-#define Str_MAX_LENGTH_BOUNDARY_STR 100
+#define Str_MAX_BYTES_BOUNDARY_STR 100
int Str_ReadFileUntilBoundaryStr (FILE *FileSrc,char *StrDst,
const char *BoundaryStr,
@@ -2598,7 +2598,7 @@ int Str_ReadFileUntilBoundaryStr (FILE *FileSrc,char *StrDst,
unsigned NumBytesIdentical; // Number of characters identical in each iteration of the loop
unsigned NumBytesReadButNotDiscarded; // Number of characters read from the source file...
// ...and not fully discarded in search
- int Buffer[Str_MAX_LENGTH_BOUNDARY_STR + 1];
+ int Buffer[Str_MAX_BYTES_BOUNDARY_STR + 1];
unsigned StartIndex;
unsigned i;
char *Ptr; // Pointer used to go through StrDst writing characters
@@ -2611,7 +2611,7 @@ int Str_ReadFileUntilBoundaryStr (FILE *FileSrc,char *StrDst,
*StrDst = '\0';
return 1;
}
- if (LengthBoundaryStr > Str_MAX_LENGTH_BOUNDARY_STR)
+ if (LengthBoundaryStr > Str_MAX_BYTES_BOUNDARY_STR)
Lay_ShowErrorAndExit ("Delimiter string too large.");
Ptr = StrDst;
diff --git a/swad_string.h b/swad_string.h
index bff5c48a..a2950769 100644
--- a/swad_string.h
+++ b/swad_string.h
@@ -35,10 +35,10 @@
/***************************** Public constants *****************************/
/*****************************************************************************/
-#define Str_LENGTH_STR_HEX 3 // Length of the string #XX
-#define Str_MAX_LENGTH_SPEC_CHAR_HTML 8 // Length of the string ddddd;
+#define Str_BYTES_STR_HEX 3 // Number of bytes of the string %XX
+#define Str_MAX_BYTES_SPEC_CHAR_HTML 10 // Number of bytes of the string from to max UTF8 (= )
-#define Str_MAX_BYTES_PER_CHAR 8 // max (Str_LENGTH_STR_HEX,Str_MAX_LENGTH_SPEC_CHAR_HTML)
+#define Str_MAX_BYTES_PER_CHAR 10 // max (Str_BYTES_STR_HEX,Str_MAX_BYTES_SPEC_CHAR_HTML)
/*****************************************************************************/
/******************************* Public types *******************************/
diff --git a/swad_survey.c b/swad_survey.c
index f981678b..2f207b60 100644
--- a/swad_survey.c
+++ b/swad_survey.c
@@ -3319,7 +3319,7 @@ static void Svy_WriteQstStem (const char *Stem)
size_t Length;
/* Convert the stem, that is in HTML, to rigorous HTML */
- Length = strlen (Stem) * Str_MAX_LENGTH_SPEC_CHAR_HTML;
+ Length = strlen (Stem) * Str_MAX_BYTES_SPEC_CHAR_HTML;
if ((HeadingRigorousHTML = malloc (Length + 1)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to store stem of question.");
Str_Copy (HeadingRigorousHTML,Stem,
diff --git a/swad_test.c b/swad_test.c
index 83ed0a92..33bdf078 100644
--- a/swad_test.c
+++ b/swad_test.c
@@ -1020,7 +1020,7 @@ void Tst_WriteQstStem (const char *Stem,const char *ClassStem)
char *StemRigorousHTML;
/***** Convert the stem, that is in HTML, to rigorous HTML *****/
- StemLength = strlen (Stem) * Str_MAX_LENGTH_SPEC_CHAR_HTML;
+ StemLength = strlen (Stem) * Str_MAX_BYTES_SPEC_CHAR_HTML;
if ((StemRigorousHTML = malloc (StemLength + 1)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to store stem of question.");
Str_Copy (StemRigorousHTML,Stem,
@@ -1150,7 +1150,7 @@ void Tst_WriteQstFeedback (const char *Feedback,const char *ClassFeedback)
if (Feedback[0])
{
/***** Convert the feedback, that is in HTML, to rigorous HTML *****/
- FeedbackLength = strlen (Feedback) * Str_MAX_LENGTH_SPEC_CHAR_HTML;
+ FeedbackLength = strlen (Feedback) * Str_MAX_BYTES_SPEC_CHAR_HTML;
if ((FeedbackRigorousHTML = malloc (FeedbackLength + 1)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to store stem of question.");
Str_Copy (FeedbackRigorousHTML,Feedback,
@@ -3062,7 +3062,7 @@ static void Tst_WriteAnswersOfAQstEdit (long QstCod)
row = mysql_fetch_row (mysql_res);
/* Convert the answer (row[1]), that is in HTML, to rigorous HTML */
- LengthAnswer = strlen (row[1]) * Str_MAX_LENGTH_SPEC_CHAR_HTML;
+ LengthAnswer = strlen (row[1]) * Str_MAX_BYTES_SPEC_CHAR_HTML;
if ((Answer = malloc (LengthAnswer + 1)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to store answer.");
Str_Copy (Answer,row[1],
@@ -3076,7 +3076,7 @@ static void Tst_WriteAnswersOfAQstEdit (long QstCod)
if (row[2])
if (row[2][0])
{
- LengthFeedback = strlen (row[2]) * Str_MAX_LENGTH_SPEC_CHAR_HTML;
+ LengthFeedback = strlen (row[2]) * Str_MAX_BYTES_SPEC_CHAR_HTML;
if ((Feedback = malloc (LengthFeedback + 1)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to store feedback.");
Str_Copy (Feedback,row[2],
diff --git a/swad_test_import.c b/swad_test_import.c
index 26566eeb..55a40ca1 100644
--- a/swad_test_import.c
+++ b/swad_test_import.c
@@ -1123,7 +1123,7 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem,
{
/* Convert the answer, that is in HTML, to rigorous HTML */
AnswerTextLength = strlen (Gbl.Test.Answer.Options[NumOpt].Text) *
- Str_MAX_LENGTH_SPEC_CHAR_HTML;
+ Str_MAX_BYTES_SPEC_CHAR_HTML;
if ((AnswerText = malloc (AnswerTextLength + 1)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to store answer.");
Str_Copy (AnswerText,Gbl.Test.Answer.Options[NumOpt].Text,
@@ -1138,7 +1138,7 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem,
if (Gbl.Test.Answer.Options[NumOpt].Feedback[0])
{
AnswerFeedbackLength = strlen (Gbl.Test.Answer.Options[NumOpt].Feedback) *
- Str_MAX_LENGTH_SPEC_CHAR_HTML;
+ Str_MAX_BYTES_SPEC_CHAR_HTML;
if ((AnswerFeedback = malloc (AnswerFeedbackLength + 1)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to store feedback.");
Str_Copy (AnswerFeedback,
diff --git a/swad_user.h b/swad_user.h
index a7e39301..2fe7b737 100644
--- a/swad_user.h
+++ b/swad_user.h
@@ -70,8 +70,8 @@
#define Usr_BIRTHDAY_STR_DB_LENGTH (4 + 1 + 2 + 1 + 2) // "'%04u-%02u-%02u'"
-#define Usr_MAX_LENGTH_PHONE 16
-#define Usr_MAX_BYTES_PHONE 16
+#define Usr_MAX_CHARS_PHONE 16
+#define Usr_MAX_BYTES_PHONE Usr_MAX_CHARS_PHONE
#define Usr_CLASS_PHOTO_COLS_DEF 10 // Default number of columns in a class photo
#define Usr_CLASS_PHOTO_COLS_MAX 50 // Maximum number of columns in a class photo
diff --git a/swad_web_service.c b/swad_web_service.c
index 457168f6..b946b92c 100644
--- a/swad_web_service.c
+++ b/swad_web_service.c
@@ -281,7 +281,7 @@ void Svc_Exit (const char *DetailErrorMessage)
static int Svc_GetPlgCodFromAppKey (const char *appKey)
{
- char Query[256 + Plg_MAX_LENGTH_PLUGIN_APP_KEY];
+ char Query[256 + Plg_MAX_BYTES_PLUGIN_APP_KEY];
MYSQL_RES *mysql_res;
MYSQL_ROW row;