Version19.56

This commit is contained in:
Antonio Cañas Vargas 2019-11-08 01:10:32 +01:00
parent 6708c63500
commit e7b1f94c02
29 changed files with 214 additions and 173 deletions

View File

@ -1900,7 +1900,7 @@ int swad__sendMyGroups (struct soap *soap,
int ReturnCode;
struct ListCodGrps LstGrpsIWant;
const char *Ptr;
char LongStr[1 + 10 + 1];
char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
unsigned NumGrp;
MYSQL_RES *mysql_res;
MYSQL_ROW row;
@ -1954,7 +1954,7 @@ int swad__sendMyGroups (struct soap *soap,
for (NumGrp = 0, Ptr = myGroups;
*Ptr;
NumGrp++)
Str_GetNextStringUntilComma (&Ptr,LongStr,1 + 10);
Str_GetNextStringUntilComma (&Ptr,LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
LstGrpsIWant.NumGrps = NumGrp;
if (LstGrpsIWant.NumGrps) // If I have selected groups...
@ -1967,7 +1967,7 @@ int swad__sendMyGroups (struct soap *soap,
NumGrp++)
{
/* Find next string in text until comma (leading and trailing spaces are removed) */
Str_GetNextStringUntilComma (&Ptr,LongStr,1 + 10);
Str_GetNextStringUntilComma (&Ptr,LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
LstGrpsIWant.GrpCods[NumGrp] = Str_ConvertStrCodToLongCod (LongStr);
}
}
@ -2286,7 +2286,7 @@ static void API_GetListGrpsInAttendanceEventFromDB (long AttCod,char **ListGroup
long NumGrps;
long NumGrp;
long GrpCod;
char GrpCodStr[10 + 1];
char GrpCodStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
size_t Length;
/***** Get list of groups *****/
@ -2508,14 +2508,14 @@ int swad__removeAttendanceEvent (struct soap *soap,
static void API_GetLstGrpsSel (const char *Groups)
{
const char *Ptr;
char LongStr[1 + 10 + 1];
char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
unsigned NumGrp;
/***** Count number of groups *****/
for (Ptr = Groups, NumGrp = 0;
*Ptr;
NumGrp++)
Str_GetNextStringUntilComma (&Ptr,LongStr,1 + 10);
Str_GetNextStringUntilComma (&Ptr,LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
Gbl.Crs.Grps.LstGrpsSel.NumGrps = NumGrp;
/***** Create a list of groups selected *****/
@ -2531,7 +2531,7 @@ static void API_GetLstGrpsSel (const char *Groups)
*Ptr;
)
{
Str_GetNextStringUntilComma (&Ptr,LongStr,1 + 10);
Str_GetNextStringUntilComma (&Ptr,LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
Gbl.Crs.Grps.LstGrpsSel.GrpCods[NumGrp] = Str_ConvertStrCodToLongCod (LongStr);
if (Grp_CheckIfGroupBelongsToCourse (Gbl.Crs.Grps.LstGrpsSel.GrpCods[NumGrp],Gbl.Hierarchy.Crs.CrsCod))
NumGrp++;
@ -2737,11 +2737,11 @@ int swad__sendAttendanceUsers (struct soap *soap,
int ReturnCode;
struct AttendanceEvent Att;
const char *Ptr;
char LongStr[1 + 10 + 1];
char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
struct UsrData UsrDat;
unsigned NumCodsInList;
char *SubQueryAllUsrs = NULL;
char SubQueryOneUsr[1 + 1 + 10 + 1];
char SubQueryOneUsr[1 + Cns_MAX_DECIMAL_DIGITS_LONG + 1];
size_t Length = 0; // Initialized to avoid warning
/***** Initializations *****/
@ -2790,10 +2790,10 @@ int swad__sendAttendanceUsers (struct soap *soap,
*Ptr;
NumCodsInList++)
/* Find next string in text until comma (leading and trailing spaces are removed) */
Str_GetNextStringUntilComma (&Ptr,LongStr,1 + 10);
Str_GetNextStringUntilComma (&Ptr,LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
/* Allocate subquery used to mark not present users as absent */
Length = 256 + NumCodsInList * (1 + 1 + 10 + 1) - 1;
Length = 256 + NumCodsInList * (1 + Cns_MAX_DECIMAL_DIGITS_LONG + 1) - 1;
if ((SubQueryAllUsrs = (char *) malloc (Length + 1)) == NULL)
return soap_receiver_fault (Gbl.soap,
"Not enough memory",
@ -2806,7 +2806,7 @@ int swad__sendAttendanceUsers (struct soap *soap,
)
{
/* Find next string in text until comma (leading and trailing spaces are removed) */
Str_GetNextStringUntilComma (&Ptr,LongStr,1 + 10);
Str_GetNextStringUntilComma (&Ptr,LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
if ((UsrDat.UsrCod = Str_ConvertStrCodToLongCod (LongStr)) > 0)
if (Usr_ChkIfUsrCodExists (UsrDat.UsrCod))
// The user must belong to course,
@ -3159,7 +3159,7 @@ int swad__markNotificationsAsRead (struct soap *soap,
{
int ReturnCode;
const char *Ptr;
char LongStr[1 + 10 + 1];
char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
unsigned NumNtf;
unsigned NumNtfsMarkedAsRead = 0;
long NtfCod;
@ -3192,7 +3192,7 @@ int swad__markNotificationsAsRead (struct soap *soap,
NumNtf++)
{
/* Find next string in text until comma (leading and trailing spaces are removed) */
Str_GetNextStringUntilComma (&Ptr,LongStr,1 + 10);
Str_GetNextStringUntilComma (&Ptr,LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
if ((NtfCod = Str_ConvertStrCodToLongCod (LongStr)) > 0)
{
/***** Mark notification as read in the database *****/
@ -4097,9 +4097,9 @@ int swad__getTrivialQuestion (struct soap *soap,
extern const char *Tst_StrAnswerTypesXML[Tst_NUM_ANS_TYPES];
int ReturnCode;
const char *Ptr;
char LongStr[1 + 10 + 1];
char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
char DegreesStr[API_MAX_BYTES_DEGREES_STR + 1];
char DegStr[ 1 + 1 + 1 + 10 + 1 + 1];
char DegStr[ 1 + 1 + Cns_MAX_DECIMAL_DIGITS_LONG + 1 + 1];
// DegStr=", ' - number ' \0"
long DegCod;
bool FirstDegree = true;
@ -4137,7 +4137,7 @@ int swad__getTrivialQuestion (struct soap *soap,
while (*Ptr)
{
/* Find next string in text until comma (leading and trailing spaces are removed) */
Str_GetNextStringUntilComma (&Ptr,LongStr,1 + 10);
Str_GetNextStringUntilComma (&Ptr,LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
/* Check if degree code from string is a valid code */
if (sscanf (LongStr,"%ld",&DegCod) == 1) // Degree code
@ -4496,7 +4496,7 @@ static void API_GetListGrpsInGameFromDB (long GamCod,char **ListGroups)
long NumGrps;
long NumGrp;
long GrpCod;
char GrpCodStr[10 + 1];
char GrpCodStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
size_t Length;
/***** Get list of groups *****/

View File

@ -510,7 +510,7 @@ void ID_ShowFormChangeMyID (bool IShouldFillInID)
{
extern const char *Hlp_PROFILE_Account;
extern const char *Txt_ID;
char StrRecordWidth[10 + 1];
char StrRecordWidth[Cns_MAX_DECIMAL_DIGITS_UINT + 2 + 1];
/***** Start section *****/
HTM_SECTION_Begin (ID_ID_SECTION_ID);
@ -542,7 +542,7 @@ void ID_ShowFormChangeOtherUsrID (void)
{
extern const char *Hlp_PROFILE_Account;
extern const char *Txt_ID;
char StrRecordWidth[10 + 1];
char StrRecordWidth[Cns_MAX_DECIMAL_DIGITS_UINT + 2 + 1];
/***** Start section *****/
HTM_SECTION_Begin (ID_ID_SECTION_ID);

View File

@ -2209,6 +2209,7 @@ static void Att_PutParamsCodGrps (long AttCod)
MaxLengthGrpCods = NumGrps * (1 + 20) - 1;
if ((GrpCods = (char *) malloc (MaxLengthGrpCods + 1)) == NULL)
Lay_NotEnoughMemoryExit ();
GrpCods[0] = '\0';
/* Get groups */
for (NumGrp = 0;
@ -2245,7 +2246,7 @@ void Att_RegisterMeAsStdInAttEvent (void)
extern const char *Txt_Your_comment_has_been_updated;
struct AttendanceEvent Att;
bool Present;
char CommentParamName[10 + 10 + 1];
char CommentParamName[10 + Cns_MAX_DECIMAL_DIGITS_LONG + 1];
char CommentStd[Cns_MAX_BYTES_TEXT + 1];
char CommentTch[Cns_MAX_BYTES_TEXT + 1];
@ -2307,7 +2308,7 @@ void Att_RegisterStudentsInAttEvent (void)
unsigned NumStdsPresent;
unsigned NumStdsAbsent;
struct UsrData UsrData;
char CommentParamName[10 + 10 + 1];
char CommentParamName[10 + Cns_MAX_DECIMAL_DIGITS_LONG + 1];
char CommentStd[Cns_MAX_BYTES_TEXT + 1];
char CommentTch[Cns_MAX_BYTES_TEXT + 1];
@ -2439,7 +2440,7 @@ static void Att_GetNumStdsTotalWhoAreInAttEvent (struct AttendanceEvent *Att)
static unsigned Att_GetNumStdsFromAListWhoAreInAttEvent (long AttCod,long LstSelectedUsrCods[],unsigned NumUsrsInList)
{
char *SubQueryAllUsrs = NULL;
char SubQueryOneUsr[1 + 1 + 10 + 1];
char SubQueryOneUsr[1 + Cns_MAX_DECIMAL_DIGITS_LONG + 1];
unsigned NumUsr;
unsigned NumStdsInAttEvent = 0;
size_t MaxLength;
@ -2447,7 +2448,7 @@ static unsigned Att_GetNumStdsFromAListWhoAreInAttEvent (long AttCod,long LstSel
if (NumUsrsInList)
{
/***** Allocate space for subquery *****/
MaxLength = 256 + NumUsrsInList * (1 + 1 + 10);
MaxLength = 256 + NumUsrsInList * (1 + Cns_MAX_DECIMAL_DIGITS_LONG);
if ((SubQueryAllUsrs = (char *) malloc (MaxLength + 1)) == NULL)
Lay_NotEnoughMemoryExit ();
SubQueryAllUsrs[0] = '\0';
@ -2893,7 +2894,7 @@ static void Att_GetListSelectedAttCods (char **StrAttCodsSelected)
unsigned NumAttEvent;
const char *Ptr;
long AttCod;
char LongStr[1 + 10 + 1];
char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
MYSQL_RES *mysql_res;
MYSQL_ROW row;
unsigned NumGrpsInThisEvent;
@ -2902,7 +2903,7 @@ static void Att_GetListSelectedAttCods (char **StrAttCodsSelected)
unsigned NumGrpSel;
/***** Allocate memory for list of attendance events selected *****/
MaxSizeListAttCodsSelected = Gbl.AttEvents.Num * (1 + 10 + 1);
MaxSizeListAttCodsSelected = Gbl.AttEvents.Num * (Cns_MAX_DECIMAL_DIGITS_LONG + 1);
if ((*StrAttCodsSelected = (char *) malloc (MaxSizeListAttCodsSelected + 1)) == NULL)
Lay_NotEnoughMemoryExit ();
@ -2924,7 +2925,7 @@ static void Att_GetListSelectedAttCods (char **StrAttCodsSelected)
)
{
/* Get next attendance event selected */
Par_GetNextStrUntilSeparParamMult (&Ptr,LongStr,1 + 10);
Par_GetNextStrUntilSeparParamMult (&Ptr,LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
AttCod = Str_ConvertStrCodToLongCod (LongStr);
/* Set each event in *StrAttCodsSelected as selected */
@ -3293,7 +3294,7 @@ static void Att_WriteTableHeadSeveralAttEvents (void)
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_Attendance;
unsigned NumAttEvent;
char StrNumAttEvent[10 + 1];
char StrNumAttEvent[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
HTM_TR_Begin (NULL);

View File

@ -490,7 +490,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 19.55.4 (2019-11-07)"
#define Log_PLATFORM_VERSION "SWAD 19.56 (2019-11-08)"
#define CSS_FILE "swad19.47.css"
#define JS_FILE "swad19.39.js"
/*
@ -498,6 +498,8 @@ ps2pdf source.ps destination.pdf
// TODO: Impedir la creación y edición de proyectos si no son editables.
// TODO: Importante: filtrar proyectos por usuarios (igual que en trabajos o en asistencia)
Version 19.56: Nov 08, 2019 Fixed bug in groups.
New constants for sizes of numerical strings. (246104 lines)
Version 19.55.4: Nov 07, 2019 Fixed bugs in dates. (246072 lines)
Version 19.55.3: Nov 07, 2019 Fixed bug in form to edit user's web/social networks. (246071 lines)
Version 19.55.2: Nov 07, 2019 Fixed bug creating user's record.

View File

@ -75,7 +75,7 @@ static void Cla_RenameClassroom (Cns_ShrtOrFullName_t ShrtOrFullName);
static bool Cla_CheckIfClassroomNameExists (const char *FieldName,const char *Name,long ClaCod);
static void Cla_UpdateClaNameDB (long ClaCod,const char *FieldName,const char *NewClaName);
static void Cla_WriteCapacity (char Str[10 + 1],unsigned Capacity);
static void Cla_WriteCapacity (char Str[Cns_MAX_DECIMAL_DIGITS_UINT + 1],unsigned Capacity);
static void Cla_PutFormToCreateClassroom (void);
static void Cla_PutHeadClassrooms (void);
@ -100,7 +100,7 @@ void Cla_SeeClassrooms (void)
Cla_Order_t Order;
unsigned NumCla;
unsigned RowEvenOdd;
char StrCapacity[10 + 1];
char StrCapacity[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
/***** Trivial check *****/
if (Gbl.Hierarchy.Ctr.CtrCod <= 0) // No centre selected
@ -469,7 +469,7 @@ static void Cla_ListClassroomsForEdition (void)
{
unsigned NumCla;
struct Classroom *Cla;
char StrCapacity[10 + 1];
char StrCapacity[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
/***** Write heading *****/
HTM_TABLE_BeginWidePadding (2);
@ -520,7 +520,7 @@ static void Cla_ListClassroomsForEdition (void)
Frm_StartForm (ActChgClaMaxStd);
Cla_PutParamClaCod (Cla->ClaCod);
Cla_WriteCapacity (StrCapacity,Cla->Capacity);
HTM_INPUT_TEXT ("Capacity",10,StrCapacity,true,
HTM_INPUT_TEXT ("Capacity",Cns_MAX_DECIMAL_DIGITS_UINT,StrCapacity,true,
"size=\"3\"");
Frm_EndForm ();
HTM_TD_End ();
@ -803,10 +803,10 @@ void Cla_ChangeCapacity (void)
/****************** Write seating capacity of a classroom ********************/
/*****************************************************************************/
static void Cla_WriteCapacity (char Str[10 + 1],unsigned Capacity)
static void Cla_WriteCapacity (char Str[Cns_MAX_DECIMAL_DIGITS_UINT + 1],unsigned Capacity)
{
if (Capacity <= Cla_MAX_CAPACITY)
snprintf (Str,10 + 1,
snprintf (Str,Cns_MAX_DECIMAL_DIGITS_UINT + 1,
"%u",
Capacity);
else
@ -881,7 +881,7 @@ static void Cla_PutFormToCreateClassroom (void)
{
extern const char *Txt_New_classroom;
extern const char *Txt_Create_classroom;
char StrCapacity[10 + 1];
char StrCapacity[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
/***** Begin form *****/
Frm_StartForm (ActNewCla);
@ -918,7 +918,7 @@ static void Cla_PutFormToCreateClassroom (void)
/***** Seating capacity *****/
HTM_TD_Begin ("class=\"LM\"");
Cla_WriteCapacity (StrCapacity,Cla_EditingCla->Capacity);
HTM_INPUT_TEXT ("Capacity",10,StrCapacity,false,
HTM_INPUT_TEXT ("Capacity",Cns_MAX_DECIMAL_DIGITS_UINT,StrCapacity,false,
"size=\"3\"");
HTM_TD_End ();

View File

@ -56,6 +56,43 @@
#define Cns_BYTES_SESSION_ID Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64
/*
The maximum number of decimal digits d of an integer of b bits
(signed or unsigned) matches the number of digits of the number 2^b.
In the case of signed numbers, an extra character must be added for the sign.
The number of decimal digits of a number X can be calculated as log_10(X), rounded up.
Therefore, log_10(2^b) = b * log_10(2) = b * 0.301029995663981
If s is the size in bytes of a certain type of integer,
given by the sizeof operator, its size b in bits will be b = (s * 8).
The maximum number of decimal digits will be (s * 8) * 0.301029995663981, rounded up.
Rounding up will consist of truncating (converting to an integer), and adding 1.
Unfortunately, the use of floating point may cause problems
when evaluating the expressions as constants. It's necessary to modify them,
for example by multiplying by 2 ^ 11 and dividing by 2 ^ 8,
so that all calculations should be performed by the preprocessor with integers.
*/
#define LOG2_x_2_11 616 // log10(2) * 2^11
#define Cns_MAX_DECIMAL_DIGITS_UCHAR (((sizeof (unsigned char ) * LOG2_x_2_11) >> 8) + 1)
#define Cns_MAX_DECIMAL_DIGITS_USHORT (((sizeof (unsigned short ) * LOG2_x_2_11) >> 8) + 1)
#define Cns_MAX_DECIMAL_DIGITS_UINT (((sizeof (unsigned int ) * LOG2_x_2_11) >> 8) + 1)
#define Cns_MAX_DECIMAL_DIGITS_ULONG (((sizeof (unsigned long ) * LOG2_x_2_11) >> 8) + 1)
#define Cns_MAX_DECIMAL_DIGITS_ULONGLONG (((sizeof (unsigned long long) * LOG2_x_2_11) >> 8) + 1)
#define Cns_MAX_DECIMAL_DIGITS_UINT128 (((sizeof (unsigned __int128 ) * LOG2_x_2_11) >> 8) + 1)
#define Cns_MAX_DECIMAL_DIGITS_CHAR (1 + Cns_MAX_DECIMAL_DIGITS_UCHAR )
#define Cns_MAX_DECIMAL_DIGITS_SHORT (1 + Cns_MAX_DECIMAL_DIGITS_USHORT )
#define Cns_MAX_DECIMAL_DIGITS_INT (1 + Cns_MAX_DECIMAL_DIGITS_UINT )
#define Cns_MAX_DECIMAL_DIGITS_LONG (1 + Cns_MAX_DECIMAL_DIGITS_ULONG )
#define Cns_MAX_DECIMAL_DIGITS_LONGLONG (1 + Cns_MAX_DECIMAL_DIGITS_ULONGLONG)
#define Cns_MAX_DECIMAL_DIGITS_INT128 (1 + Cns_MAX_DECIMAL_DIGITS_UINT128 )
/*****************************************************************************/
/******************************* Public types ********************************/
/*****************************************************************************/

View File

@ -2026,7 +2026,7 @@ static void Cty_PutFormToCreateCountry (void)
extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES];
extern const char *Txt_Create_country;
Lan_Language_t Lan;
char StrCtyCod[20 + 1];
char StrCtyCod[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
char StrName[32];
/***** Begin form *****/
@ -2053,7 +2053,7 @@ static void Cty_PutFormToCreateCountry (void)
Cty_EditingCty->CtyCod);
else
StrCtyCod[0] = '\0';
HTM_INPUT_TEXT ("OthCtyCod",10,StrCtyCod,false,
HTM_INPUT_TEXT ("OthCtyCod",3,StrCtyCod,false,
"size=\"3\" required=\"required\"");
HTM_TD_End ();

View File

@ -146,7 +146,7 @@ void Cry_EncryptSHA512Base64 (const char *PlainText,
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_BYTES_IP + 1 + 10 + 1 + 10 + 1 + 10 + 1];
char UniqueNamePlain[Cns_MAX_BYTES_IP + Cns_MAX_DECIMAL_DIGITS_LONG + Cns_MAX_DECIMAL_DIGITS_LONG + Cns_MAX_DECIMAL_DIGITS_UINT + 1];
NumCall++;
snprintf (UniqueNamePlain,sizeof (UniqueNamePlain),

View File

@ -778,7 +778,7 @@ void Dat_GetBrowserTimeZone (char BrowserTimeZone[Dat_MAX_BYTES_TIME_ZONE + 1])
MYSQL_RES *mysql_res;
MYSQL_ROW row;
bool TZNameIsUsable = false;
char IntStr[1 + 10 + 1];
char IntStr[Cns_MAX_DECIMAL_DIGITS_INT + 1];
int ClientUTCMinusLocal; // Time difference between UTC time and client local time, in minutes
/***** 1. Get client time zone name *****/
@ -814,7 +814,7 @@ void Dat_GetBrowserTimeZone (char BrowserTimeZone[Dat_MAX_BYTES_TIME_ZONE + 1])
// We get client TZ difference using JavaScript getTimezoneOffset() method
// getTimezoneOffset() returns UTC-time - browser-local-time, in minutes.
// For example, if browser time zone is GMT+2, -120 will be returned.
Par_GetParToText ("BrowserTZDiff",IntStr,1 + 10);
Par_GetParToText ("BrowserTZDiff",IntStr,Cns_MAX_DECIMAL_DIGITS_INT);
if (sscanf (IntStr,"%d",&ClientUTCMinusLocal) != 1)
ClientUTCMinusLocal = 0;

View File

@ -2535,9 +2535,9 @@ static void Fig_WriteRowStatsFileBrowsers1 (const char *NameOfFileZones,
Brw_FileBrowser_t FileZone,
struct Fig_SizeOfFileZones *SizeOfFileZones)
{
char StrNumCrss[10 + 1];
char StrNumGrps[10 + 1];
char StrNumUsrs[10 + 1];
char StrNumCrss[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char StrNumGrps[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char StrNumUsrs[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char FileSizeStr[Fil_MAX_BYTES_FILE_SIZE_STRING + 1];
char *Class = (FileZone == Brw_UNKNOWN) ? "DAT_N_LINE_TOP" :
"DAT";
@ -2546,7 +2546,7 @@ static void Fig_WriteRowStatsFileBrowsers1 (const char *NameOfFileZones,
if (SizeOfFileZones->NumCrss == -1) // Not applicable
Str_Copy (StrNumCrss,"-",
10);
Cns_MAX_DECIMAL_DIGITS_UINT);
else
snprintf (StrNumCrss,sizeof (StrNumCrss),
"%d",
@ -2554,7 +2554,7 @@ static void Fig_WriteRowStatsFileBrowsers1 (const char *NameOfFileZones,
if (SizeOfFileZones->NumGrps == -1) // Not applicable
Str_Copy (StrNumGrps,"-",
10);
Cns_MAX_DECIMAL_DIGITS_UINT);
else
snprintf (StrNumGrps,sizeof (StrNumGrps),
"%d",
@ -2562,7 +2562,7 @@ static void Fig_WriteRowStatsFileBrowsers1 (const char *NameOfFileZones,
if (SizeOfFileZones->NumUsrs == -1) // Not applicable
Str_Copy (StrNumUsrs,"-",
10);
Cns_MAX_DECIMAL_DIGITS_UINT);
else
snprintf (StrNumUsrs,sizeof (StrNumUsrs),
"%d",
@ -2609,8 +2609,8 @@ static void Fig_WriteRowStatsFileBrowsers2 (const char *NameOfFileZones,
Brw_FileBrowser_t FileZone,
struct Fig_SizeOfFileZones *SizeOfFileZones)
{
char StrNumFoldersPerCrs[10 + 1];
char StrNumFilesPerCrs[10 + 1];
char StrNumFoldersPerCrs[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char StrNumFilesPerCrs[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char FileSizePerCrsStr[Fil_MAX_BYTES_FILE_SIZE_STRING + 1];
char *Class = (FileZone == Brw_UNKNOWN) ? "DAT_N_LINE_TOP" :
"DAT";
@ -2618,9 +2618,9 @@ static void Fig_WriteRowStatsFileBrowsers2 (const char *NameOfFileZones,
if (SizeOfFileZones->NumCrss == -1) // Not applicable
{
Str_Copy (StrNumFoldersPerCrs,"-",
10);
Cns_MAX_DECIMAL_DIGITS_UINT);
Str_Copy (StrNumFilesPerCrs,"-",
10);
Cns_MAX_DECIMAL_DIGITS_UINT);
Str_Copy (FileSizePerCrsStr,"-",
Fil_MAX_BYTES_FILE_SIZE_STRING);
}
@ -2667,8 +2667,8 @@ static void Fig_WriteRowStatsFileBrowsers3 (const char *NameOfFileZones,
Brw_FileBrowser_t FileZone,
struct Fig_SizeOfFileZones *SizeOfFileZones)
{
char StrNumFoldersPerUsr[10 + 1];
char StrNumFilesPerUsr[10 + 1];
char StrNumFoldersPerUsr[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char StrNumFilesPerUsr[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char FileSizePerUsrStr[Fil_MAX_BYTES_FILE_SIZE_STRING + 1];
char *Class = (FileZone == Brw_UNKNOWN) ? "DAT_N_LINE_TOP" :
"DAT";
@ -2676,9 +2676,9 @@ static void Fig_WriteRowStatsFileBrowsers3 (const char *NameOfFileZones,
if (SizeOfFileZones->NumUsrs == -1) // Not applicable
{
Str_Copy (StrNumFoldersPerUsr,"-",
10);
Cns_MAX_DECIMAL_DIGITS_UINT);
Str_Copy (StrNumFilesPerUsr,"-",
10);
Cns_MAX_DECIMAL_DIGITS_UINT);
Str_Copy (FileSizePerUsrStr,"-",
Fil_MAX_BYTES_FILE_SIZE_STRING);
}

View File

@ -56,7 +56,7 @@ extern struct Globals Gbl;
#define Gam_MAX_CHARS_ANSWER (1024 - 1) // 1023
#define Gam_MAX_BYTES_ANSWER ((Gam_MAX_CHARS_ANSWER + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 16383
#define Gam_MAX_BYTES_LIST_ANSWER_TYPES (10 + (Gam_NUM_ANS_TYPES - 1) * (1 + 10))
// #define Gam_MAX_BYTES_LIST_ANSWER_TYPES (Gam_NUM_ANS_TYPES * (Cns_MAX_DECIMAL_DIGITS_UINT + 1))
const char *Gam_StrAnswerTypesDB[Gam_NUM_ANS_TYPES] =
{
@ -67,7 +67,7 @@ const char *Gam_StrAnswerTypesDB[Gam_NUM_ANS_TYPES] =
#define Gam_MAX_ANSWERS_PER_QUESTION 10
#define Gam_MAX_SELECTED_QUESTIONS 1000
#define Gam_MAX_BYTES_LIST_SELECTED_QUESTIONS (Gam_MAX_SELECTED_QUESTIONS * (1 + 10 + 1))
#define Gam_MAX_BYTES_LIST_SELECTED_QUESTIONS (Gam_MAX_SELECTED_QUESTIONS * (Cns_MAX_DECIMAL_DIGITS_LONG + 1))
/*****************************************************************************/
/******************************* Private types *******************************/
@ -1631,7 +1631,7 @@ static void Gam_ListOneOrMoreQuestionsForEdition (long GamCod,unsigned NumQsts,
MYSQL_ROW row;
unsigned QstInd;
unsigned MaxQstInd;
char StrQstInd[10 + 1];
char StrQstInd[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
/***** Get maximum question index *****/
MaxQstInd = Gam_GetMaxQuestionIndexInGame (GamCod);
@ -1819,7 +1819,7 @@ void Gam_AddTstQuestionsToGame (void)
extern const char *Txt_No_questions_have_been_added;
struct Game Game;
const char *Ptr;
char LongStr[1 + 10 + 1];
char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
long QstCod;
unsigned MaxQstInd;
@ -1846,7 +1846,7 @@ void Gam_AddTstQuestionsToGame (void)
while (*Ptr)
{
/* Get next code */
Par_GetNextStrUntilSeparParamMult (&Ptr,LongStr,1 + 10);
Par_GetNextStrUntilSeparParamMult (&Ptr,LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
if (sscanf (LongStr,"%ld",&QstCod) != 1)
Lay_ShowErrorAndExit ("Wrong question code.");
@ -1913,14 +1913,14 @@ static unsigned Gam_CountNumQuestionsInList (void)
{
const char *Ptr;
unsigned NumQuestions = 0;
char LongStr[1 + 10 + 1];
char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
long QstCod;
/***** Go over the list Gbl.Test.ListAnsTypes counting the number of types of answer *****/
Ptr = Gbl.Games.ListQuestions;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,LongStr,1 + 10);
Par_GetNextStrUntilSeparParamMult (&Ptr,LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
if (sscanf (LongStr,"%ld",&QstCod) != 1)
Lay_ShowErrorAndExit ("Wrong question code.");
NumQuestions++;

View File

@ -151,7 +151,7 @@ static void Grp_PutParamRemGrp (void);
static void Grp_RemoveGroupTypeCompletely (void);
static void Grp_RemoveGroupCompletely (void);
static void Grp_WriteMaxStds (char Str[10 + 1],unsigned MaxStudents);
static void Grp_WriteMaxStds (char Str[Cns_MAX_DECIMAL_DIGITS_UINT + 1],unsigned MaxStudents);
static long Grp_GetParamGrpTypCod (void);
static long Grp_GetParamGrpCod (void);
static void Grp_PutParamGrpTypCod (long GrpTypCod);
@ -476,7 +476,7 @@ void Grp_PutParamsCodGrps (void)
unsigned NumGrpSel;
size_t MaxLengthGrpCods;
char *GrpCods;
char GrpCod[20 + 1];
char GrpCod[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
/***** Write the boolean parameter that indicates if all the groups must be listed *****/
Par_PutHiddenParamChar ("AllGroups",
@ -527,7 +527,7 @@ void Grp_GetParCodsSeveralGrpsToShowUsrs (void)
/***** Get parameter with list of groups selected *****/
Grp_GetParCodsSeveralGrps ();
if (Gbl.Crs.Grps.NumGrps && // This course has groups and...
if (Gbl.Crs.Grps.NumGrps && // This course has groups and...
!Gbl.Crs.Grps.LstGrpsSel.NumGrps) // ...I haven't selected any group
{
/***** I I haven't selected any group, show by default the groups I belong to *****/
@ -566,9 +566,9 @@ void Grp_GetParCodsSeveralGrps (void)
{
char *ParamLstCodGrps;
const char *Ptr;
char LongStr[1 + 10 + 1];
char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
unsigned NumGrp;
unsigned long MaxSizeLstGrpCods = ((1 + 10 + 1) * Gbl.Crs.Grps.NumGrps) - 1;
unsigned long MaxSizeLstGrpCods = ((Cns_MAX_DECIMAL_DIGITS_LONG + 1) * Gbl.Crs.Grps.NumGrps) - 1;
/***** Reset number of groups selected *****/
Gbl.Crs.Grps.LstGrpsSel.NumGrps = 0;
@ -588,7 +588,7 @@ void Grp_GetParCodsSeveralGrps (void)
for (Ptr = ParamLstCodGrps, NumGrp = 0;
*Ptr;
NumGrp++)
Par_GetNextStrUntilSeparParamMult (&Ptr,LongStr,1 + 10);
Par_GetNextStrUntilSeparParamMult (&Ptr,LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
Gbl.Crs.Grps.LstGrpsSel.NumGrps = NumGrp;
if (Gbl.Crs.Grps.LstGrpsSel.NumGrps) // If I have selected groups...
@ -600,7 +600,7 @@ void Grp_GetParCodsSeveralGrps (void)
*Ptr;
NumGrp++)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,LongStr,1 + 10);
Par_GetNextStrUntilSeparParamMult (&Ptr,LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
Gbl.Crs.Grps.LstGrpsSel.GrpCods[NumGrp] = Str_ConvertStrCodToLongCod (LongStr);
}
}
@ -1473,7 +1473,7 @@ static void Grp_ListGroupsForEdition (void)
struct GroupType *GrpTypAux;
struct Group *Grp;
Rol_Role_t Role;
char StrMaxStudents[10 + 1];
char StrMaxStudents[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
/***** Write heading *****/
HTM_TABLE_BeginWidePadding (2);
@ -1612,7 +1612,7 @@ static void Grp_ListGroupsForEdition (void)
Frm_StartFormAnchor (ActChgMaxStdGrp,Grp_GROUPS_SECTION_ID);
Grp_PutParamGrpCod (Grp->GrpCod);
Grp_WriteMaxStds (StrMaxStudents,Grp->MaxStudents);
HTM_INPUT_TEXT ("MaxStudents",10,StrMaxStudents,true,
HTM_INPUT_TEXT ("MaxStudents",Cns_MAX_DECIMAL_DIGITS_UINT,StrMaxStudents,true,
"size=\"3\"");
Frm_EndForm ();
HTM_TD_End ();
@ -2370,7 +2370,7 @@ static void Grp_WriteRowGrp (struct Group *Grp,bool Highlight)
extern const char *Txt_Group_X_closed;
int Vacant;
Rol_Role_t Role;
char StrMaxStudents[10 + 1];
char StrMaxStudents[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
/***** Write icon to show if group is open or closed *****/
snprintf (Gbl.Title,sizeof (Gbl.Title),
@ -2564,7 +2564,7 @@ static void Grp_PutFormToCreateGroup (void)
unsigned NumGrpTyp;
unsigned NumCla;
Rol_Role_t Role;
char StrMaxStudents[10 + 1];
char StrMaxStudents[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
/***** Begin form *****/
HTM_SECTION_Begin (Grp_NEW_GROUP_SECTION_ID);
@ -2657,7 +2657,7 @@ static void Grp_PutFormToCreateGroup (void)
/***** Maximum number of students *****/
HTM_TD_Begin ("class=\"CM\"");
Grp_WriteMaxStds (StrMaxStudents,Gbl.Crs.Grps.MaxStudents);
HTM_INPUT_TEXT ("MaxStudents",10,StrMaxStudents,false,
HTM_INPUT_TEXT ("MaxStudents",Cns_MAX_DECIMAL_DIGITS_UINT,StrMaxStudents,false,
"size=\"3\"");
HTM_TD_End ();
@ -4614,10 +4614,10 @@ void Grp_ChangeMaxStdsGrp (void)
/************* Write the maximum number of students in a group ***************/
/*****************************************************************************/
static void Grp_WriteMaxStds (char Str[10 + 1],unsigned MaxStudents)
static void Grp_WriteMaxStds (char Str[Cns_MAX_DECIMAL_DIGITS_UINT + 1],unsigned MaxStudents)
{
if (MaxStudents <= Grp_MAX_STUDENTS_IN_A_GROUP)
snprintf (Str,10 + 1,
snprintf (Str,Cns_MAX_DECIMAL_DIGITS_UINT + 1,
"%u",
MaxStudents);
else
@ -4842,8 +4842,8 @@ void Grp_PutParamGrpCod (long GrpCod)
void Grp_GetLstCodsGrpWanted (struct ListCodGrps *LstGrpsWanted)
{
unsigned NumGrpTyp;
char Param[8 + 10 + 1];
char LongStr[1 + 10 + 1];
char Param[6 + Cns_MAX_DECIMAL_DIGITS_LONG + 1];
char LongStr[1 + Cns_MAX_DECIMAL_DIGITS_LONG + 1];
char **LstStrCodGrps;
const char *Ptr;
unsigned NumGrpWanted;
@ -4859,7 +4859,7 @@ void Grp_GetLstCodsGrpWanted (struct ListCodGrps *LstGrpsWanted)
NumGrpTyp++)
{
/***** Allocate memory for the list of group codes of this type *****/
if ((LstStrCodGrps[NumGrpTyp] = (char *) malloc ((size_t) ((1 + 10 + 1) *
if ((LstStrCodGrps[NumGrpTyp] = (char *) malloc ((size_t) ((Cns_MAX_DECIMAL_DIGITS_LONG + 1) *
Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].NumGrps))) == NULL)
Lay_NotEnoughMemoryExit ();
@ -4868,14 +4868,14 @@ void Grp_GetLstCodsGrpWanted (struct ListCodGrps *LstGrpsWanted)
"GrpCod%ld",
Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypCod);
Par_GetParMultiToText (Param,LstStrCodGrps[NumGrpTyp],
((1 + 10 + 1) * Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].NumGrps) - 1);
((Cns_MAX_DECIMAL_DIGITS_LONG + 1) * Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].NumGrps) - 1);
if (LstStrCodGrps[NumGrpTyp][0])
{
/***** Count the number of groups selected of this type of LstCodGrps[NumGrpTyp] *****/
for (Ptr = LstStrCodGrps[NumGrpTyp], NumGrpWanted = 0;
*Ptr;
NumGrpWanted++)
Par_GetNextStrUntilSeparParamMult (&Ptr,LongStr,1 + 10);
Par_GetNextStrUntilSeparParamMult (&Ptr,LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
/***** Add the number of groups selected of this type to the number of groups selected total *****/
LstGrpsWanted->NumGrps += NumGrpWanted;
@ -4899,7 +4899,7 @@ void Grp_GetLstCodsGrpWanted (struct ListCodGrps *LstGrpsWanted)
*Ptr;
NumGrpWanted++)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,LongStr,1 + 10);
Par_GetNextStrUntilSeparParamMult (&Ptr,LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
LstGrpsWanted->GrpCods[NumGrpWanted] = Str_ConvertStrCodToLongCod (LongStr);
}
/* Free memory used by the list of group codes of this type */

View File

@ -297,7 +297,7 @@ static void Ind_GetParamNumIndicators (void)
{
unsigned Ind;
const char *Ptr;
char LongStr[1 + 10 + 1];
char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
long Indicator;
/***** Get parameter multiple with list of indicators selected *****/
@ -318,7 +318,7 @@ static void Ind_GetParamNumIndicators (void)
)
{
/* Get next indicator selected */
Par_GetNextStrUntilSeparParamMult (&Ptr,LongStr,1 + 10);
Par_GetNextStrUntilSeparParamMult (&Ptr,LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
Indicator = Str_ConvertStrCodToLongCod (LongStr);
/* Set each indicator in list StrIndicatorsSelected as selected */

View File

@ -1142,7 +1142,7 @@ void Mai_ShowFormChangeMyEmail (bool IMustFillInEmail,bool IShouldConfirmEmail)
{
extern const char *Hlp_PROFILE_Account;
extern const char *Txt_Email;
char StrRecordWidth[10 + 1];
char StrRecordWidth[Cns_MAX_DECIMAL_DIGITS_UINT + 2 + 1];
/***** Start section *****/
HTM_SECTION_Begin (Mai_EMAIL_SECTION_ID);
@ -1174,7 +1174,7 @@ void Mai_ShowFormChangeOtherUsrEmail (void)
{
extern const char *Hlp_PROFILE_Account;
extern const char *Txt_Email;
char StrRecordWidth[10 + 1];
char StrRecordWidth[Cns_MAX_DECIMAL_DIGITS_UINT + 2 + 1];
/***** Start section *****/
HTM_SECTION_Begin (Mai_EMAIL_SECTION_ID);

View File

@ -112,7 +112,7 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void)
extern const char *Txt_TABLE_Header;
extern const char *Txt_TABLE_Footer;
struct MarksProperties Marks;
char StrHeadOrFoot[10 + 1];
char StrHeadOrFoot[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
if (Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_FOLDER)
HTM_TD_ColouredEmpty (2);
@ -133,7 +133,7 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void)
snprintf (StrHeadOrFoot,sizeof (StrHeadOrFoot),
"%u",
Marks.Header);
HTM_INPUT_TEXT (Mrk_HeadOrFootStr[Brw_HEADER],5,StrHeadOrFoot,true,
HTM_INPUT_TEXT (Mrk_HeadOrFootStr[Brw_HEADER],Cns_MAX_DECIMAL_DIGITS_UINT,StrHeadOrFoot,true,
"size=\"1\" class=\"LST_EDIT_ROWS COLOR%u\"",
Gbl.RowEvenOdd);
HTM_LABEL_End ();
@ -152,7 +152,7 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void)
snprintf (StrHeadOrFoot,sizeof (StrHeadOrFoot),
"%u",
Marks.Footer);
HTM_INPUT_TEXT (Mrk_HeadOrFootStr[Brw_FOOTER],5,StrHeadOrFoot,true,
HTM_INPUT_TEXT (Mrk_HeadOrFootStr[Brw_FOOTER],Cns_MAX_DECIMAL_DIGITS_UINT,StrHeadOrFoot,true,
"size=\"1\" class=\"LST_EDIT_ROWS COLOR%u\"",
Gbl.RowEvenOdd);
HTM_LABEL_End ();
@ -240,7 +240,7 @@ static void Mrk_ChangeNumRowsHeaderOrFooter (Brw_HeadOrFoot_t HeaderOrFooter)
{
extern const Brw_FileBrowser_t Brw_FileBrowserForDB_files[Brw_NUM_TYPES_FILE_BROWSER];
extern const char *Txt_The_number_of_rows_is_now_X;
char UnsignedStr[10 + 1];
char UnsignedStr[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
long Cod;
unsigned NumRows;
@ -248,7 +248,7 @@ static void Mrk_ChangeNumRowsHeaderOrFooter (Brw_HeadOrFoot_t HeaderOrFooter)
Brw_GetParAndInitFileBrowser ();
/***** Get the number of rows of the header or footer of the table of marks *****/
Par_GetParToText (Mrk_HeadOrFootStr[HeaderOrFooter],UnsignedStr,10);
Par_GetParToText (Mrk_HeadOrFootStr[HeaderOrFooter],UnsignedStr,Cns_MAX_DECIMAL_DIGITS_UINT);
if (sscanf (UnsignedStr,"%u",&NumRows) == 1)
{
/***** Update properties of marks in the database *****/

View File

@ -1471,7 +1471,7 @@ static void Mch_ReorderAnswer (long MchCod,unsigned QstInd,
unsigned NumAns;
long LongNum;
unsigned AnsInd;
char StrOneAnswer[10 + 1];
char StrOneAnswer[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char StrAnswersOneQst[Tst_MAX_BYTES_ANSWERS_ONE_QST + 1];
/***** Initialize list of answers to empty string *****/

View File

@ -272,7 +272,7 @@ void Net_ShowFormMyWebsAndSocialNets (void)
MYSQL_ROW row;
Net_WebsAndSocialNetworks_t NumURL;
char URL[Cns_MAX_BYTES_WWW + 1];
char StrRecordWidth[10 + 1];
char StrRecordWidth[Cns_MAX_DECIMAL_DIGITS_UINT + 2 + 1];
char StrName[32];
/***** Start section *****/

View File

@ -227,7 +227,7 @@ static void Nck_ShowFormChangeUsrNickname (const struct UsrData *UsrDat,bool Its
extern const char *Txt_Save_changes;
MYSQL_RES *mysql_res;
MYSQL_ROW row;
char StrRecordWidth[10 + 1];
char StrRecordWidth[Cns_MAX_DECIMAL_DIGITS_UINT + 2 + 1];
unsigned NumNicks;
unsigned NumNick;
Act_Action_t NextAction;

View File

@ -359,7 +359,7 @@ void Not_ShowNotices (Not_Listing_t TypeNoticesListing,long HighlightNotCod)
extern const char *Txt_No_notices;
MYSQL_RES *mysql_res;
MYSQL_ROW row;
char StrWidth[10 + 2 + 1];
char StrWidth[Cns_MAX_DECIMAL_DIGITS_UINT + 2 + 1];
char PathRelRSSFile[PATH_MAX + 1];
long NotCod;
unsigned long NumNot;

View File

@ -82,7 +82,7 @@ bool Par_GetQueryString (void)
{
char Method[Par_MAX_BYTES_METHOD + 1];
char ContentType[Par_MAX_BYTES_CONTENT_TYPE + 1];
char UnsignedLongStr[10 + 1];
char UnsignedLongStr[Cns_MAX_DECIMAL_DIGITS_ULONG + 1];
unsigned long UnsignedLong;
Str_Copy (Method,getenv ("REQUEST_METHOD"),
@ -112,7 +112,7 @@ bool Par_GetQueryString (void)
if (getenv ("CONTENT_LENGTH"))
{
Str_Copy (UnsignedLongStr,getenv ("CONTENT_LENGTH"),
10);
Cns_MAX_DECIMAL_DIGITS_ULONG);
if (sscanf (UnsignedLongStr,"%lu",&UnsignedLong) != 1)
return false;
Gbl.Params.ContentLength = (size_t) UnsignedLong;
@ -665,7 +665,7 @@ void Par_GetMainParameters (void)
long ActCod;
char Nickname[Nck_MAX_BYTES_NICKNAME_FROM_FORM + 1];
char URL[PATH_MAX + 1];
char LongStr[1 + 10 + 1];
char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
/***** Reset codes of country, institution, centre, degree and course *****/
Gbl.Hierarchy.Cty.CtyCod =
@ -815,7 +815,7 @@ void Par_GetMainParameters (void)
}
/***** Get country if exists (from menu) *****/
Par_GetParToText ("cty",LongStr,1 + 10);
Par_GetParToText ("cty",LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
if (LongStr[0]) // Parameter "cty" available
{
Gbl.Hierarchy.Cty.CtyCod = Str_ConvertStrCodToLongCod (LongStr);
@ -826,7 +826,7 @@ void Par_GetMainParameters (void)
}
/***** Get institution if exists (from menu) *****/
Par_GetParToText ("ins",LongStr,1 + 10);
Par_GetParToText ("ins",LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
if (LongStr[0]) // Parameter "ins" available
{
Gbl.Hierarchy.Ins.InsCod = Str_ConvertStrCodToLongCod (LongStr);
@ -836,7 +836,7 @@ void Par_GetMainParameters (void)
}
/***** Get centre if exists (from menu) *****/
Par_GetParToText ("ctr",LongStr,1 + 10);
Par_GetParToText ("ctr",LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
if (LongStr[0]) // Parameter "ctr" available
{
Gbl.Hierarchy.Ctr.CtrCod = Str_ConvertStrCodToLongCod (LongStr);
@ -845,7 +845,7 @@ void Par_GetMainParameters (void)
}
/***** Get numerical degree code if exists (from menu) *****/
Par_GetParToText ("deg",LongStr,1 + 10);
Par_GetParToText ("deg",LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
if (LongStr[0]) // Parameter "deg" available
{
Gbl.Hierarchy.Deg.DegCod = Str_ConvertStrCodToLongCod (LongStr);
@ -853,7 +853,7 @@ void Par_GetMainParameters (void)
}
/***** Get numerical course code if exists (from menu) *****/
Par_GetParToText ("crs",LongStr,1 + 10);
Par_GetParToText ("crs",LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
if (LongStr[0]) // Parameter "crs" available
Gbl.Hierarchy.Crs.CrsCod = Str_ConvertStrCodToLongCod (LongStr); // Overwrite CrsCod from session
@ -892,11 +892,11 @@ unsigned long Par_GetParToUnsignedLong (const char *ParamName,
unsigned long Max,
unsigned long Default)
{
char UnsignedLongStr[20 + 1];
char UnsignedLongStr[Cns_MAX_DECIMAL_DIGITS_ULONG + 1];
unsigned long UnsignedLongNum;
/***** Get parameter with unsigned number *****/
Par_GetParToText (ParamName,UnsignedLongStr,10);
Par_GetParToText (ParamName,UnsignedLongStr,Cns_MAX_DECIMAL_DIGITS_ULONG);
if (sscanf (UnsignedLongStr,"%lu",&UnsignedLongNum) == 1)
if (UnsignedLongNum >= Min && UnsignedLongNum <= Max)
return UnsignedLongNum;
@ -910,10 +910,10 @@ unsigned long Par_GetParToUnsignedLong (const char *ParamName,
long Par_GetParToLong (const char *ParamName)
{
char LongStr[1 + 10 + 1];
char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
/***** Get parameter with long number *****/
Par_GetParToText (ParamName,LongStr,1 + 10);
Par_GetParToText (ParamName,LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
return Str_ConvertStrCodToLongCod (LongStr);
}

View File

@ -648,7 +648,7 @@ void Pwd_ShowFormChgMyPwd (void)
extern const char *Txt_Current_password;
extern const char *Txt_Change_password;
extern const char *Txt_Set_password;
char StrRecordWidth[10 + 1];
char StrRecordWidth[Cns_MAX_DECIMAL_DIGITS_UINT + 2 + 1];
bool IHaveAPasswordInDB = (bool) Gbl.Usrs.Me.UsrDat.Password[0];
/***** Start section *****/

View File

@ -287,7 +287,7 @@ void Rec_ListFieldsRecordsForEdition (void)
unsigned NumField;
Rec_VisibilityRecordFields_t Vis;
unsigned VisUnsigned;
char StrNumLines[10 + 1];
char StrNumLines[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
/***** Write heading *****/
Rec_WriteHeadingRecordFields ();
@ -324,7 +324,7 @@ void Rec_ListFieldsRecordsForEdition (void)
snprintf (StrNumLines,sizeof (StrNumLines),
"%u",
Gbl.Crs.Records.LstFields.Lst[NumField].NumLines);
HTM_INPUT_TEXT ("NumLines",2,StrNumLines,true,
HTM_INPUT_TEXT ("NumLines",Cns_MAX_DECIMAL_DIGITS_UINT,StrNumLines,true,
"size=\"2\"");
Frm_EndForm ();
HTM_TD_End ();
@ -363,7 +363,7 @@ void Rec_ShowFormCreateRecordField (void)
extern const char *Txt_Create_record_field;
Rec_VisibilityRecordFields_t Vis;
unsigned VisUnsigned;
char StrNumLines[10 + 1];
char StrNumLines[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
/***** Begin form *****/
Frm_StartForm (ActNewFie);
@ -392,7 +392,7 @@ void Rec_ShowFormCreateRecordField (void)
snprintf (StrNumLines,sizeof (StrNumLines),
"%u",
Gbl.Crs.Records.Field.NumLines);
HTM_INPUT_TEXT ("NumLines",2,StrNumLines,false,
HTM_INPUT_TEXT ("NumLines",Cns_MAX_DECIMAL_DIGITS_UINT,StrNumLines,false,
"size=\"2\" required=\"required\"");
HTM_TD_End ();
@ -491,15 +491,15 @@ void Rec_ReceiveFormField (void)
unsigned Rec_ConvertToNumLinesField (const char *StrNumLines)
{
int NumLines;
unsigned NumLines;
if (sscanf (StrNumLines,"%d",&NumLines) != 1)
if (sscanf (StrNumLines,"%u",&NumLines) != 1)
return Rec_DEF_LINES_IN_EDITION_FIELD;
else if (NumLines < Rec_MIN_LINES_IN_EDITION_FIELD)
return Rec_MIN_LINES_IN_EDITION_FIELD;
else if (NumLines > Rec_MAX_LINES_IN_EDITION_FIELD)
return Rec_MAX_LINES_IN_EDITION_FIELD;
return (unsigned) NumLines;
return NumLines;
}
/*****************************************************************************/
@ -1285,7 +1285,7 @@ static void Rec_ShowRecordOneTchCrs (void)
{
extern const char *Hlp_USERS_Teachers_timetable;
extern const char *Txt_TIMETABLE_TYPES[TT_NUM_TIMETABLE_TYPES];
char Width[10 + 2 + 1];
char Width[Cns_MAX_DECIMAL_DIGITS_UINT + 2 + 1];
bool ShowOfficeHours;
/***** Width for office hours *****/
@ -1370,7 +1370,7 @@ static void Rec_ListRecordsTchs (Rec_SharedRecordViewType_t TypeOfView)
struct UsrData UsrDat;
char RecordSectionId[32];
bool ShowOfficeHours;
char Width[10 + 2 + 1];
char Width[Cns_MAX_DECIMAL_DIGITS_UINT + 2 + 1];
/***** Get list of selected users if not already got *****/
Usr_GetListsSelectedUsrsCods ();
@ -1667,7 +1667,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
NULL, // Rec_CRS_PRINT_SEVERAL_RECORDS
// Rec_CRS_RECORD_PRINT
};
char StrRecordWidth[10 + 1];
char StrRecordWidth[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
bool ItsMe;
bool ICanEdit = false;
unsigned NumField;
@ -1890,7 +1890,7 @@ unsigned long Rec_GetFieldFromCrsRecord (long UsrCod,long FieldCod,MYSQL_RES **m
void Rec_GetFieldsCrsRecordFromForm (void)
{
unsigned NumField;
char FieldParamName[5 + 10 + 1];
char FieldParamName[5 + Cns_MAX_DECIMAL_DIGITS_LONG + 1];
for (NumField = 0;
NumField < Gbl.Crs.Records.LstFields.Num;
@ -2171,7 +2171,7 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView,
NULL, // Rol_INS_ADM
NULL, // Rol_SYS_ADM
};
char StrRecordWidth[10 + 1];
char StrRecordWidth[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
const char *ClassForm = "REC_DAT";
bool ItsMe;
bool IAmLoggedAsTeacherOrSysAdm;
@ -3981,7 +3981,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
unsigned NumCty;
unsigned NumIns;
unsigned NumCtr;
char StrRecordWidth[10 + 1];
char StrRecordWidth[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
/***** Start section *****/
HTM_SECTION_Begin (Rec_MY_INS_CTR_DPT_ID);

View File

@ -580,7 +580,7 @@ unsigned Rol_GetSelectedRoles (void)
{
char StrRoles[Rol_NUM_ROLES * (10 + 1)];
const char *Ptr;
char UnsignedStr[10 + 1];
char UnsignedStr[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
Rol_Role_t Role;
unsigned Roles;
@ -596,7 +596,7 @@ unsigned Rol_GetSelectedRoles (void)
for (Ptr = StrRoles;
*Ptr;)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UnsignedStr,10);
Par_GetNextStrUntilSeparParamMult (&Ptr,UnsignedStr,Cns_MAX_DECIMAL_DIGITS_UINT);
Role = Rol_ConvertUnsignedStrToRole (UnsignedStr);
if (Role != Rol_UNK)
Roles |= (1 << Role);

View File

@ -58,7 +58,7 @@ extern struct Globals Gbl;
#define Svy_MAX_CHARS_ANSWER (1024 - 1) // 1023
#define Svy_MAX_BYTES_ANSWER ((Svy_MAX_CHARS_ANSWER + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 16383
#define Svy_MAX_BYTES_LIST_ANSWER_TYPES (10 + (Svy_NUM_ANS_TYPES - 1) * (1 + 10))
#define Svy_MAX_BYTES_LIST_ANSWER_TYPES (Svy_NUM_ANS_TYPES * (Cns_MAX_DECIMAL_DIGITS_UINT + 1))
const char *Svy_StrAnswerTypesDB[Svy_NUM_ANS_TYPES] =
{
@ -3688,9 +3688,9 @@ static void Svy_ReceiveAndStoreUserAnswersToASurvey (long SvyCod)
unsigned NumQsts;
long QstCod;
char ParamName[3 + 10 + 6 + 1];
char StrAnswersIndexes[Svy_MAX_ANSWERS_PER_QUESTION * (10 + 1)];
char StrAnswersIndexes[Svy_MAX_ANSWERS_PER_QUESTION * (Cns_MAX_DECIMAL_DIGITS_UINT + 1)];
const char *Ptr;
char UnsignedStr[10 + 1];
char UnsignedStr[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
unsigned AnsInd;
/***** Get questions of this survey from database *****/
@ -3720,11 +3720,11 @@ static void Svy_ReceiveAndStoreUserAnswersToASurvey (long SvyCod)
(unsigned) QstCod);
// Lay_ShowAlert (Lay_INFO,ParamName);
Par_GetParMultiToText (ParamName,StrAnswersIndexes,
Svy_MAX_ANSWERS_PER_QUESTION * (10 + 1));
Svy_MAX_ANSWERS_PER_QUESTION * (Cns_MAX_DECIMAL_DIGITS_UINT + 1));
Ptr = StrAnswersIndexes;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UnsignedStr,10);
Par_GetNextStrUntilSeparParamMult (&Ptr,UnsignedStr,Cns_MAX_DECIMAL_DIGITS_UINT);
if (sscanf (UnsignedStr,"%u",&AnsInd) == 1)
// Parameter exists ==> user has checked this answer
// ==> store it in database

View File

@ -942,7 +942,7 @@ static void Syl_PutParamNumItem (void)
static void Syl_WriteNumItem (char *StrDst,FILE *FileTgt,int Level,int *CodItem)
{
int N;
char InStr[1 + 10 + 1];
char InStr[Cns_MAX_DECIMAL_DIGITS_INT + 1];
if (StrDst)
StrDst[0] = '\0';

View File

@ -593,7 +593,7 @@ void Tst_AssessTest (void)
static void Tst_GetQuestionsAndAnswersFromForm (void)
{
unsigned NumQst;
char StrQstIndOrAns[3 + 10 + 1]; // "Qstxx...x", "Indxx...x" or "Ansxx...x"
char StrQstIndOrAns[3 + Cns_MAX_DECIMAL_DIGITS_UINT + 1]; // "Qstxx...x", "Indxx...x" or "Ansxx...x"
/***** Get questions and answers *****/
for (NumQst = 0;
@ -1885,7 +1885,7 @@ static void Tst_ShowFormConfigTst (void)
extern const char *Txt_Save_changes;
Tst_Pluggable_t Pluggable;
Tst_Feedback_t Feedback;
char StrMinTimeNxtTstPerQst[20 + 1];
char StrMinTimeNxtTstPerQst[Cns_MAX_DECIMAL_DIGITS_ULONG + 1];
/***** Read test configuration from database *****/
Tst_GetConfigTstFromDB ();
@ -1957,7 +1957,7 @@ static void Tst_ShowFormConfigTst (void)
snprintf (StrMinTimeNxtTstPerQst,sizeof (StrMinTimeNxtTstPerQst),
"%lu",
Gbl.Test.Config.MinTimeNxtTstPerQst);
HTM_INPUT_TEXT ("MinTimeNxtTstPerQst",7,StrMinTimeNxtTstPerQst,false,
HTM_INPUT_TEXT ("MinTimeNxtTstPerQst",Cns_MAX_DECIMAL_DIGITS_ULONG,StrMinTimeNxtTstPerQst,false,
"size=\"7\" required=\"required\"");
HTM_TD_End ();
@ -2006,7 +2006,7 @@ static void Tst_ShowFormConfigTst (void)
static void Tst_PutInputFieldNumQst (const char *Field,const char *Label,
unsigned Value)
{
char StrValue[10 + 1];
char StrValue[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
HTM_TR_Begin (NULL);
@ -2020,7 +2020,7 @@ static void Tst_PutInputFieldNumQst (const char *Field,const char *Label,
snprintf (StrValue,sizeof (StrValue),
"%u",
Value);
HTM_INPUT_TEXT (Field,3,StrValue,false,
HTM_INPUT_TEXT (Field,Cns_MAX_DECIMAL_DIGITS_UINT,StrValue,false,
"size=\"3\" required=\"required\"");
HTM_TD_End ();
@ -2307,7 +2307,7 @@ static void Tst_ShowFormAnswerTypes (unsigned NumCols)
extern const char *Txt_TST_STR_ANSWER_TYPES[Tst_NUM_ANS_TYPES];
Tst_AnswerType_t AnsType;
bool Checked;
char UnsignedStr[10 + 1];
char UnsignedStr[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
const char *Ptr;
HTM_TR_Begin (NULL);
@ -2348,7 +2348,7 @@ static void Tst_ShowFormAnswerTypes (unsigned NumCols)
Ptr = Gbl.Test.ListAnsTypes;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UnsignedStr,10);
Par_GetNextStrUntilSeparParamMult (&Ptr,UnsignedStr,Cns_MAX_DECIMAL_DIGITS_UINT);
if (Tst_ConvertFromUnsignedStrToAnsTyp (UnsignedStr) == AnsType)
{
Checked = true;
@ -2453,10 +2453,10 @@ static unsigned long Tst_GetQuestions (MYSQL_RES **mysql_res)
unsigned NumItemInList;
const char *Ptr;
char TagText[Tst_MAX_BYTES_TAG + 1];
char LongStr[1 + 10 + 1];
char UnsignedStr[10 + 1];
char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
char UnsignedStr[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
Tst_AnswerType_t AnsType;
char CrsCodStr[1 + 10 + 1];
char CrsCodStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
/***** Allocate space for query *****/
if ((Query = (char *) malloc (Tst_MAX_BYTES_QUERY_TEST + 1)) == NULL)
@ -2621,9 +2621,9 @@ static unsigned long Tst_GetQuestionsForTest (MYSQL_RES **mysql_res)
unsigned NumItemInList;
const char *Ptr;
char TagText[Tst_MAX_BYTES_TAG + 1];
char UnsignedStr[10 + 1];
char UnsignedStr[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
Tst_AnswerType_t AnsType;
char StrNumQsts[10 + 1];
char StrNumQsts[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
/***** Allocate space for query *****/
if ((Query = (char *) malloc (Tst_MAX_BYTES_QUERY_TEST + 1)) == NULL)
@ -3980,14 +3980,14 @@ void Tst_GetIndexesFromStr (const char StrIndexesOneQst[Tst_MAX_BYTES_INDEXES_ON
{
unsigned NumOpt;
const char *Ptr;
char StrOneIndex[10 + 1];
char StrOneIndex[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
/***** Get indexes from string *****/
for (NumOpt = 0, Ptr = StrIndexesOneQst;
NumOpt < Tst_MAX_OPTIONS_PER_QUESTION && *Ptr;
NumOpt++)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,StrOneIndex,10);
Par_GetNextStrUntilSeparParamMult (&Ptr,StrOneIndex,Cns_MAX_DECIMAL_DIGITS_UINT);
if (sscanf (StrOneIndex,"%u",&(Indexes[NumOpt])) != 1)
Lay_ShowErrorAndExit ("Wrong index of answer.");
@ -4012,7 +4012,7 @@ void Tst_GetAnswersFromStr (const char StrAnswersOneQst[Tst_MAX_BYTES_ANSWERS_ON
{
unsigned NumOpt;
const char *Ptr;
char StrOneAnswer[10 + 1];
char StrOneAnswer[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
unsigned AnsUsr;
/***** Initialize all answers to false *****/
@ -4026,7 +4026,7 @@ void Tst_GetAnswersFromStr (const char StrAnswersOneQst[Tst_MAX_BYTES_ANSWERS_ON
NumOpt < Tst_MAX_OPTIONS_PER_QUESTION && *Ptr;
NumOpt++)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,StrOneAnswer,10);
Par_GetNextStrUntilSeparParamMult (&Ptr,StrOneAnswer,Cns_MAX_DECIMAL_DIGITS_UINT);
if (sscanf (StrOneAnswer,"%u",&AnsUsr) != 1)
Lay_ShowErrorAndExit ("Bad user's answer.");
@ -4837,7 +4837,7 @@ static bool Tst_GetParamsTst (Tst_ActionToDoWithQuestions_t ActionToDoWithQuesti
extern const char *Txt_You_must_select_one_ore_more_types_of_answer;
extern const char *Txt_The_number_of_questions_must_be_in_the_interval_X;
bool Error = false;
char UnsignedStr[10 + 1];
char UnsignedStr[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
unsigned UnsignedNum;
/***** Tags *****/
@ -4903,7 +4903,7 @@ static bool Tst_GetParamsTst (Tst_ActionToDoWithQuestions_t ActionToDoWithQuesti
Dat_GetIniEndDatesFromForm ();
/* Get ordering criteria */
Par_GetParMultiToText ("Order",UnsignedStr,10);
Par_GetParMultiToText ("Order",UnsignedStr,Cns_MAX_DECIMAL_DIGITS_UINT);
if (sscanf (UnsignedStr,"%u",&UnsignedNum) == 1)
Gbl.Test.SelectedOrder = (Tst_QuestionsOrder_t) ((UnsignedNum < Tst_NUM_TYPES_ORDER_QST) ? UnsignedNum :
0);
@ -4992,13 +4992,13 @@ static int Tst_CountNumAnswerTypesInList (void)
{
const char *Ptr;
int NumAnsTypes = 0;
char UnsignedStr[10 + 1];
char UnsignedStr[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
/***** Go over the list Gbl.Test.ListAnsTypes counting the number of types of answer *****/
Ptr = Gbl.Test.ListAnsTypes;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UnsignedStr,10);
Par_GetNextStrUntilSeparParamMult (&Ptr,UnsignedStr,Cns_MAX_DECIMAL_DIGITS_UINT);
Tst_ConvertFromUnsignedStrToAnsTyp (UnsignedStr);
NumAnsTypes++;
}
@ -5087,8 +5087,8 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
bool OptionsDisabled;
bool AnswerHasContent;
bool DisplayRightColumn;
char StrTagTxt[6 + 10 + 1];
char StrInteger[20 + 1];
char StrTagTxt[6 + Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char StrInteger[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
/***** Begin box *****/
if (Gbl.Test.QstCod > 0) // The question already has assigned a code
@ -5269,7 +5269,7 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
snprintf (StrInteger,sizeof (StrInteger),
"%ld",
Gbl.Test.Answer.Integer);
HTM_INPUT_TEXT ("AnsInt",11,StrInteger,false,
HTM_INPUT_TEXT ("AnsInt",Cns_MAX_DECIMAL_DIGITS_LONG,StrInteger,false,
"size=\"11\" required=\"required\"%s",
Gbl.Test.AnswerType == Tst_ANS_INT ? "" :
" disabled=\"disabled\"");
@ -5907,10 +5907,10 @@ static void Tst_GetQstFromForm (char *Stem,char *Feedback)
unsigned NumTag;
unsigned NumTagRead;
unsigned NumOpt;
char UnsignedStr[10 + 1];
char TagStr[6 + 10 + 1];
char AnsStr[6 + 10 + 1];
char FbStr[5 + 10 + 1];
char UnsignedStr[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char TagStr[6 + Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char AnsStr[6 + Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char FbStr[5 + Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char StrMultiAns[Tst_MAX_BYTES_ANSWERS_ONE_QST + 1];
char TF[1 + 1]; // (T)rue or (F)alse
const char *Ptr;
@ -5978,7 +5978,8 @@ static void Tst_GetQstFromForm (char *Stem,char *Feedback)
/* Abort on error */
Ale_ShowAlertsAndExit ();
Par_GetParToText ("AnsInt",Gbl.Test.Answer.Options[0].Text,1 + 10);
Par_GetParToText ("AnsInt",Gbl.Test.Answer.Options[0].Text,
Cns_MAX_DECIMAL_DIGITS_LONG);
break;
case Tst_ANS_FLOAT:
if (!Tst_AllocateTextChoiceAnswer (0))
@ -6063,7 +6064,7 @@ static void Tst_GetQstFromForm (char *Stem,char *Feedback)
Ptr = StrMultiAns;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UnsignedStr,10);
Par_GetNextStrUntilSeparParamMult (&Ptr,UnsignedStr,Cns_MAX_DECIMAL_DIGITS_UINT);
if (sscanf (UnsignedStr,"%u",&NumCorrectAns) != 1)
Lay_ShowErrorAndExit ("Wrong selected answer.");
if (NumCorrectAns >= Tst_MAX_OPTIONS_PER_QUESTION)

View File

@ -98,7 +98,7 @@ struct Tst_Config
};
#define Tst_NUM_ANS_TYPES 6
#define Tst_MAX_BYTES_LIST_ANSWER_TYPES (10 + (Tst_NUM_ANS_TYPES - 1) * (1 + 10))
#define Tst_MAX_BYTES_LIST_ANSWER_TYPES (Tst_NUM_ANS_TYPES * (Cns_MAX_DECIMAL_DIGITS_UINT + 1))
typedef enum
{
Tst_ANS_INT = 0,

View File

@ -2918,7 +2918,7 @@ static void TL_PutFormToSeeAllSharersNote (const struct TL_Note *SocNot,
TL_HowMany_t HowMany)
{
extern const char *Txt_View_all_USERS;
char ParamCod[6 + 1 + 10 + 1];
char ParamCod[7 + Cns_MAX_DECIMAL_DIGITS_LONG + 1];
switch (HowMany)
{
@ -2937,7 +2937,7 @@ static void TL_PutFormToSeeAllSharersNote (const struct TL_Note *SocNot,
static void TL_PutFormToShaNote (const struct TL_Note *SocNot)
{
extern const char *Txt_Share;
char ParamCod[6 + 1 + 10 + 1];
char ParamCod[7 + Cns_MAX_DECIMAL_DIGITS_LONG + 1];
/***** Form and icon to mark note as favourite *****/
sprintf (ParamCod,"NotCod=%ld",SocNot->NotCod);
@ -2948,7 +2948,7 @@ static void TL_PutFormToShaNote (const struct TL_Note *SocNot)
static void TL_PutFormToUnsNote (const struct TL_Note *SocNot)
{
extern const char *Txt_TIMELINE_NOTE_Shared;
char ParamCod[6 + 1 + 10 + 1];
char ParamCod[7 + Cns_MAX_DECIMAL_DIGITS_LONG + 1];
/***** Form and icon to mark note as favourite *****/
sprintf (ParamCod,"NotCod=%ld",SocNot->NotCod);
@ -2964,7 +2964,7 @@ static void TL_PutFormToSeeAllFaversNote (const struct TL_Note *SocNot,
TL_HowMany_t HowMany)
{
extern const char *Txt_View_all_USERS;
char ParamCod[6 + 1 + 10 + 1];
char ParamCod[7 + Cns_MAX_DECIMAL_DIGITS_LONG + 1];
switch (HowMany)
{
@ -2983,7 +2983,7 @@ static void TL_PutFormToSeeAllFaversNote (const struct TL_Note *SocNot,
static void TL_PutFormToFavNote (const struct TL_Note *SocNot)
{
extern const char *Txt_Mark_as_favourite;
char ParamCod[6 + 1 + 10 + 1];
char ParamCod[7 + Cns_MAX_DECIMAL_DIGITS_LONG + 1];
/***** Form and icon to mark note as favourite *****/
sprintf (ParamCod,"NotCod=%ld",SocNot->NotCod);
@ -2994,7 +2994,7 @@ static void TL_PutFormToFavNote (const struct TL_Note *SocNot)
static void TL_PutFormToUnfNote (const struct TL_Note *SocNot)
{
extern const char *Txt_TIMELINE_NOTE_Favourite;
char ParamCod[6 + 1 + 10 + 1];
char ParamCod[7 + Cns_MAX_DECIMAL_DIGITS_LONG + 1];
/***** Form and icon to unfav (remove mark as favourite) note *****/
sprintf (ParamCod,"NotCod=%ld",SocNot->NotCod);
@ -3010,7 +3010,7 @@ static void TL_PutFormToSeeAllFaversComment (const struct TL_Comment *SocCom,
TL_HowMany_t HowMany)
{
extern const char *Txt_View_all_USERS;
char ParamCod[6 + 1 + 10 + 1];
char ParamCod[7 + Cns_MAX_DECIMAL_DIGITS_LONG + 1];
switch (HowMany)
{
@ -3029,7 +3029,7 @@ static void TL_PutFormToSeeAllFaversComment (const struct TL_Comment *SocCom,
static void TL_PutFormToFavComment (const struct TL_Comment *SocCom)
{
extern const char *Txt_Mark_as_favourite;
char ParamCod[6 + 1 + 10 + 1];
char ParamCod[7 + Cns_MAX_DECIMAL_DIGITS_LONG + 1];
/***** Form and icon to mark comment as favourite *****/
sprintf (ParamCod,"PubCod=%ld",SocCom->PubCod);
@ -3040,7 +3040,7 @@ static void TL_PutFormToFavComment (const struct TL_Comment *SocCom)
static void TL_PutFormToUnfComment (const struct TL_Comment *SocCom)
{
extern const char *Txt_TIMELINE_NOTE_Favourite;
char ParamCod[6 + 1 + 10 + 1];
char ParamCod[7 + Cns_MAX_DECIMAL_DIGITS_LONG + 1];
/***** Form and icon to unfav (remove mark as favourite) comment *****/
sprintf (ParamCod,"PubCod=%ld",SocCom->PubCod);

View File

@ -1103,12 +1103,12 @@ unsigned Usr_GetNumCrssOfUsrWithARoleNotAccepted (long UsrCod,Rol_Role_t Role)
/****** Get number of users with some given roles in courses of a user *******/
/*****************************************************************************/
#define Usr_MAX_BYTES_ROLES_STR (Rol_NUM_ROLES * (10 + 1))
#define Usr_MAX_BYTES_ROLES_STR (Rol_NUM_ROLES * (Cns_MAX_DECIMAL_DIGITS_UINT + 1))
unsigned Usr_GetNumUsrsInCrssOfAUsr (long UsrCod,Rol_Role_t UsrRole,
unsigned OthersRoles)
{
Rol_Role_t Role;
char UnsignedStr[10 + 1];
char UnsignedStr[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char OthersRolesStr[Usr_MAX_BYTES_ROLES_STR + 1];
char SubQueryRole[64];
unsigned NumUsrs;
@ -4427,7 +4427,7 @@ static void Usr_BuildQueryToGetUsrsLstCrs (char **Query,Rol_Role_t Role)
{
unsigned NumPositiveCods = 0;
unsigned NumNegativeCods = 0;
char LongStr[1 + 10 + 1];
char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
unsigned NumGrpSel;
long GrpCod;
unsigned NumGrpTyp;
@ -9052,7 +9052,7 @@ unsigned Usr_GetTotalNumberOfUsersInPlatform (void)
unsigned Usr_GetTotalNumberOfUsersInCourses (Hie_Level_t Scope,unsigned Roles)
{
char UnsignedStr[10 + 1];
char UnsignedStr[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char SubQueryRoles[Usr_MAX_BYTES_SUBQUERY_ROLES + 1];
bool AnyUserInCourses;
Rol_Role_t Role;