Version 16.154

This commit is contained in:
Antonio Cañas Vargas 2017-03-08 14:12:33 +01:00
parent cc988bb840
commit 08f6026aee
71 changed files with 430 additions and 430 deletions

View File

@ -45,11 +45,11 @@
/***************************** Private constants *****************************/
/*****************************************************************************/
#define MFU_MAX_CHARS_TAB (128 - 1)
#define MFU_MAX_BYTES_TAB (MFU_MAX_CHARS_TAB * Str_MAX_BYTES_PER_CHAR)
#define MFU_MAX_CHARS_TAB (128 - 1) // 127
#define MFU_MAX_BYTES_TAB ((MFU_MAX_CHARS_TAB + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define MFU_MAX_CHARS_MENU (128 - 1)
#define MFU_MAX_BYTES_MENU (MFU_MAX_CHARS_MENU * Str_MAX_BYTES_PER_CHAR)
#define MFU_MAX_CHARS_MENU (128 - 1) // 127
#define MFU_MAX_BYTES_MENU ((MFU_MAX_CHARS_MENU + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
/*****************************************************************************/
/****************************** Internal types *******************************/

View File

@ -90,10 +90,10 @@ void QR_PutParamQRString (void)
void QR_PrintQRCode (void)
{
char QRString[Cns_MAX_BYTES_STRING + 1];
char QRString[Cns_MAX_BYTES_WWW + 1];
/***** Get QR string *****/
Par_GetParToText ("QRString",QRString,Cns_MAX_BYTES_STRING);
Par_GetParToText ("QRString",QRString,Cns_MAX_BYTES_WWW);
/***** Show QR code *****/
QR_ImageQRCode (QRString);

View File

@ -30,6 +30,7 @@
#include <stdbool.h> // For boolean type
#include "swad_cryptography.h"
#include "swad_string.h"
#include "swad_tab.h"
#include "swad_text.h"
@ -37,8 +38,8 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Act_MAX_CHARS_ACTION_TXT (256 - 1)
#define Act_MAX_BYTES_ACTION_TXT Act_MAX_CHARS_ACTION_TXT
#define Act_MAX_CHARS_ACTION_TXT (64 - 1) // 63
#define Act_MAX_BYTES_ACTION_TXT ((Act_MAX_CHARS_ACTION_TXT + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 1023
typedef enum
{

View File

@ -34,11 +34,11 @@
/************************** Public types and constants ***********************/
/*****************************************************************************/
#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_LOCATION (128 - 1) // 127
#define Agd_MAX_BYTES_LOCATION ((Agd_MAX_CHARS_LOCATION + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Agd_MAX_CHARS_EVENT (256 - 1)
#define Agd_MAX_BYTES_EVENT (Agd_MAX_CHARS_EVENT * Str_MAX_BYTES_PER_CHAR)
#define Agd_MAX_CHARS_EVENT (128 - 1) // 127
#define Agd_MAX_BYTES_EVENT ((Agd_MAX_CHARS_EVENT + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Agd_NUM_DATES 2
typedef enum

View File

@ -830,7 +830,7 @@ static void Asg_GetAssignmentTxtFromDB (long AsgCod,char Txt[Cns_MAX_BYTES_TEXT
/*****************************************************************************/
// This function may be called inside a web service
void Asg_GetNotifAssignment (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Asg_GetNotifAssignment (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long AsgCod,bool GetContent)
{
@ -855,7 +855,7 @@ void Asg_GetNotifAssignment (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
/***** Get summary *****/
Str_Copy (SummaryStr,row[0],
Cns_MAX_BYTES_SUMMARY_STRING);
Ntf_MAX_BYTES_SUMMARY);
/***** Get content *****/
if (GetContent)

View File

@ -28,14 +28,15 @@
/*****************************************************************************/
#include "swad_date.h"
#include "swad_notification.h"
#include "swad_user.h"
/*****************************************************************************/
/************************** Public types and constants ***********************/
/*****************************************************************************/
#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_CHARS_ASSIGNMENT_TITLE (128 - 1) // 127
#define Asg_MAX_BYTES_ASSIGNMENT_TITLE ((Asg_MAX_CHARS_ASSIGNMENT_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Asg_MAX_CHARS_FOLDER 32
#define Asg_MAX_BYTES_FOLDER Asg_MAX_CHARS_FOLDER
@ -77,7 +78,7 @@ void Asg_GetDataOfAssignmentByCod (struct Assignment *Asg);
void Asg_GetDataOfAssignmentByFolder (struct Assignment *Asg);
void Asg_FreeListAssignments (void);
void Asg_GetNotifAssignment (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Asg_GetNotifAssignment (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long AsgCod,bool GetContent);

View File

@ -34,8 +34,8 @@
/************************** Public types and constants ***********************/
/*****************************************************************************/
#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_MAX_CHARS_ATTENDANCE_EVENT_TITLE (128 - 1) // 127
#define Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE ((Att_MAX_CHARS_ATTENDANCE_EVENT_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Att_NUM_DATES 2
typedef enum

View File

@ -33,13 +33,13 @@
/************************** Public types and constants ***********************/
/*****************************************************************************/
#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_SHRT_NAME (32 - 1) // 31
#define Ban_MAX_BYTES_SHRT_NAME ((Ban_MAX_CHARS_SHRT_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 511
#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_FULL_NAME (128 - 1) // 127
#define Ban_MAX_BYTES_FULL_NAME ((Ban_MAX_CHARS_FULL_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Ban_MAX_CHARS_IMAGE (256 - 1)
#define Ban_MAX_CHARS_IMAGE NAME_MAX
#define Ban_MAX_BYTES_IMAGE Ban_MAX_CHARS_IMAGE
struct Banner

View File

@ -436,7 +436,7 @@ static void Ctr_Configuration (bool PrintView)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Ctr_MAX_CHARS_CENTRE_FULL_NAME,
Hie_MAX_CHARS_FULL_NAME,
Gbl.CurrentCtr.Ctr.FullName,
Gbl.Form.Id);
Act_FormEnd ();
@ -465,7 +465,7 @@ static void Ctr_Configuration (bool PrintView)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Ctr_MAX_CHARS_CENTRE_SHRT_NAME,
Hie_MAX_CHARS_SHRT_NAME,
Gbl.CurrentCtr.Ctr.ShrtName,
Gbl.Form.Id);
Act_FormEnd ();
@ -1036,11 +1036,11 @@ void Ctr_GetListCentres (long InsCod)
/* Get the short name of the centre (row[5]) */
Str_Copy (Ctr->ShrtName,row[5],
Ctr_MAX_BYTES_CENTRE_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
/* Get the full name of the centre (row[6]) */
Str_Copy (Ctr->FullName,row[6],
Ctr_MAX_BYTES_CENTRE_FULL_NAME);
Hie_MAX_BYTES_FULL_NAME);
/* Get the URL of the centre (row[7]) */
Str_Copy (Ctr->WWW,row[7],
@ -1134,11 +1134,11 @@ bool Ctr_GetDataOfCentreByCod (struct Centre *Ctr)
/* Get the short name of the centre (row[4]) */
Str_Copy (Ctr->ShrtName,row[4],
Ctr_MAX_BYTES_CENTRE_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
/* Get the full name of the centre (row[5]) */
Str_Copy (Ctr->FullName,row[5],
Ctr_MAX_BYTES_CENTRE_FULL_NAME);
Hie_MAX_BYTES_FULL_NAME);
/* Get the URL of the centre (row[6]) */
Str_Copy (Ctr->WWW,row[6],
@ -1221,7 +1221,7 @@ void Ctr_GetShortNameOfCentreByCod (struct Centre *Ctr)
row = mysql_fetch_row (mysql_res);
Str_Copy (Ctr->ShrtName,row[0],
Ctr_MAX_BYTES_CENTRE_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
}
/***** Free structure that stores the query result *****/
@ -1470,7 +1470,7 @@ static void Ctr_ListCentresForEdition (void)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Ctr_MAX_CHARS_CENTRE_SHRT_NAME,Ctr->ShrtName,Gbl.Form.Id);
Hie_MAX_CHARS_SHRT_NAME,Ctr->ShrtName,Gbl.Form.Id);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>");
}
@ -1488,7 +1488,7 @@ static void Ctr_ListCentresForEdition (void)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Ctr_MAX_CHARS_CENTRE_FULL_NAME,Ctr->FullName,Gbl.Form.Id);
Hie_MAX_CHARS_FULL_NAME,Ctr->FullName,Gbl.Form.Id);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>");
}
@ -1884,25 +1884,25 @@ static void Ctr_RenameCentre (struct Centre *Ctr,Cns_ShrtOrFullName_t ShrtOrFull
extern const char *Txt_The_centre_X_already_exists;
extern const char *Txt_The_centre_X_has_been_renamed_as_Y;
extern const char *Txt_The_name_of_the_centre_X_has_not_changed;
char Query[128 + Ctr_MAX_BYTES_CENTRE_FULL_NAME];
char Query[128 + Hie_MAX_BYTES_FULL_NAME];
const char *ParamName = NULL; // Initialized to avoid warning
const char *FieldName = NULL; // Initialized to avoid warning
unsigned NaxBytes = 0; // Initialized to avoid warning
char *CurrentCtrName = NULL; // Initialized to avoid warning
char NewCtrName[Ctr_MAX_BYTES_CENTRE_FULL_NAME + 1];
char NewCtrName[Hie_MAX_BYTES_FULL_NAME + 1];
switch (ShrtOrFullName)
{
case Cns_SHRT_NAME:
ParamName = "ShortName";
FieldName = "ShortName";
NaxBytes = Ctr_MAX_BYTES_CENTRE_SHRT_NAME;
NaxBytes = Hie_MAX_BYTES_SHRT_NAME;
CurrentCtrName = Ctr->ShrtName;
break;
case Cns_FULL_NAME:
ParamName = "FullName";
FieldName = "FullName";
NaxBytes = Ctr_MAX_BYTES_CENTRE_FULL_NAME;
NaxBytes = Hie_MAX_BYTES_FULL_NAME;
CurrentCtrName = Ctr->FullName;
break;
}
@ -1961,7 +1961,7 @@ static void Ctr_RenameCentre (struct Centre *Ctr,Cns_ShrtOrFullName_t ShrtOrFull
static bool Ctr_CheckIfCtrNameExistsInIns (const char *FieldName,const char *Name,long CtrCod,long InsCod)
{
char Query[256 + Ctr_MAX_BYTES_CENTRE_FULL_NAME];
char Query[256 + Hie_MAX_BYTES_FULL_NAME];
/***** Get number of centres with a name from database *****/
sprintf (Query,"SELECT COUNT(*) FROM centres"
@ -2355,12 +2355,12 @@ void Ctr_ReceivePhoto (void)
void Ctr_ChangeCtrPhotoAttribution (void)
{
char Query[256 + Ctr_MAX_BYTES_PHOTO_ATTRIBUTION];
char NewPhotoAttribution[Ctr_MAX_BYTES_PHOTO_ATTRIBUTION + 1];
char Query[256 + Img_MAX_BYTES_ATTRIBUTION];
char NewPhotoAttribution[Img_MAX_BYTES_ATTRIBUTION + 1];
/***** Get parameters from form *****/
/* Get the new photo attribution for the centre */
Par_GetParToText ("Attribution",NewPhotoAttribution,Ctr_MAX_BYTES_PHOTO_ATTRIBUTION);
Par_GetParToText ("Attribution",NewPhotoAttribution,Img_MAX_BYTES_ATTRIBUTION);
/***** Update the table changing old attribution by new attribution *****/
sprintf (Query,"UPDATE centres SET PhotoAttribution='%s'"
@ -2443,7 +2443,7 @@ static void Ctr_PutFormToCreateCentre (void)
" class=\"INPUT_SHORT_NAME\""
" required=\"required\" />"
"</td>",
Ctr_MAX_CHARS_CENTRE_SHRT_NAME,Ctr->ShrtName);
Hie_MAX_CHARS_SHRT_NAME,Ctr->ShrtName);
/***** Centre full name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -2452,7 +2452,7 @@ static void Ctr_PutFormToCreateCentre (void)
" class=\"INPUT_FULL_NAME\""
" required=\"required\" />"
"</td>",
Ctr_MAX_CHARS_CENTRE_FULL_NAME,Ctr->FullName);
Hie_MAX_CHARS_FULL_NAME,Ctr->FullName);
/***** Centre WWW *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -2671,10 +2671,10 @@ static void Ctr_RecFormRequestOrCreateCtr (unsigned Status)
Lay_ShowAlert (Lay_ERROR,"Wrong place.");
/* Get centre short name */
Par_GetParToText ("ShortName",Ctr->ShrtName,Ctr_MAX_BYTES_CENTRE_SHRT_NAME);
Par_GetParToText ("ShortName",Ctr->ShrtName,Hie_MAX_BYTES_SHRT_NAME);
/* Get centre full name */
Par_GetParToText ("FullName",Ctr->FullName,Ctr_MAX_BYTES_CENTRE_FULL_NAME);
Par_GetParToText ("FullName",Ctr->FullName,Hie_MAX_BYTES_FULL_NAME);
/* Get centre WWW */
Par_GetParToText ("WWW",Ctr->WWW,Cns_MAX_BYTES_WWW);
@ -2723,8 +2723,8 @@ static void Ctr_CreateCentre (struct Centre *Ctr,unsigned Status)
{
extern const char *Txt_Created_new_centre_X;
char Query[512 +
Ctr_MAX_BYTES_CENTRE_SHRT_NAME +
Ctr_MAX_BYTES_CENTRE_FULL_NAME +
Hie_MAX_BYTES_SHRT_NAME +
Hie_MAX_BYTES_FULL_NAME +
Cns_MAX_BYTES_WWW];
/***** Create a new centre *****/

View File

@ -57,15 +57,6 @@ typedef enum
#define Ctr_MAX_CENTRES_PER_USR 10 // Used in list of my centres
#define Ctr_MAX_CHARS_CENTRE_SHRT_NAME 32
#define Ctr_MAX_BYTES_CENTRE_SHRT_NAME (Ctr_MAX_CHARS_CENTRE_SHRT_NAME * Str_MAX_BYTES_PER_CHAR)
#define Ctr_MAX_CHARS_CENTRE_FULL_NAME (128 - 1)
#define Ctr_MAX_BYTES_CENTRE_FULL_NAME (Ctr_MAX_CHARS_CENTRE_FULL_NAME * Str_MAX_BYTES_PER_CHAR)
#define Ctr_MAX_CHARS_PHOTO_ATTRIBUTION 512
#define Ctr_MAX_BYTES_PHOTO_ATTRIBUTION (Ctr_MAX_CHARS_PHOTO_ATTRIBUTION * Str_MAX_BYTES_PER_CHAR)
struct Centre
{
long CtrCod; // Centre code
@ -73,8 +64,8 @@ struct Centre
long PlcCod; // Place code
Ctr_Status_t Status; // Centre status
long RequesterUsrCod; // User code of the person who requested the creation of this centre
char ShrtName[Ctr_MAX_BYTES_CENTRE_SHRT_NAME + 1];
char FullName[Ctr_MAX_BYTES_CENTRE_FULL_NAME + 1];
char ShrtName[Hie_MAX_BYTES_SHRT_NAME + 1];
char FullName[Hie_MAX_BYTES_FULL_NAME + 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

View File

@ -204,13 +204,15 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.153 (2017-03-08)"
#define Log_PLATFORM_VERSION "SWAD 16.154 (2017-03-08)"
#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.154: Mar 08, 2017 Adjusting size of database fields.
Code refactoring related to number of chars and bytes. (216458 lines)
Version 16.153: Mar 08, 2017 Code refactoring related to number of chars and bytes. (216450 lines)
Version 16.152: Mar 07, 2017 Code refactoring related to number of chars and bytes. (216428 lines)
Version 16.151: Mar 07, 2017 Code refactoring related to number of chars and bytes. (216422 lines)

View File

@ -54,11 +54,11 @@ extern struct Globals Gbl;
#define Cht_MAX_CHARS_ROOM_CODE 16 // Maximum number of chars of the code of a chat room
#define Cht_MAX_BYTES_ROOM_CODE Cht_MAX_CHARS_ROOM_CODE
#define Cht_MAX_CHARS_ROOM_SHRT_NAME (128 - 1) // Maximum number of chars of the short name of a chat room
#define Cht_MAX_BYTES_ROOM_SHRT_NAME (Cht_MAX_CHARS_ROOM_SHRT_NAME * Str_MAX_BYTES_PER_CHAR)
#define Cht_MAX_CHARS_ROOM_SHRT_NAME (128 - 1) // 127, maximum number of chars of the short name of a chat room
#define Cht_MAX_BYTES_ROOM_SHRT_NAME ((Cht_MAX_CHARS_ROOM_SHRT_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Cht_MAX_CHARS_ROOM_FULL_NAME (256 - 1) // Maximum number of chars of the full name of a chat room
#define Cht_MAX_BYTES_ROOM_FULL_NAME (Cht_MAX_CHARS_ROOM_FULL_NAME * Str_MAX_BYTES_PER_CHAR)
#define Cht_MAX_CHARS_ROOM_FULL_NAME (256 - 1) // 255, maximum number of chars of the full name of a chat room
#define Cht_MAX_BYTES_ROOM_FULL_NAME ((Cht_MAX_CHARS_ROOM_FULL_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 4095
/*****************************************************************************/
/***************************** Private prototypes ****************************/

View File

@ -497,7 +497,7 @@ void Con_ShowConnectedUsrsBelongingToCurrentCrs (void)
{
extern const char *Txt_Connected_users;
extern const char *Txt_from;
char CourseName[Crs_MAX_BYTES_COURSE_SHRT_NAME + 1];
char CourseName[Hie_MAX_BYTES_SHRT_NAME + 1];
struct ConnectedUsrs Usrs;
if (Gbl.CurrentCrs.Crs.CrsCod <= 0) // There is no course selected
@ -513,7 +513,7 @@ void Con_ShowConnectedUsrsBelongingToCurrentCrs (void)
// is dynamically updated via AJAX
Act_LinkFormSubmitUnique (Txt_Connected_users,"CONNECTED_TXT");
Str_Copy (CourseName,Gbl.CurrentCrs.Crs.ShrtName,
Crs_MAX_BYTES_COURSE_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_UNKNOWN,&Usrs);
fprintf (Gbl.F.Out,"%u %s %s"
"</a>",

View File

@ -36,24 +36,21 @@
#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_CHARS_IP (16 - 1) // Max. number of chars of an IP address
#define Cns_MAX_CHARS_IP (3 + 1 + 3 + 1 + 3 + 1 + 3) // Max. number of chars of an IP address
// Example: 255.255.255.255
// 3+1+3+1+3+1+3
// 123456789012345
#define Cns_MAX_BYTES_IP Cns_MAX_CHARS_IP
#define Cns_MAX_CHARS_DATE (4 + 1 + 2 + 1 + 2)
#define Cns_MAX_BYTES_DATE Cns_MAX_CHARS_DATE
#define Cns_MAX_CHARS_SUBJECT (256 - 1)
#define Cns_MAX_BYTES_SUBJECT (Cns_MAX_CHARS_SUBJECT * Str_MAX_BYTES_PER_CHAR)
#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_CHARS_SUBJECT (256 - 1) // 255
#define Cns_MAX_BYTES_SUBJECT ((Cns_MAX_CHARS_SUBJECT + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 4095
#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_CHARS_STRING (128 - 1)
#define Cns_MAX_BYTES_STRING (Cns_MAX_CHARS_STRING * Str_MAX_BYTES_PER_CHAR)
/*****************************************************************************/
/******************************* Public types ********************************/
/*****************************************************************************/

View File

@ -803,7 +803,7 @@ void Cty_DrawCountryMapAndNameWithLink (struct Country *Cty,Act_Action_t Action,
const char *ClassLink)
{
extern const char *Txt_Go_to_X;
char CountryName[Cty_MAX_BYTES_COUNTRY_NAME + 1];
char CountryName[Hie_MAX_BYTES_FULL_NAME + 1];
/***** Start form *****/
Act_FormGoToStart (Action);
@ -819,7 +819,7 @@ void Cty_DrawCountryMapAndNameWithLink (struct Country *Cty,Act_Action_t Action,
/***** Write country name and end link *****/
Str_Copy (CountryName,Cty->Name[Gbl.Prefs.Language],
Cty_MAX_BYTES_COUNTRY_NAME);
Hie_MAX_BYTES_FULL_NAME);
fprintf (Gbl.F.Out,"&nbsp;%s&nbsp;(%s)"
"</a>"
"</div>",
@ -1099,7 +1099,7 @@ void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData)
/* Get the name of the country in current language */
Str_Copy (Cty->Name[Gbl.Prefs.Language],row[2],
Cty_MAX_BYTES_COUNTRY_NAME);
Hie_MAX_BYTES_FULL_NAME);
break;
case Cty_GET_EXTRA_DATA:
/* Get the name of the country in several languages */
@ -1108,7 +1108,7 @@ void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData)
Lan++)
{
Str_Copy (Cty->Name[Lan],row[1 + Lan],
Cty_MAX_BYTES_COUNTRY_NAME);
Hie_MAX_BYTES_FULL_NAME);
Str_Copy (Cty->WWW[Lan],row[1 + Txt_NUM_LANGUAGES + Lan],
Cns_MAX_BYTES_WWW);
}
@ -1212,7 +1212,7 @@ void Cty_WriteSelectorOfCountry (void)
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 CtyName[Hie_MAX_BYTES_FULL_NAME + 1];
char ActTxt[Act_MAX_BYTES_ACTION_TXT + 1];
bool PutForm = ClassLink &&
!Gbl.Form.Inside && // Only if not inside another form
@ -1279,7 +1279,7 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD
Lan++)
if (Lan == Gbl.Prefs.Language)
Str_Copy (Cty->Name[Lan],Txt_Another_country,
Cty_MAX_BYTES_COUNTRY_NAME);
Hie_MAX_BYTES_FULL_NAME);
else
Cty->Name[Lan][0] = '\0';
return false;
@ -1355,7 +1355,7 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD
case Cty_GET_BASIC_DATA:
/* Get name and WWW of the country in current language */
Str_Copy (Cty->Name[Gbl.Prefs.Language],row[1],
Cty_MAX_BYTES_COUNTRY_NAME);
Hie_MAX_BYTES_FULL_NAME);
Str_Copy (Cty->WWW[Gbl.Prefs.Language],row[2],
Cns_MAX_BYTES_WWW);
break;
@ -1366,7 +1366,7 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD
Lan++)
{
Str_Copy (Cty->Name[Lan],row[Lan],
Cty_MAX_BYTES_COUNTRY_NAME);
Hie_MAX_BYTES_FULL_NAME);
Str_Copy (Cty->WWW[Lan],row[Txt_NUM_LANGUAGES + Lan],
Cns_MAX_BYTES_WWW);
}
@ -1398,7 +1398,7 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD
/***************************** Get country name ******************************/
/*****************************************************************************/
void Cty_GetCountryName (long CtyCod,char CtyName[Cty_MAX_BYTES_COUNTRY_NAME + 1])
void Cty_GetCountryName (long CtyCod,char CtyName[Hie_MAX_BYTES_FULL_NAME + 1])
{
extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES];
char Query[128];
@ -1407,7 +1407,7 @@ void Cty_GetCountryName (long CtyCod,char CtyName[Cty_MAX_BYTES_COUNTRY_NAME + 1
static struct
{
long CtyCod;
char CtyName[Cty_MAX_BYTES_COUNTRY_NAME + 1];
char CtyName[Hie_MAX_BYTES_FULL_NAME + 1];
} Cached =
{
-1L,
@ -1433,7 +1433,7 @@ void Cty_GetCountryName (long CtyCod,char CtyName[Cty_MAX_BYTES_COUNTRY_NAME + 1
/* Get the name of the country */
Str_Copy (Cached.CtyName,row[0],
Cty_MAX_BYTES_COUNTRY_NAME);
Hie_MAX_BYTES_FULL_NAME);
}
else
Cached.CtyName[0] = '\0';
@ -1443,7 +1443,7 @@ void Cty_GetCountryName (long CtyCod,char CtyName[Cty_MAX_BYTES_COUNTRY_NAME + 1
}
Str_Copy (CtyName,Cached.CtyName,
Cty_MAX_BYTES_COUNTRY_NAME);
Hie_MAX_BYTES_FULL_NAME);
}
}
@ -1604,7 +1604,7 @@ static void Cty_ListCountriesForEdition (void)
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"Name\""
" size=\"15\" maxlength=\"%u\" value=\"%s\""
" onchange=\"document.getElementById('%s').submit();\" />",
Cty_MAX_CHARS_COUNTRY_NAME,
Hie_MAX_CHARS_FULL_NAME,
Cty->Name[Lan],Gbl.Form.Id);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>");
@ -1723,7 +1723,7 @@ void Cty_RenameCountry (void)
extern const char *Txt_The_name_of_the_country_X_has_not_changed;
char Query[512];
struct Country *Cty;
char NewCtyName[Cty_MAX_BYTES_COUNTRY_NAME + 1];
char NewCtyName[Hie_MAX_BYTES_FULL_NAME + 1];
Txt_Language_t Language;
Cty = &Gbl.Ctys.EditingCty;
@ -1736,7 +1736,7 @@ void Cty_RenameCountry (void)
Language = Pre_GetParamLanguage ();
/* Get the new name for the country */
Par_GetParToText ("Name",NewCtyName,Cty_MAX_BYTES_COUNTRY_NAME);
Par_GetParToText ("Name",NewCtyName,Hie_MAX_BYTES_FULL_NAME);
/***** Get from the database the data of the country *****/
Cty_GetDataOfCountryByCod (Cty,Cty_GET_EXTRA_DATA);
@ -1784,7 +1784,7 @@ void Cty_RenameCountry (void)
/***** Show the form again *****/
Str_Copy (Cty->Name[Language],NewCtyName,
Cty_MAX_BYTES_COUNTRY_NAME);
Hie_MAX_BYTES_FULL_NAME);
Cty_EditCountries ();
}
@ -1855,7 +1855,7 @@ void Cty_ChangeCtyWWW (void)
Language = Pre_GetParamLanguage ();
/* Get the new WWW for the country */
Par_GetParToText ("WWW",NewWWW,Cty_MAX_BYTES_COUNTRY_NAME);
Par_GetParToText ("WWW",NewWWW,Hie_MAX_BYTES_FULL_NAME);
/***** Get from the database the data of the country *****/
Cty_GetDataOfCountryByCod (Cty,Cty_GET_EXTRA_DATA);
@ -1882,12 +1882,12 @@ void Cty_ChangeCtyWWW (void)
void Cty_ChangeCtyMapAttribution (void)
{
char Query[256 + Cty_MAX_BYTES_MAP_ATTRIBUTION];
char NewMapAttribution[Cty_MAX_BYTES_MAP_ATTRIBUTION + 1];
char Query[256 + Img_MAX_BYTES_ATTRIBUTION];
char NewMapAttribution[Img_MAX_BYTES_ATTRIBUTION + 1];
/***** Get parameters from form *****/
/* Get the new map attribution for the country */
Par_GetParToText ("Attribution",NewMapAttribution,Cty_MAX_BYTES_MAP_ATTRIBUTION);
Par_GetParToText ("Attribution",NewMapAttribution,Img_MAX_BYTES_ATTRIBUTION);
/***** Update the table changing old attribution by new attribution *****/
sprintf (Query,"UPDATE countries SET MapAttribution='%s'"
@ -1983,7 +1983,7 @@ static void Cty_PutFormToCreateCountry (void)
" required=\"required\" />"
"</td>",
Txt_STR_LANG_ID[Lan],
Cty_MAX_CHARS_COUNTRY_NAME,
Hie_MAX_CHARS_FULL_NAME,
Cty->Name[Lan]);
/* WWW */
@ -2116,7 +2116,7 @@ void Cty_RecFormNewCountry (void)
Lan++)
{
sprintf (ParamName,"Name_%s",Txt_STR_LANG_ID[Lan]);
Par_GetParToText (ParamName,Cty->Name[Lan],Cty_MAX_BYTES_COUNTRY_NAME);
Par_GetParToText (ParamName,Cty->Name[Lan],Hie_MAX_BYTES_FULL_NAME);
if (Cty->Name[Lan][0]) // If there's a country name
{
@ -2155,7 +2155,7 @@ void Cty_RecFormNewCountry (void)
/**************************** Create a new country ***************************/
/*****************************************************************************/
#define Cty_MAX_BYTES_SUBQUERY_CTYS_NAME ((1 + Txt_NUM_LANGUAGES) * Cty_MAX_BYTES_COUNTRY_NAME)
#define Cty_MAX_BYTES_SUBQUERY_CTYS_NAME ((1 + Txt_NUM_LANGUAGES) * Hie_MAX_BYTES_FULL_NAME)
#define Cty_MAX_BYTES_SUBQUERY_CTYS_WWW ((1 + Txt_NUM_LANGUAGES) * Cns_MAX_BYTES_WWW)
static void Cty_CreateCountry (struct Country *Cty)

View File

@ -30,6 +30,7 @@
#include <stdbool.h> // For boolean type
#include "swad_action.h"
#include "swad_hierarchy.h"
#include "swad_role_type.h"
#include "swad_text.h"
@ -37,19 +38,13 @@
/************************** Public types and constants ***********************/
/*****************************************************************************/
#define Cty_MAX_CHARS_COUNTRY_NAME (128 - 1)
#define Cty_MAX_BYTES_COUNTRY_NAME (Cty_MAX_CHARS_COUNTRY_NAME * Str_MAX_BYTES_PER_CHAR)
#define Cty_MAX_CHARS_MAP_ATTRIBUTION 512
#define Cty_MAX_BYTES_MAP_ATTRIBUTION (Cty_MAX_CHARS_MAP_ATTRIBUTION * Str_MAX_BYTES_PER_CHAR)
#define Cty_MAX_COUNTRS_PER_USR 10 // Used in list of my countries
struct Country
{
long CtyCod;
char Alpha2[2 + 1];
char Name[1 + Txt_NUM_LANGUAGES][Cty_MAX_BYTES_COUNTRY_NAME + 1];
char Name[1 + Txt_NUM_LANGUAGES][Hie_MAX_BYTES_FULL_NAME + 1];
char WWW [1 + Txt_NUM_LANGUAGES][Cns_MAX_BYTES_WWW + 1];
unsigned NumUsrsWhoClaimToBelongToCty;
unsigned NumInss;
@ -101,7 +96,7 @@ void Cty_FreeListCountries (void);
void Cty_WriteSelectorOfCountry (void);
void Cty_WriteCountryName (long CtyCod,const char *ClassLink);
bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraData);
void Cty_GetCountryName (long CtyCod,char CtyName[Cty_MAX_BYTES_COUNTRY_NAME + 1]);
void Cty_GetCountryName (long CtyCod,char CtyName[Hie_MAX_BYTES_FULL_NAME + 1]);
void Cty_PutParamCtyCod (long CtyCod);
long Cty_GetAndCheckParamOtherCtyCod (void);
void Cty_RemoveCountry (void);

View File

@ -104,8 +104,8 @@ static void Crs_UpdateCrsDegDB (long CrsCod,long DegCod);
static void Crs_UpdateCrsYear (struct Course *Crs,unsigned NewYear);
static void Crs_GetShortNamesByCod (long CrsCod,
char CrsShortName[Crs_MAX_BYTES_COURSE_SHRT_NAME + 1],
char DegShortName[Deg_MAX_BYTES_DEGREE_SHRT_NAME + 1]);
char CrsShortName[Hie_MAX_BYTES_SHRT_NAME + 1],
char DegShortName[Hie_MAX_BYTES_SHRT_NAME + 1]);
static void Crs_EmptyCourseCompletely (long CrsCod);
@ -276,7 +276,7 @@ static void Crs_Configuration (bool PrintView)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Crs_MAX_CHARS_COURSE_FULL_NAME,
Hie_MAX_CHARS_FULL_NAME,
Gbl.CurrentCrs.Crs.FullName,
Gbl.Form.Id);
Act_FormEnd ();
@ -305,7 +305,7 @@ static void Crs_Configuration (bool PrintView)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Crs_MAX_CHARS_COURSE_SHRT_NAME,
Hie_MAX_CHARS_SHRT_NAME,
Gbl.CurrentCrs.Crs.ShrtName,
Gbl.Form.Id);
Act_FormEnd ();
@ -1066,8 +1066,8 @@ void Crs_WriteSelectorMyCourses (void)
long CrsCod;
long DegCod;
long LastDegCod;
char CrsShortName[Crs_MAX_BYTES_COURSE_SHRT_NAME + 1];
char DegShortName[Deg_MAX_BYTES_DEGREE_SHRT_NAME + 1];
char CrsShortName[Hie_MAX_BYTES_SHRT_NAME + 1];
char DegShortName[Hie_MAX_BYTES_SHRT_NAME + 1];
/***** Fill the list with the courses I belong to, if not filled *****/
if (Gbl.Usrs.Me.Logged)
@ -1479,7 +1479,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Crs_MAX_CHARS_COURSE_SHRT_NAME,Crs->ShrtName,
Hie_MAX_CHARS_SHRT_NAME,Crs->ShrtName,
Gbl.Form.Id);
Act_FormEnd ();
}
@ -1497,7 +1497,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Crs_MAX_CHARS_COURSE_FULL_NAME,Crs->FullName,
Hie_MAX_CHARS_FULL_NAME,Crs->FullName,
Gbl.Form.Id);
Act_FormEnd ();
}
@ -1682,7 +1682,7 @@ static void Crs_PutFormToCreateCourse (void)
" class=\"INPUT_SHORT_NAME\""
" required=\"required\" />"
"</td>",
Crs_MAX_CHARS_COURSE_SHRT_NAME,Crs->ShrtName);
Hie_MAX_CHARS_SHRT_NAME,Crs->ShrtName);
/***** Course full name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -1691,7 +1691,7 @@ static void Crs_PutFormToCreateCourse (void)
" class=\"INPUT_FULL_NAME\""
" required=\"required\" />"
"</td>",
Crs_MAX_CHARS_COURSE_FULL_NAME,Crs->FullName);
Hie_MAX_CHARS_FULL_NAME,Crs->FullName);
/***** Current number of teachers in this course *****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
@ -1921,10 +1921,10 @@ static void Crs_GetParamsNewCourse (struct Course *Crs)
Crs->Year = Deg_ConvStrToYear (YearStr);
/* Get course short name */
Par_GetParToText ("ShortName",Crs->ShrtName,Crs_MAX_BYTES_COURSE_SHRT_NAME);
Par_GetParToText ("ShortName",Crs->ShrtName,Hie_MAX_BYTES_SHRT_NAME);
/* Get course full name */
Par_GetParToText ("FullName",Crs->FullName,Crs_MAX_BYTES_COURSE_FULL_NAME);
Par_GetParToText ("FullName",Crs->FullName,Hie_MAX_BYTES_FULL_NAME);
}
/*****************************************************************************/
@ -1952,8 +1952,8 @@ static void Crs_CreateCourse (struct Course *Crs,unsigned Status)
{
extern const char *Txt_Created_new_course_X;
char Query[512 +
Crs_MAX_BYTES_COURSE_SHRT_NAME +
Crs_MAX_BYTES_COURSE_FULL_NAME];
Hie_MAX_BYTES_SHRT_NAME +
Hie_MAX_BYTES_FULL_NAME];
/***** Insert new course into pending requests *****/
sprintf (Query,"INSERT INTO courses (DegCod,Year,InsCrsCod,"
@ -2085,11 +2085,11 @@ static void Crs_GetDataOfCourseFromRow (struct Course *Crs,MYSQL_ROW row)
/***** Get the short name of the course (row[6]) *****/
Str_Copy (Crs->ShrtName,row[6],
Crs_MAX_BYTES_COURSE_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
/***** Get the full name of the course (row[7]) *****/
Str_Copy (Crs->FullName,row[7],
Crs_MAX_BYTES_COURSE_FULL_NAME);
Hie_MAX_BYTES_FULL_NAME);
/***** Get number of teachers *****/
Crs->NumTchs = Usr_GetNumUsrsInCrs (Rol_TEACHER,Crs->CrsCod);
@ -2106,8 +2106,8 @@ static void Crs_GetDataOfCourseFromRow (struct Course *Crs,MYSQL_ROW row)
/*****************************************************************************/
static void Crs_GetShortNamesByCod (long CrsCod,
char CrsShortName[Crs_MAX_BYTES_COURSE_SHRT_NAME + 1],
char DegShortName[Deg_MAX_BYTES_DEGREE_SHRT_NAME + 1])
char CrsShortName[Hie_MAX_BYTES_SHRT_NAME + 1],
char DegShortName[Hie_MAX_BYTES_SHRT_NAME + 1])
{
char Query[512];
MYSQL_RES *mysql_res;
@ -2129,9 +2129,9 @@ static void Crs_GetShortNamesByCod (long CrsCod,
row = mysql_fetch_row (mysql_res);
Str_Copy (CrsShortName,row[0],
Crs_MAX_BYTES_COURSE_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
Str_Copy (DegShortName,row[1],
Deg_MAX_BYTES_DEGREE_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
}
/***** Free structure that stores the query result *****/
@ -2642,25 +2642,25 @@ static void Crs_RenameCourse (struct Course *Crs,Cns_ShrtOrFullName_t ShrtOrFull
extern const char *Txt_The_name_of_the_course_X_has_changed_to_Y;
extern const char *Txt_The_name_of_the_course_X_has_not_changed;
extern const char *Txt_You_dont_have_permission_to_edit_this_course;
char Query[128 + Crs_MAX_BYTES_COURSE_FULL_NAME];
char Query[128 + Hie_MAX_BYTES_FULL_NAME];
const char *ParamName = NULL; // Initialized to avoid warning
const char *FieldName = NULL; // Initialized to avoid warning
unsigned MaxBytes = 0; // Initialized to avoid warning
char *CurrentCrsName = NULL; // Initialized to avoid warning
char NewCrsName[Crs_MAX_BYTES_COURSE_FULL_NAME + 1];
char NewCrsName[Hie_MAX_BYTES_FULL_NAME + 1];
switch (ShrtOrFullName)
{
case Cns_SHRT_NAME:
ParamName = "ShortName";
FieldName = "ShortName";
MaxBytes = Crs_MAX_BYTES_COURSE_SHRT_NAME;
MaxBytes = Hie_MAX_BYTES_SHRT_NAME;
CurrentCrsName = Crs->ShrtName;
break;
case Cns_FULL_NAME:
ParamName = "FullName";
FieldName = "FullName";
MaxBytes = Crs_MAX_BYTES_COURSE_FULL_NAME;
MaxBytes = Hie_MAX_BYTES_FULL_NAME;
CurrentCrsName = Crs->FullName;
break;
}

View File

@ -39,14 +39,8 @@
#define Crs_MAX_COURSES_PER_USR 100 // Used in list of my courses and list of distinct courses in sent or received messages
#define Crs_MAX_CHARS_INSTITUTIONAL_CRS_COD 8
#define Crs_MAX_BYTES_INSTITUTIONAL_CRS_COD (Crs_MAX_CHARS_INSTITUTIONAL_CRS_COD * Str_MAX_BYTES_PER_CHAR)
#define Crs_MAX_CHARS_COURSE_SHRT_NAME 32
#define Crs_MAX_BYTES_COURSE_SHRT_NAME (Crs_MAX_CHARS_COURSE_SHRT_NAME * Str_MAX_BYTES_PER_CHAR)
#define Crs_MAX_CHARS_COURSE_FULL_NAME (128 - 1)
#define Crs_MAX_BYTES_COURSE_FULL_NAME (Crs_MAX_CHARS_COURSE_FULL_NAME * Str_MAX_BYTES_PER_CHAR)
#define Crs_MAX_CHARS_INSTITUTIONAL_CRS_COD (16 - 1) // 15
#define Crs_MAX_BYTES_INSTITUTIONAL_CRS_COD ((Crs_MAX_CHARS_INSTITUTIONAL_CRS_COD + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 255
#define Crs_MIN_MONTHS_WITHOUT_ACCESS_TO_REMOVE_OLD_CRSS 6
#define Crs_DEF_MONTHS_WITHOUT_ACCESS_TO_REMOVE_OLD_CRSS 12
@ -89,8 +83,8 @@ struct Course
unsigned Year; // Year: 0 (optatives), 1, 2, 3...
Crs_Status_t Status; // Course status
long RequesterUsrCod; // User code of the person who requested the creation of this course
char ShrtName[Crs_MAX_BYTES_COURSE_SHRT_NAME + 1]; // Short name of course
char FullName[Crs_MAX_BYTES_COURSE_FULL_NAME + 1]; // Full name of course
char ShrtName[Hie_MAX_BYTES_SHRT_NAME + 1]; // Short name of course
char FullName[Hie_MAX_BYTES_FULL_NAME + 1]; // Full name of course
unsigned NumUsrs; // Number of users (students + teachers)
unsigned NumTchs; // Number of teachers
unsigned NumStds; // Number of students

View File

@ -103,12 +103,12 @@ mysql> DESCRIBE IP_prefs;
8 rows in set (0.01 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS IP_prefs ("
"IP CHAR(15) NOT NULL,"
"IP CHAR(15) NOT NULL," // Cns_MAX_BYTES_IP
"UsrCod INT NOT NULL DEFAULT -1,"
"LastChange DATETIME NOT NULL,"
"FirstDayOfWeek TINYINT NOT NULL DEFAULT 0,"
"Theme CHAR(16) NOT NULL,"
"IconSet CHAR(16) NOT NULL,"
"Theme CHAR(16) NOT NULL," // The_MAX_BYTES_THEME_ID
"IconSet CHAR(16) NOT NULL," // Ico_MAX_BYTES_ICON_SET_ID
"Menu TINYINT NOT NULL DEFAULT 0,"
"SideCols TINYINT NOT NULL,"
"PRIMARY KEY (IP),"
@ -132,7 +132,7 @@ mysql> DESCRIBE actions;
"ActCod INT NOT NULL DEFAULT -1,"
"Language CHAR(2) NOT NULL,"
"Obsolete ENUM('N','Y') NOT NULL DEFAULT 'N',"
"Txt VARCHAR(255) NOT NULL,"
"Txt VARCHAR(255) NOT NULL," // Act_MAX_BYTES_ACTION_TXT
"UNIQUE INDEX(ActCod,Language),"
"INDEX(Txt))");
@ -200,7 +200,7 @@ mysql> DESCRIBE agendas;
"Hidden ENUM('N','Y') NOT NULL DEFAULT 'N',"
"StartTime DATETIME NOT NULL,"
"EndTime DATETIME NOT NULL,"
"Event VARCHAR(255) NOT NULL,"
"Event VARCHAR(255) NOT NULL," // Agd_MAX_BYTES_EVENT
"Location VARCHAR(255) NOT NULL,"
"Txt TEXT NOT NULL,"
"UNIQUE INDEX(AgdCod),"

View File

@ -392,7 +392,7 @@ static void Deg_Configuration (bool PrintView)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Deg_MAX_CHARS_DEGREE_FULL_NAME,
Hie_MAX_CHARS_FULL_NAME,
Gbl.CurrentDeg.Deg.FullName,
Gbl.Form.Id);
Act_FormEnd ();
@ -422,7 +422,7 @@ static void Deg_Configuration (bool PrintView)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Deg_MAX_CHARS_DEGREE_SHRT_NAME,
Hie_MAX_CHARS_SHRT_NAME,
Gbl.CurrentDeg.Deg.ShrtName,
Gbl.Form.Id);
Act_FormEnd ();
@ -748,7 +748,7 @@ static void Deg_ListDegreesForEdition (void)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Deg_MAX_CHARS_DEGREE_SHRT_NAME,Deg->ShrtName,Gbl.Form.Id);
Hie_MAX_CHARS_SHRT_NAME,Deg->ShrtName,Gbl.Form.Id);
Act_FormEnd ();
}
else
@ -765,7 +765,7 @@ static void Deg_ListDegreesForEdition (void)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Deg_MAX_CHARS_DEGREE_FULL_NAME,Deg->FullName,Gbl.Form.Id);
Hie_MAX_CHARS_FULL_NAME,Deg->FullName,Gbl.Form.Id);
Act_FormEnd ();
}
else
@ -988,7 +988,7 @@ static void Deg_PutFormToCreateDegree (void)
" class=\"INPUT_SHORT_NAME\""
" required=\"required\" />"
"</td>",
Deg_MAX_CHARS_DEGREE_SHRT_NAME,Deg->ShrtName);
Hie_MAX_CHARS_SHRT_NAME,Deg->ShrtName);
/***** Degree full name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -997,7 +997,7 @@ static void Deg_PutFormToCreateDegree (void)
" class=\"INPUT_FULL_NAME\""
" required=\"required\" />"
"</td>",
Deg_MAX_CHARS_DEGREE_FULL_NAME,Deg->FullName);
Hie_MAX_CHARS_FULL_NAME,Deg->FullName);
/***** Degree type *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -1164,8 +1164,8 @@ static void Deg_CreateDegree (struct Degree *Deg,unsigned Status)
{
extern const char *Txt_Created_new_degree_X;
char Query[512 +
Deg_MAX_BYTES_DEGREE_SHRT_NAME +
Deg_MAX_BYTES_DEGREE_FULL_NAME +
Hie_MAX_BYTES_SHRT_NAME +
Hie_MAX_BYTES_FULL_NAME +
Cns_MAX_BYTES_WWW];
/***** Create a new degree *****/
@ -1541,10 +1541,10 @@ static void Deg_RecFormRequestOrCreateDeg (unsigned Status)
Deg->CtrCod = Gbl.CurrentCtr.Ctr.CtrCod;
/* Get degree short name */
Par_GetParToText ("ShortName",Deg->ShrtName,Deg_MAX_BYTES_DEGREE_SHRT_NAME);
Par_GetParToText ("ShortName",Deg->ShrtName,Hie_MAX_BYTES_SHRT_NAME);
/* Get degree full name */
Par_GetParToText ("FullName",Deg->FullName,Deg_MAX_BYTES_DEGREE_FULL_NAME);
Par_GetParToText ("FullName",Deg->FullName,Hie_MAX_BYTES_FULL_NAME);
/* Get degree type */
if ((Deg->DegTypCod = DT_GetParamOtherDegTypCod ()) <= 0)
@ -1728,11 +1728,11 @@ static void Deg_GetDataOfDegreeFromRow (struct Degree *Deg,MYSQL_ROW row)
/***** Get degree short name (row[5]) *****/
Str_Copy (Deg->ShrtName,row[5],
Deg_MAX_BYTES_DEGREE_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
/***** Get degree full name (row[6]) *****/
Str_Copy (Deg->FullName,row[6],
Deg_MAX_BYTES_DEGREE_FULL_NAME);
Hie_MAX_BYTES_FULL_NAME);
/***** Get WWW (row[7]) *****/
Str_Copy (Deg->WWW,row[7],
@ -1762,7 +1762,7 @@ void Deg_GetShortNameOfDegreeByCod (struct Degree *Deg)
row = mysql_fetch_row (mysql_res);
Str_Copy (Deg->ShrtName,row[0],
Deg_MAX_BYTES_DEGREE_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
}
/***** Free structure that stores the query result *****/
@ -1939,25 +1939,25 @@ static void Deg_RenameDegree (struct Degree *Deg,Cns_ShrtOrFullName_t ShrtOrFull
extern const char *Txt_The_degree_X_already_exists;
extern const char *Txt_The_name_of_the_degree_X_has_changed_to_Y;
extern const char *Txt_The_name_of_the_degree_X_has_not_changed;
char Query[512 + Deg_MAX_BYTES_DEGREE_FULL_NAME];
char Query[512 + Hie_MAX_BYTES_FULL_NAME];
const char *ParamName = NULL; // Initialized to avoid warning
const char *FieldName = NULL; // Initialized to avoid warning
unsigned MaxBytes = 0; // Initialized to avoid warning
char *CurrentDegName = NULL; // Initialized to avoid warning
char NewDegName[Deg_MAX_BYTES_DEGREE_FULL_NAME + 1];
char NewDegName[Hie_MAX_BYTES_FULL_NAME + 1];
switch (ShrtOrFullName)
{
case Cns_SHRT_NAME:
ParamName = "ShortName";
FieldName = "ShortName";
MaxBytes = Deg_MAX_BYTES_DEGREE_SHRT_NAME;
MaxBytes = Hie_MAX_BYTES_SHRT_NAME;
CurrentDegName = Deg->ShrtName;
break;
case Cns_FULL_NAME:
ParamName = "FullName";
FieldName = "FullName";
MaxBytes = Deg_MAX_BYTES_DEGREE_FULL_NAME;
MaxBytes = Hie_MAX_BYTES_FULL_NAME;
CurrentDegName = Deg->FullName;
break;
}

View File

@ -29,6 +29,7 @@
#include "swad_action.h"
#include "swad_constant.h"
#include "swad_hierarchy.h"
#include "swad_role_type.h"
#include "swad_string.h"
@ -40,12 +41,6 @@
#define Deg_MAX_DEGREES_PER_USR 20 // Used in list of my degrees
#define Deg_MAX_CHARS_DEGREE_SHRT_NAME 32
#define Deg_MAX_BYTES_DEGREE_SHRT_NAME (Deg_MAX_CHARS_DEGREE_SHRT_NAME * Str_MAX_BYTES_PER_CHAR)
#define Deg_MAX_CHARS_DEGREE_FULL_NAME (128 - 1)
#define Deg_MAX_BYTES_DEGREE_FULL_NAME (Deg_MAX_CHARS_DEGREE_FULL_NAME * Str_MAX_BYTES_PER_CHAR)
/*****************************************************************************/
/******************************* Public types ********************************/
/*****************************************************************************/
@ -76,8 +71,8 @@ struct Degree
long CtrCod; // Centre code
Deg_Status_t Status; // Degree status
long RequesterUsrCod; // User code of the person who requested the creation of this degree
char ShrtName[Deg_MAX_BYTES_DEGREE_SHRT_NAME + 1]; // Short name of degree
char FullName[Deg_MAX_BYTES_DEGREE_FULL_NAME + 1]; // Full name of degree
char ShrtName[Hie_MAX_BYTES_SHRT_NAME + 1]; // Short name of degree
char FullName[Hie_MAX_BYTES_FULL_NAME + 1]; // Full name of degree
char WWW[Cns_MAX_BYTES_WWW + 1];
struct Course *LstCrss; // List of courses in this degree
};

View File

@ -31,8 +31,8 @@
/***************************** Public constants ******************************/
/*****************************************************************************/
#define Deg_MAX_CHARS_DEGREE_TYPE_NAME 32
#define Deg_MAX_BYTES_DEGREE_TYPE_NAME (Deg_MAX_CHARS_DEGREE_TYPE_NAME * Str_MAX_BYTES_PER_CHAR)
#define Deg_MAX_CHARS_DEGREE_TYPE_NAME (32 - 1) // 31
#define Deg_MAX_BYTES_DEGREE_TYPE_NAME ((Deg_MAX_CHARS_DEGREE_TYPE_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 511
/*****************************************************************************/
/******************************* Public types ********************************/

View File

@ -349,11 +349,11 @@ void Dpt_GetListDepartments (long InsCod)
/* Get the short name of the department (row[2]) */
Str_Copy (Dpt->ShrtName,row[2],
Dpt_MAX_BYTES_DEPARTMENT_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
/* Get the full name of the department (row[3]) */
Str_Copy (Dpt->FullName,row[3],
Dpt_MAX_BYTES_DEPARTMENT_FULL_NAME);
Hie_MAX_BYTES_FULL_NAME);
/* Get the URL of the department (row[4]) */
Str_Copy (Dpt->WWW,row[4],
@ -392,9 +392,9 @@ void Dpt_GetDataOfDepartmentByCod (struct Department *Dpt)
if (Dpt->DptCod == 0)
{
Str_Copy (Dpt->ShrtName,Txt_Another_department,
Dpt_MAX_BYTES_DEPARTMENT_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
Str_Copy (Dpt->FullName,Txt_Another_department,
Dpt_MAX_BYTES_DEPARTMENT_FULL_NAME);
Hie_MAX_BYTES_FULL_NAME);
}
else if (Dpt->DptCod > 0)
{
@ -427,11 +427,11 @@ void Dpt_GetDataOfDepartmentByCod (struct Department *Dpt)
/* Get the short name of the department (row[1]) */
Str_Copy (Dpt->ShrtName,row[1],
Dpt_MAX_BYTES_DEPARTMENT_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
/* Get the full name of the department (row[2]) */
Str_Copy (Dpt->FullName,row[2],
Dpt_MAX_BYTES_DEPARTMENT_FULL_NAME);
Hie_MAX_BYTES_FULL_NAME);
/* Get the URL of the department (row[3]) */
Str_Copy (Dpt->WWW,row[3],
@ -559,7 +559,7 @@ static void Dpt_ListDepartmentsForEdition (void)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Dpt_MAX_CHARS_DEPARTMENT_SHRT_NAME,Dpt->ShrtName,Gbl.Form.Id);
Hie_MAX_CHARS_SHRT_NAME,Dpt->ShrtName,Gbl.Form.Id);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>");
@ -571,7 +571,7 @@ static void Dpt_ListDepartmentsForEdition (void)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Dpt_MAX_CHARS_DEPARTMENT_FULL_NAME,Dpt->FullName,Gbl.Form.Id);
Hie_MAX_CHARS_FULL_NAME,Dpt->FullName,Gbl.Form.Id);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>");
@ -720,7 +720,7 @@ static void Dpt_RenameDepartment (Cns_ShrtOrFullName_t ShrtOrFullName)
const char *FieldName = NULL; // Initialized to avoid warning
size_t MaxBytes = 0; // Initialized to avoid warning
char *CurrentDptName = NULL; // Initialized to avoid warning
char NewDptName[Dpt_MAX_BYTES_DEPARTMENT_FULL_NAME + 1];
char NewDptName[Hie_MAX_BYTES_FULL_NAME + 1];
Dpt = &Gbl.Dpts.EditingDpt;
switch (ShrtOrFullName)
@ -728,13 +728,13 @@ static void Dpt_RenameDepartment (Cns_ShrtOrFullName_t ShrtOrFullName)
case Cns_SHRT_NAME:
ParamName = "ShortName";
FieldName = "ShortName";
MaxBytes = Dpt_MAX_BYTES_DEPARTMENT_SHRT_NAME;
MaxBytes = Hie_MAX_BYTES_SHRT_NAME;
CurrentDptName = Dpt->ShrtName;
break;
case Cns_FULL_NAME:
ParamName = "FullName";
FieldName = "FullName";
MaxBytes = Dpt_MAX_BYTES_DEPARTMENT_FULL_NAME;
MaxBytes = Hie_MAX_BYTES_FULL_NAME;
CurrentDptName = Dpt->FullName;
break;
}
@ -930,7 +930,7 @@ static void Dpt_PutFormToCreateDepartment (void)
" class=\"INPUT_SHORT_NAME\""
" required=\"required\" />"
"</td>",
Dpt_MAX_CHARS_DEPARTMENT_SHRT_NAME,Dpt->ShrtName);
Hie_MAX_CHARS_SHRT_NAME,Dpt->ShrtName);
/***** Department full name *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
@ -939,7 +939,7 @@ static void Dpt_PutFormToCreateDepartment (void)
" class=\"INPUT_FULL_NAME\""
" required=\"required\" />"
"</td>",
Dpt_MAX_CHARS_DEPARTMENT_FULL_NAME,Dpt->FullName);
Hie_MAX_CHARS_FULL_NAME,Dpt->FullName);
/***** Department WWW *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
@ -1019,10 +1019,10 @@ void Dpt_RecFormNewDpt (void)
Dpt->InsCod = Ins_GetAndCheckParamOtherInsCod ();
/* Get department short name */
Par_GetParToText ("ShortName",Dpt->ShrtName,Dpt_MAX_BYTES_DEPARTMENT_SHRT_NAME);
Par_GetParToText ("ShortName",Dpt->ShrtName,Hie_MAX_BYTES_SHRT_NAME);
/* Get department full name */
Par_GetParToText ("FullName",Dpt->FullName,Dpt_MAX_BYTES_DEPARTMENT_FULL_NAME);
Par_GetParToText ("FullName",Dpt->FullName,Hie_MAX_BYTES_FULL_NAME);
/* Get department WWW */
Par_GetParToText ("WWW",Dpt->WWW,Cns_MAX_BYTES_WWW);

View File

@ -27,22 +27,18 @@
/********************************* Headers ***********************************/
/*****************************************************************************/
#include "swad_hierarchy.h"
/*****************************************************************************/
/************************** Public types and constants ***********************/
/*****************************************************************************/
#define Dpt_MAX_CHARS_DEPARTMENT_SHRT_NAME 32
#define Dpt_MAX_BYTES_DEPARTMENT_SHRT_NAME (Dpt_MAX_CHARS_DEPARTMENT_SHRT_NAME * Str_MAX_BYTES_PER_CHAR)
#define Dpt_MAX_CHARS_DEPARTMENT_FULL_NAME (128 - 1)
#define Dpt_MAX_BYTES_DEPARTMENT_FULL_NAME (Dpt_MAX_CHARS_DEPARTMENT_FULL_NAME * Str_MAX_BYTES_PER_CHAR)
struct Department
{
long DptCod;
long InsCod;
char ShrtName[Dpt_MAX_BYTES_DEPARTMENT_SHRT_NAME + 1];
char FullName[Dpt_MAX_BYTES_DEPARTMENT_FULL_NAME + 1];
char ShrtName[Hie_MAX_BYTES_SHRT_NAME + 1];
char FullName[Hie_MAX_BYTES_FULL_NAME + 1];
char WWW[Cns_MAX_BYTES_WWW + 1];
unsigned NumTchs;
};

View File

@ -385,7 +385,7 @@ void Enr_ReqAcceptRegisterInCrs (void)
/*****************************************************************************/
// This function may be called inside a web service, so don't report error
void Enr_GetNotifEnrollment (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Enr_GetNotifEnrollment (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
long CrsCod,long UsrCod)
{
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
@ -422,7 +422,7 @@ void Enr_GetNotifEnrollment (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
/* Role (row[0]) */
Role = Rol_ConvertUnsignedStrToRole (row[0]);
Str_Copy (SummaryStr,Txt_ROLES_SINGUL_Abc[Role][UsrDat.Sex],
Cns_MAX_BYTES_SUMMARY_STRING);
Ntf_MAX_BYTES_SUMMARY);
/* Free memory used for user's data */
Usr_UsrDataDestructor (&UsrDat);
@ -1947,7 +1947,7 @@ void Enr_SignUpInCrs (void)
/*****************************************************************************/
// This function may be called inside a web service, so don't report error
void Enr_GetNotifEnrollmentRequest (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Enr_GetNotifEnrollmentRequest (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long ReqCod,bool GetContent)
{
@ -1985,7 +1985,7 @@ void Enr_GetNotifEnrollmentRequest (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING
/* Role (row[1]) */
DesiredRole = Rol_ConvertUnsignedStrToRole (row[1]);
Str_Copy (SummaryStr,Txt_ROLES_SINGUL_Abc[DesiredRole][UsrDat.Sex],
Cns_MAX_BYTES_SUMMARY_STRING);
Ntf_MAX_BYTES_SUMMARY);
if (GetContent)
if ((*ContentStr = (char *) malloc (256)))

View File

@ -27,6 +27,7 @@
/********************************** Headers **********************************/
/*****************************************************************************/
#include "swad_notification.h"
#include "swad_user.h"
/*****************************************************************************/
@ -81,7 +82,7 @@ void Enr_RegisterUsrInCurrentCrs (struct UsrData *UsrDat,Rol_Role_t NewRole,
void Enr_WriteFormToReqAnotherUsrID (Act_Action_t NextAction);
void Enr_ReqAcceptRegisterInCrs (void);
void Enr_GetNotifEnrollment (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Enr_GetNotifEnrollment (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
long CrsCod,long UsrCod);
void Enr_UpdateUsrData (struct UsrData *UsrDat);
void Enr_FilterUsrDat (struct UsrData *UsrDat);
@ -105,7 +106,7 @@ void Enr_RemAllStdsThisCrs (void);
unsigned Enr_RemAllStdsInCrs (struct Course *Crs);
void Enr_ReqSignUpInCrs (void);
void Enr_SignUpInCrs (void);
void Enr_GetNotifEnrollmentRequest (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Enr_GetNotifEnrollmentRequest (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long ReqCod,bool GetContent);
void Enr_AskIfRejectSignUp (void);

View File

@ -122,11 +122,11 @@ static long Exa_GetParamsExamAnnouncement (void)
ExaCod = Exa_GetParamExaCod ();
/***** Get the name of the course (it is allowed to be different from the official name of the course) *****/
Par_GetParToText ("CrsName",Gbl.ExamAnns.ExaDat.CrsFullName,Cns_MAX_BYTES_STRING);
Par_GetParToText ("CrsName",Gbl.ExamAnns.ExaDat.CrsFullName,Hie_MAX_BYTES_FULL_NAME);
// If the parameter is not present or is empty, initialize the string to the full name of the current course
if (!Gbl.ExamAnns.ExaDat.CrsFullName[0])
Str_Copy (Gbl.ExamAnns.ExaDat.CrsFullName,Gbl.CurrentCrs.Crs.FullName,
Crs_MAX_BYTES_COURSE_FULL_NAME);
Hie_MAX_BYTES_FULL_NAME);
/***** Get the year *****/
Gbl.ExamAnns.ExaDat.Year = (unsigned)
@ -136,7 +136,7 @@ static long Exa_GetParamsExamAnnouncement (void)
(unsigned long) Gbl.CurrentCrs.Crs.Year);
/***** Get the type of exam announcement *****/
Par_GetParToText ("ExamSession",Gbl.ExamAnns.ExaDat.Session,Cns_MAX_BYTES_STRING);
Par_GetParToText ("ExamSession",Gbl.ExamAnns.ExaDat.Session,Exa_MAX_BYTES_SESSION);
/***** Get the data of the exam *****/
Dat_GetDateFromForm ("ExamDay","ExamMonth","ExamYear",
@ -737,7 +737,10 @@ static long Exa_AddExamAnnouncementToDB (void)
long ExaCod;
/***** Add exam announcement *****/
if ((Query = malloc (512 + 2 * Cns_MAX_BYTES_STRING + 7 * Cns_MAX_BYTES_TEXT)) == NULL)
if ((Query = malloc (512 +
Hie_MAX_BYTES_FULL_NAME +
Exa_MAX_BYTES_SESSION +
7 * Cns_MAX_BYTES_TEXT)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to query database.");
sprintf (Query,"INSERT INTO exam_announcements "
"(CrsCod,Status,NumNotif,CrsFullName,Year,ExamSession,"
@ -781,7 +784,10 @@ static void Exa_ModifyExamAnnouncementInDB (void)
char *Query;
/***** Modify exam announcement *****/
if ((Query = malloc (512 + 2 * Cns_MAX_BYTES_STRING + 7 * Cns_MAX_BYTES_TEXT)) == NULL)
if ((Query = malloc (512 +
Hie_MAX_BYTES_FULL_NAME +
Exa_MAX_BYTES_SESSION +
7 * Cns_MAX_BYTES_TEXT)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to query database.");
sprintf (Query,"UPDATE exam_announcements"
" SET CrsFullName='%s',Year='%u',ExamSession='%s',"
@ -926,7 +932,7 @@ static void Exa_GetDataExamAnnouncementFromDB (void)
/* Name of the course (row[2]) */
Str_Copy (Gbl.ExamAnns.ExaDat.CrsFullName,row[2],
Crs_MAX_BYTES_COURSE_FULL_NAME);
Hie_MAX_BYTES_FULL_NAME);
/* Year (row[3]) */
if (sscanf (row[3],"%u",&Gbl.ExamAnns.ExaDat.Year) != 1)
@ -934,7 +940,7 @@ static void Exa_GetDataExamAnnouncementFromDB (void)
/* Exam session (row[4]) */
Str_Copy (Gbl.ExamAnns.ExaDat.Session,row[4],
Cns_MAX_BYTES_STRING);
Exa_MAX_BYTES_SESSION);
/* Date of exam announcement (row[5]) */
if (sscanf (row[5],"%04u-%02u-%02u %02u:%02u:%02u",
@ -1136,7 +1142,7 @@ static void Exa_ShowExamAnnouncement (Exa_TypeViewExamAnnouncement_t TypeViewExa
{
fprintf (Gbl.F.Out,"<input type=\"text\" id=\"CrsName\" name=\"CrsName\""
" size=\"30\" maxlength=\"%u\" value=\"%s\" />",
Cns_MAX_CHARS_STRING,Gbl.ExamAnns.ExaDat.CrsFullName);
Hie_MAX_CHARS_FULL_NAME,Gbl.ExamAnns.ExaDat.CrsFullName);
}
else
fprintf (Gbl.F.Out,"<strong>%s</strong>",
@ -1189,7 +1195,7 @@ static void Exa_ShowExamAnnouncement (Exa_TypeViewExamAnnouncement_t TypeViewExa
fprintf (Gbl.F.Out,"<input type=\"text\""
" id=\"ExamSession\" name=\"ExamSession\""
" size=\"30\" maxlength=\"%u\" value=\"%s\" />",
Cns_MAX_CHARS_STRING,Gbl.ExamAnns.ExaDat.Session);
Exa_MAX_CHARS_SESSION,Gbl.ExamAnns.ExaDat.Session);
else
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Session);
fprintf (Gbl.F.Out,"</td>"
@ -1606,12 +1612,12 @@ static long Exa_GetParamExaCod (void)
/************ Get summary and content about an exam announcement *************/
/*****************************************************************************/
void Exa_GetSummaryAndContentExamAnnouncement (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Exa_GetSummaryAndContentExamAnnouncement (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long ExaCod,bool GetContent)
{
extern const char *Txt_hours_ABBREVIATION;
char CrsNameAndDate[Crs_MAX_BYTES_COURSE_FULL_NAME + (2 + Cns_MAX_BYTES_DATE + 6) + 1];
char CrsNameAndDate[Hie_MAX_BYTES_FULL_NAME + (2 + Cns_MAX_BYTES_DATE + 6) + 1];
/***** Initializations *****/
Gbl.ExamAnns.ExaDat.ExaCod = ExaCod;
@ -1637,7 +1643,7 @@ void Exa_GetSummaryAndContentExamAnnouncement (char SummaryStr[Cns_MAX_BYTES_SUM
Gbl.ExamAnns.ExaDat.StartTime.Hour,
Gbl.ExamAnns.ExaDat.StartTime.Minute);
Str_Copy (SummaryStr,CrsNameAndDate,
Cns_MAX_BYTES_SUMMARY_STRING);
Ntf_MAX_BYTES_SUMMARY);
/***** Free memory of the exam announcement *****/
Exa_FreeMemExamAnnouncement ();

View File

@ -32,6 +32,7 @@
#include "swad_constant.h"
#include "swad_course.h"
#include "swad_date.h"
#include "swad_notification.h"
/*****************************************************************************/
/************************** Public types and constants ***********************/
@ -53,14 +54,17 @@ typedef enum
Exa_DELETED_EXAM_ANNOUNCEMENT = 2,
} Exa_ExamAnnouncementStatus_t; // Don't change these numbers because they are used in database
#define Exa_MAX_CHARS_SESSION (128 - 1) // 127
#define Exa_MAX_BYTES_SESSION ((Exa_MAX_CHARS_SESSION + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
struct ExamData
{
long ExaCod;
long CrsCod;
Exa_ExamAnnouncementStatus_t Status;
char CrsFullName[Crs_MAX_BYTES_COURSE_FULL_NAME + 1];
char CrsFullName[Hie_MAX_BYTES_FULL_NAME + 1];
unsigned Year; // Number of year (0 (N.A.), 1, 2, 3, 4, 5, 6) in the degree
char Session[Cns_MAX_BYTES_STRING + 1]; // Exam session is june, september, etc.
char Session[Exa_MAX_BYTES_SESSION + 1]; // Exam session is june, september, etc.
struct Date CallDate;
struct Date ExamDate;
struct Hour StartTime;
@ -99,7 +103,7 @@ void Exa_GetDateToHighlight (void);
void Exa_CreateListDatesOfExamAnnouncements (void);
void Exa_PutHiddenParamExaCod (long ExaCod);
void Exa_GetSummaryAndContentExamAnnouncement (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Exa_GetSummaryAndContentExamAnnouncement (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long ExaCod,bool GetContent);

View File

@ -11141,7 +11141,7 @@ void Brw_RemoveUsrWorksInAllCrss (struct UsrData *UsrDat,Cns_QuietOrVerbose_t Qu
#define Brw_MAX_BYTES_FILE_CONTENT_STR (100 + NAME_MAX + 100 + PATH_MAX + 100 + Usr_MAX_BYTES_FULL_NAME + 100 + Fil_MAX_BYTES_FILE_SIZE_STRING)
void Brw_GetSummaryAndContentOfFile (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Brw_GetSummaryAndContentOfFile (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long FilCod,bool GetContent)
{
@ -11164,7 +11164,7 @@ void Brw_GetSummaryAndContentOfFile (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRIN
/***** Copy file name into summary string *****/
Str_Copy (SummaryStr,FileMetadata.FilFolLnkName,
Cns_MAX_BYTES_SUMMARY_STRING);
Ntf_MAX_BYTES_SUMMARY);
/***** Copy some file metadata into content string *****/
if (GetContent && ContentStr)

View File

@ -30,6 +30,7 @@
#include <linux/limits.h> // For PATH_MAX
#include "swad_group.h"
#include "swad_notification.h"
/*****************************************************************************/
/******************************* Public types ********************************/
@ -136,10 +137,10 @@ struct FileMetadata
#define Brw_MAX_DIR_LEVELS 10 // Maximum number of subdirectory levels in file browsers
#define Brw_MAX_BYTES_MIME_TYPE (128 - 1) // Maximum size in bytes of "image/jpeg", "text/html", etc.
#define Brw_MAX_BYTES_MIME_TYPE (128 - 1) // 127: maximum size in bytes of "image/jpeg", "text/html", etc.
#define Brw_MAX_CHARS_LICENSE (128 - 1)
#define Brw_MAX_BYTES_LICENSE (Brw_MAX_CHARS_LICENSE * Str_MAX_BYTES_PER_CHAR)
#define Brw_MAX_CHARS_LICENSE (128 - 1) // 127
#define Brw_MAX_BYTES_LICENSE ((Brw_MAX_CHARS_LICENSE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Brw_INTERNAL_NAME_ROOT_FOLDER_DOCUMENTS "doc"
#define Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED_FILES "sha"
@ -248,7 +249,7 @@ void Brw_RemoveGrpZones (long CrsCod,long GrpCod);
void Brw_RemoveUsrWorksInCrs (struct UsrData *UsrDat,struct Course *Crs,Cns_QuietOrVerbose_t QuietOrVerbose);
void Brw_RemoveUsrWorksInAllCrss (struct UsrData *UsrDat,Cns_QuietOrVerbose_t QuietOrVerbose);
void Brw_GetSummaryAndContentOfFile (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Brw_GetSummaryAndContentOfFile (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long FilCod,bool GetContent);

View File

@ -1176,7 +1176,7 @@ void Fol_GetAndShowRankingFollowers (void)
/*****************************************************************************/
// This function may be called inside a web service, so don't report error
void Fol_GetNotifFollower (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Fol_GetNotifFollower (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr)
{
SummaryStr[0] = '\0'; // Return nothing on error

View File

@ -29,6 +29,7 @@
#include <stdlib.h> // For malloc
#include "swad_notification.h"
#include "swad_user.h"
/*****************************************************************************/
@ -63,7 +64,7 @@ void Fol_UnfollowUsr2 (void);
void Fol_GetAndShowRankingFollowers (void);
void Fol_GetNotifFollower (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Fol_GetNotifFollower (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr);
void Fol_RemoveUsrFromUsrFollow (long UsrCod);

View File

@ -1399,7 +1399,7 @@ static void For_GetPstData (long PstCod,long *UsrCod,time_t *CreatTimeUTC,
/*****************************************************************************/
// This function may be called inside a web service, so don't report error
void For_GetSummaryAndContentForumPst (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void For_GetSummaryAndContentForumPst (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long PstCod,bool GetContent)
{
@ -1424,15 +1424,15 @@ void For_GetSummaryAndContentForumPst (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STR
/***** Copy subject *****/
// TODO: Do only direct copy when Subject will be VARCHAR(255)
if (strlen (row[0]) > Cns_MAX_BYTES_SUMMARY_STRING)
if (strlen (row[0]) > Ntf_MAX_BYTES_SUMMARY)
{
strncpy (SummaryStr,row[0],
Cns_MAX_BYTES_SUMMARY_STRING);
SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING] = '\0';
Ntf_MAX_BYTES_SUMMARY);
SummaryStr[Ntf_MAX_BYTES_SUMMARY] = '\0';
}
else
Str_Copy (SummaryStr,row[0],
Cns_MAX_BYTES_SUMMARY_STRING);
Ntf_MAX_BYTES_SUMMARY);
/***** Copy content *****/
if (GetContent)

View File

@ -30,6 +30,7 @@
#include "swad_centre.h"
#include "swad_degree.h"
#include "swad_institution.h"
#include "swad_notification.h"
#include "swad_pagination.h"
#include "swad_scope.h"
#include "swad_string.h"
@ -101,7 +102,7 @@ unsigned long For_GetNumPostsUsr (long UsrCod);
void For_DeleteThrFromReadThrs (long ThrCod);
void For_RemoveUsrFromReadThrs (long UsrCod);
void For_GetSummaryAndContentForumPst (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void For_GetSummaryAndContentForumPst (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long PstCod,bool GetContent);

View File

@ -600,10 +600,10 @@ struct Globals
struct
{
long CrsCod;
char ShrtName[Crs_MAX_BYTES_COURSE_SHRT_NAME + 1];
char ShrtName[Hie_MAX_BYTES_SHRT_NAME + 1];
} Courses[Crs_MAX_COURSES_PER_USR]; // Distinct courses in my messages sent or received
long FilterCrsCod; // Show only messages sent from this course code
char FilterCrsShrtName[Crs_MAX_BYTES_COURSE_SHRT_NAME + 1];
char FilterCrsShrtName[Hie_MAX_BYTES_SHRT_NAME + 1];
char FilterFromTo[Usr_MAX_BYTES_FULL_NAME + 1]; // Show only messages from/to these users
char FilterContent[Msg_MAX_BYTES_FILTER_CONTENT + 1]; // Show only messages that match this content
bool ShowOnlyUnreadMsgs; // Show only unread messages (this option is applicable only for received messages)

View File

@ -34,11 +34,11 @@
/***************************** Public constants ******************************/
/*****************************************************************************/
#define Grp_MAX_CHARS_GROUP_TYPE_NAME (128 - 1)
#define Grp_MAX_BYTES_GROUP_TYPE_NAME (Grp_MAX_CHARS_GROUP_TYPE_NAME * Str_MAX_BYTES_PER_CHAR)
#define Grp_MAX_CHARS_GROUP_TYPE_NAME (128 - 1) // 127
#define Grp_MAX_BYTES_GROUP_TYPE_NAME ((Grp_MAX_CHARS_GROUP_TYPE_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Grp_MAX_CHARS_GROUP_NAME (128 - 1)
#define Grp_MAX_BYTES_GROUP_NAME (Grp_MAX_CHARS_GROUP_NAME * Str_MAX_BYTES_PER_CHAR)
#define Grp_MAX_CHARS_GROUP_NAME (128 - 1) // 127
#define Grp_MAX_BYTES_GROUP_NAME ((Grp_MAX_CHARS_GROUP_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Grp_MAX_STUDENTS_IN_A_GROUP 10000 // If max of students in a group is greater than this, it is considered infinite
#define Grp_NUM_STUDENTS_NOT_LIMITED INT_MAX // This number can be stored in database as an integer...

View File

@ -31,6 +31,12 @@
/***************************** Public constants ******************************/
/*****************************************************************************/
#define Hie_MAX_CHARS_SHRT_NAME (32 - 1) // 31
#define Hie_MAX_BYTES_SHRT_NAME ((Hie_MAX_CHARS_SHRT_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 511
#define Hie_MAX_CHARS_FULL_NAME (128 - 1) // 127
#define Hie_MAX_BYTES_FULL_NAME ((Hie_MAX_CHARS_FULL_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
/*****************************************************************************/
/******************************* Public types ********************************/
/*****************************************************************************/

View File

@ -34,8 +34,8 @@
/************************** Public types and constants ***********************/
/*****************************************************************************/
#define Hld_MAX_CHARS_HOLIDAY_NAME (128 - 1)
#define Hld_MAX_BYTES_HOLIDAY_NAME (Hld_MAX_CHARS_HOLIDAY_NAME * Str_MAX_BYTES_PER_CHAR)
#define Hld_MAX_CHARS_HOLIDAY_NAME (128 - 1) // 127
#define Hld_MAX_BYTES_HOLIDAY_NAME ((Hld_MAX_CHARS_HOLIDAY_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Hld_NUM_TYPES_HOLIDAY 2
typedef enum

View File

@ -235,14 +235,14 @@ void Img_PutImageUploader (int NumImgInForm,const char *ClassImgTitURL)
" class=\"%s\" maxlength=\"%u\" value=\"\" />",
ParamUploadImg.Title,
Txt_Image_title_attribution,Txt_optional,
ClassImgTitURL,Img_MAX_BYTES_TITLE);
ClassImgTitURL,Img_MAX_CHARS_TITLE);
fprintf (Gbl.F.Out,"<br />"
"<input type=\"url\" name=\"%s\""
" placeholder=\"%s (%s)\""
" class=\"%s\" maxlength=\"%u\" value=\"\" />",
ParamUploadImg.URL,
Txt_Link,Txt_optional,
ClassImgTitURL,Img_MAX_BYTES_URL);
ClassImgTitURL,Cns_MAX_CHARS_WWW);
fprintf (Gbl.F.Out,"</div>");
/***** End container *****/
@ -260,7 +260,7 @@ void Img_GetImageFromForm (int NumImgInForm,struct Image *Image,
{
struct ParamUploadImg ParamUploadImg;
char Title[Img_MAX_BYTES_TITLE + 1];
char URL[Img_MAX_BYTES_URL + 1];
char URL[Cns_MAX_BYTES_WWW + 1];
size_t Length;
/***** Set names of parameters depending on number of image in form *****/
@ -325,7 +325,7 @@ void Img_GetImageFromForm (int NumImgInForm,struct Image *Image,
}
/***** By last, get image URL from form *****/
Par_GetParToText (ParamUploadImg.URL,URL,Img_MAX_BYTES_URL);
Par_GetParToText (ParamUploadImg.URL,URL,Cns_MAX_BYTES_WWW);
/* If the URL coming from the form is empty, keep current image URL unchanged
If not empty, copy it to current image URL */
if ((Length = strlen (URL)) > 0)

View File

@ -31,8 +31,11 @@
/***************************** Public constants ******************************/
/*****************************************************************************/
#define Img_MAX_BYTES_TITLE 255
#define Img_MAX_BYTES_URL 255
#define Img_MAX_CHARS_TITLE (128 - 1) // 127
#define Img_MAX_BYTES_TITLE ((Img_MAX_CHARS_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Img_MAX_CHARS_ATTRIBUTION (256 - 1) // 255
#define Img_MAX_BYTES_ATTRIBUTION ((Img_MAX_CHARS_ATTRIBUTION + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 4095
/*****************************************************************************/
/******************************* Public types ********************************/

View File

@ -76,7 +76,7 @@ static void Ins_PutHeadInstitutionsForSeeing (bool OrderSelectable);
static void Ins_GetParamInsOrder (void);
static void Ins_GetFullNameAndCtyOfInstitutionByCod (struct Instit *Ins,
char CtyName[Cty_MAX_BYTES_COUNTRY_NAME + 1]);
char CtyName[Hie_MAX_BYTES_FULL_NAME + 1]);
static void Ins_ListInstitutionsForEdition (void);
static bool Ins_CheckIfICanEdit (struct Instit *Ins);
@ -385,7 +385,7 @@ static void Ins_Configuration (bool PrintView)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Ins_MAX_CHARS_INSTIT_FULL_NAME,
Hie_MAX_CHARS_FULL_NAME,
Gbl.CurrentIns.Ins.FullName,
Gbl.Form.Id);
Act_FormEnd ();
@ -414,7 +414,7 @@ static void Ins_Configuration (bool PrintView)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Ins_MAX_CHARS_INSTIT_SHRT_NAME,
Hie_MAX_CHARS_SHRT_NAME,
Gbl.CurrentIns.Ins.ShrtName,
Gbl.Form.Id);
Act_FormEnd ();
@ -1030,11 +1030,11 @@ void Ins_GetListInstitutions (long CtyCod,Ins_GetExtraData_t GetExtraData)
/* Get the short name of the institution (row[4]) */
Str_Copy (Ins->ShrtName,row[4],
Ins_MAX_BYTES_INSTIT_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
/* Get the full name of the institution (row[5]) */
Str_Copy (Ins->FullName,row[5],
Ins_MAX_BYTES_INSTIT_FULL_NAME);
Hie_MAX_BYTES_FULL_NAME);
/* Get the URL of the institution (row[6]) */
Str_Copy (Ins->WWW,row[6],
@ -1086,7 +1086,7 @@ void Ins_GetListInstitutions (long CtyCod,Ins_GetExtraData_t GetExtraData)
void Ins_WriteInstitutionNameAndCty (long InsCod)
{
struct Instit Ins;
char CtyName[Cty_MAX_BYTES_COUNTRY_NAME + 1];
char CtyName[Hie_MAX_BYTES_FULL_NAME + 1];
/***** Get institution full name *****/
Ins.InsCod = InsCod;
@ -1145,11 +1145,11 @@ bool Ins_GetDataOfInstitutionByCod (struct Instit *Ins,
/* Get the short name of the institution (row[3]) */
Str_Copy (Ins->ShrtName,row[3],
Ins_MAX_BYTES_INSTIT_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
/* Get the full name of the institution (row[4]) */
Str_Copy (Ins->FullName,row[4],
Ins_MAX_BYTES_INSTIT_FULL_NAME);
Hie_MAX_BYTES_FULL_NAME);
/* Get the URL of the institution (row[5]) */
Str_Copy (Ins->WWW,row[5],
@ -1194,7 +1194,7 @@ void Ins_GetShortNameOfInstitutionByCod (struct Instit *Ins)
static struct
{
long InsCod;
char ShrtName[Ins_MAX_BYTES_INSTIT_SHRT_NAME + 1];
char ShrtName[Hie_MAX_BYTES_SHRT_NAME + 1];
} Cached =
{
-1L,
@ -1217,7 +1217,7 @@ void Ins_GetShortNameOfInstitutionByCod (struct Instit *Ins)
row = mysql_fetch_row (mysql_res);
Str_Copy (Cached.ShrtName,row[0],
Ins_MAX_BYTES_INSTIT_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
}
else
Cached.ShrtName[0] = '\0';
@ -1227,7 +1227,7 @@ void Ins_GetShortNameOfInstitutionByCod (struct Instit *Ins)
}
Str_Copy (Ins->ShrtName,Cached.ShrtName,
Ins_MAX_BYTES_INSTIT_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
}
}
@ -1236,7 +1236,7 @@ void Ins_GetShortNameOfInstitutionByCod (struct Instit *Ins)
/*****************************************************************************/
static void Ins_GetFullNameAndCtyOfInstitutionByCod (struct Instit *Ins,
char CtyName[Cty_MAX_BYTES_COUNTRY_NAME + 1])
char CtyName[Hie_MAX_BYTES_FULL_NAME + 1])
{
extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES];
char Query[256];
@ -1245,8 +1245,8 @@ static void Ins_GetFullNameAndCtyOfInstitutionByCod (struct Instit *Ins,
static struct
{
long InsCod;
char FullName[Ins_MAX_BYTES_INSTIT_FULL_NAME + 1];
char CtyName[Cty_MAX_BYTES_COUNTRY_NAME + 1];
char FullName[Hie_MAX_BYTES_FULL_NAME + 1];
char CtyName[Hie_MAX_BYTES_FULL_NAME + 1];
} Cached =
{
-1L,
@ -1276,11 +1276,11 @@ static void Ins_GetFullNameAndCtyOfInstitutionByCod (struct Instit *Ins,
/* Get the full name of this institution (row[0]) */
Str_Copy (Cached.FullName,row[0],
Ins_MAX_BYTES_INSTIT_FULL_NAME);
Hie_MAX_BYTES_FULL_NAME);
/* Get the name of the country (row[1]) */
Str_Copy (Cached.CtyName,row[1],
Cty_MAX_BYTES_COUNTRY_NAME);
Hie_MAX_BYTES_FULL_NAME);
}
else
{
@ -1293,9 +1293,9 @@ static void Ins_GetFullNameAndCtyOfInstitutionByCod (struct Instit *Ins,
}
Str_Copy (Ins->FullName,Cached.FullName,
Ins_MAX_BYTES_INSTIT_FULL_NAME);
Hie_MAX_BYTES_FULL_NAME);
Str_Copy (CtyName,Cached.CtyName,
Cty_MAX_BYTES_COUNTRY_NAME);
Hie_MAX_BYTES_FULL_NAME);
}
}
@ -1453,7 +1453,7 @@ static void Ins_ListInstitutionsForEdition (void)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Ins_MAX_CHARS_INSTIT_SHRT_NAME,Ins->ShrtName,
Hie_MAX_CHARS_SHRT_NAME,Ins->ShrtName,
Gbl.Form.Id);
Act_FormEnd ();
}
@ -1471,7 +1471,7 @@ static void Ins_ListInstitutionsForEdition (void)
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Ins_MAX_CHARS_INSTIT_FULL_NAME,
Hie_MAX_CHARS_FULL_NAME,
Ins->FullName,
Gbl.Form.Id);
Act_FormEnd ();
@ -1767,20 +1767,20 @@ static void Ins_RenameInstitution (struct Instit *Ins,Cns_ShrtOrFullName_t ShrtO
const char *FieldName = NULL; // Initialized to avoid warning
unsigned MaxBytes = 0; // Initialized to avoid warning
char *CurrentInsName = NULL; // Initialized to avoid warning
char NewInsName[Ins_MAX_BYTES_INSTIT_FULL_NAME + 1];
char NewInsName[Hie_MAX_BYTES_FULL_NAME + 1];
switch (ShrtOrFullName)
{
case Cns_SHRT_NAME:
ParamName = "ShortName";
FieldName = "ShortName";
MaxBytes = Ins_MAX_BYTES_INSTIT_SHRT_NAME;
MaxBytes = Hie_MAX_BYTES_SHRT_NAME;
CurrentInsName = Ins->ShrtName;
break;
case Cns_FULL_NAME:
ParamName = "FullName";
FieldName = "FullName";
MaxBytes = Ins_MAX_BYTES_INSTIT_FULL_NAME;
MaxBytes = Hie_MAX_BYTES_FULL_NAME;
CurrentInsName = Ins->FullName;
break;
}
@ -1835,7 +1835,7 @@ static void Ins_RenameInstitution (struct Instit *Ins,Cns_ShrtOrFullName_t ShrtO
static bool Ins_CheckIfInsNameExistsInCty (const char *FieldName,const char *Name,long InsCod,long CtyCod)
{
char Query[256 + Ins_MAX_BYTES_INSTIT_FULL_NAME];
char Query[256 + Hie_MAX_BYTES_FULL_NAME];
/***** Get number of institutions in current country with a name from database *****/
sprintf (Query,"SELECT COUNT(*) FROM institutions"
@ -1850,7 +1850,7 @@ static bool Ins_CheckIfInsNameExistsInCty (const char *FieldName,const char *Nam
static void Ins_UpdateInsNameDB (long InsCod,const char *FieldName,const char *NewInsName)
{
char Query[128 + Ins_MAX_BYTES_INSTIT_FULL_NAME];
char Query[128 + Hie_MAX_BYTES_FULL_NAME];
/***** Update institution changing old name by new name */
sprintf (Query,"UPDATE institutions SET %s='%s' WHERE InsCod='%ld'",
@ -2196,7 +2196,7 @@ static void Ins_PutFormToCreateInstitution (void)
" class=\"INPUT_SHORT_NAME\""
" required=\"required\" />"
"</td>",
Ins_MAX_CHARS_INSTIT_SHRT_NAME,Ins->ShrtName);
Hie_MAX_CHARS_SHRT_NAME,Ins->ShrtName);
/***** Institution full name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -2205,7 +2205,7 @@ static void Ins_PutFormToCreateInstitution (void)
" class=\"INPUT_FULL_NAME\""
" required=\"required\" />"
"</td>",
Ins_MAX_CHARS_INSTIT_FULL_NAME,Ins->FullName);
Hie_MAX_CHARS_FULL_NAME,Ins->FullName);
/***** Institution WWW *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -2349,10 +2349,10 @@ static void Ins_RecFormRequestOrCreateIns (unsigned Status)
Ins->CtyCod = Gbl.CurrentCty.Cty.CtyCod;
/* Get institution short name */
Par_GetParToText ("ShortName",Ins->ShrtName,Ins_MAX_BYTES_INSTIT_SHRT_NAME);
Par_GetParToText ("ShortName",Ins->ShrtName,Hie_MAX_BYTES_SHRT_NAME);
/* Get institution full name */
Par_GetParToText ("FullName",Ins->FullName,Ins_MAX_BYTES_INSTIT_FULL_NAME);
Par_GetParToText ("FullName",Ins->FullName,Hie_MAX_BYTES_FULL_NAME);
/* Get institution WWW */
Par_GetParToText ("WWW",Ins->WWW,Cns_MAX_BYTES_WWW);
@ -2395,8 +2395,8 @@ static void Ins_CreateInstitution (struct Instit *Ins,unsigned Status)
{
extern const char *Txt_Created_new_institution_X;
char Query[512 +
Ins_MAX_BYTES_INSTIT_SHRT_NAME +
Ins_MAX_BYTES_INSTIT_FULL_NAME +
Hie_MAX_BYTES_SHRT_NAME +
Hie_MAX_BYTES_FULL_NAME +
Cns_MAX_BYTES_WWW];
/***** Create a new institution *****/

View File

@ -55,20 +55,14 @@ typedef enum
#define Ins_MAX_INSTITS_PER_USR 10 // Used in list of my institutions
#define Ins_MAX_CHARS_INSTIT_SHRT_NAME 32
#define Ins_MAX_BYTES_INSTIT_SHRT_NAME (Ins_MAX_CHARS_INSTIT_SHRT_NAME * Str_MAX_BYTES_PER_CHAR)
#define Ins_MAX_CHARS_INSTIT_FULL_NAME (128 - 1)
#define Ins_MAX_BYTES_INSTIT_FULL_NAME (Ins_MAX_CHARS_INSTIT_FULL_NAME * Str_MAX_BYTES_PER_CHAR)
struct Instit
{
long InsCod;
long CtyCod;
Ins_Status_t Status; // Institution status
long RequesterUsrCod; // User code of the person who requested the creation of this institution
char ShrtName[Ins_MAX_BYTES_INSTIT_SHRT_NAME + 1];
char FullName[Ins_MAX_BYTES_INSTIT_FULL_NAME + 1];
char ShrtName[Hie_MAX_BYTES_SHRT_NAME + 1];
char FullName[Hie_MAX_BYTES_FULL_NAME + 1];
char WWW[Cns_MAX_BYTES_WWW + 1];
unsigned NumUsrsWhoClaimToBelongToIns;
unsigned NumCtrs;

View File

@ -31,11 +31,11 @@
/************************** Public types and constants ***********************/
/*****************************************************************************/
#define Lnk_MAX_CHARS_LINK_SHRT_NAME 32
#define Lnk_MAX_BYTES_LINK_SHRT_NAME (Lnk_MAX_CHARS_LINK_SHRT_NAME * Str_MAX_BYTES_PER_CHAR)
#define Lnk_MAX_CHARS_LINK_SHRT_NAME (32 - 1) // 31
#define Lnk_MAX_BYTES_LINK_SHRT_NAME ((Lnk_MAX_CHARS_LINK_SHRT_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 511
#define Lnk_MAX_CHARS_LINK_FULL_NAME (128 - 1)
#define Lnk_MAX_BYTES_LINK_FULL_NAME (Lnk_MAX_CHARS_LINK_FULL_NAME * Str_MAX_BYTES_PER_CHAR)
#define Lnk_MAX_CHARS_LINK_FULL_NAME (128 - 1) // 127
#define Lnk_MAX_BYTES_LINK_FULL_NAME ((Lnk_MAX_CHARS_LINK_FULL_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
struct Link
{

View File

@ -33,11 +33,11 @@
/************************** Public types and constants ***********************/
/*****************************************************************************/
#define Mai_MAX_CHARS_MAIL_DOMAIN (128 - 1)
#define Mai_MAX_BYTES_MAIL_DOMAIN (Mai_MAX_CHARS_MAIL_DOMAIN * Str_MAX_BYTES_PER_CHAR)
#define Mai_MAX_CHARS_MAIL_DOMAIN (128 - 1) // 127
#define Mai_MAX_BYTES_MAIL_DOMAIN ((Mai_MAX_CHARS_MAIL_DOMAIN + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Mai_MAX_CHARS_MAIL_INFO (128 - 1)
#define Mai_MAX_BYTES_MAIL_INFO (Mai_MAX_CHARS_MAIL_INFO * Str_MAX_BYTES_PER_CHAR)
#define Mai_MAX_CHARS_MAIL_INFO (128 - 1) // 127
#define Mai_MAX_BYTES_MAIL_INFO ((Mai_MAX_CHARS_MAIL_INFO + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Mai_NUM_ORDERS 3
typedef enum

View File

@ -709,7 +709,7 @@ void Mrk_ShowMyMarks (void)
/*****************************************************************************/
// This function may be called inside a web service, so don't report error
void Mrk_GetNotifMyMarks (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Mrk_GetNotifMyMarks (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long MrkCod,long UsrCod,bool GetContent)
{

View File

@ -52,7 +52,7 @@ void Mrk_ChangeNumRowsFooter (void);
bool Mrk_CheckFileOfMarks (const char *Path,struct MarksProperties *Marks);
void Mrk_ShowMyMarks (void);
void Mrk_GetNotifMyMarks (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Mrk_GetNotifMyMarks (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long MrkCod,long UsrCod,bool GetContent);

View File

@ -1003,11 +1003,11 @@ void Msg_GetParamMsgsCrsCod (void)
Crs_GetDataOfCourseByCod (&Crs);
Str_Copy (Gbl.Msg.FilterCrsShrtName,Crs.ShrtName,
Crs_MAX_BYTES_COURSE_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
}
else
Str_Copy (Gbl.Msg.FilterCrsShrtName,Txt_any_course,
Crs_MAX_BYTES_COURSE_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
}
/*****************************************************************************/
@ -2503,7 +2503,7 @@ void Msg_GetDistinctCoursesInMyMessages (void)
{
Gbl.Msg.Courses[Gbl.Msg.NumCourses].CrsCod = Crs.CrsCod;
Str_Copy (Gbl.Msg.Courses[Gbl.Msg.NumCourses].ShrtName,Crs.ShrtName,
Crs_MAX_BYTES_COURSE_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
Gbl.Msg.NumCourses++;
}
}
@ -2995,7 +2995,7 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
/*****************************************************************************/
// This function may be called inside a web service, so don't report error
void Msg_GetNotifMessage (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Msg_GetNotifMessage (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,long MsgCod,bool GetContent)
{
extern const char *Txt_MSG_Subject;
@ -3020,15 +3020,15 @@ void Msg_GetNotifMessage (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
/***** Copy subject *****/
// TODO: Do only direct copy when Subject will be VARCHAR(255)
if (strlen (row[0]) > Cns_MAX_BYTES_SUMMARY_STRING)
if (strlen (row[0]) > Ntf_MAX_BYTES_SUMMARY)
{
strncpy (SummaryStr,row[0],
Cns_MAX_BYTES_SUMMARY_STRING);
SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING] = '\0';
Ntf_MAX_BYTES_SUMMARY);
SummaryStr[Ntf_MAX_BYTES_SUMMARY] = '\0';
}
else
Str_Copy (SummaryStr,row[0],
Cns_MAX_BYTES_SUMMARY_STRING);
Ntf_MAX_BYTES_SUMMARY);
/***** Copy subject *****/
if (GetContent)

View File

@ -33,8 +33,8 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Msg_MAX_CHARS_FILTER_CONTENT (128 - 1)
#define Msg_MAX_BYTES_FILTER_CONTENT (Msg_MAX_CHARS_FILTER_CONTENT * Str_MAX_BYTES_PER_CHAR)
#define Msg_MAX_CHARS_FILTER_CONTENT (128 - 1) // 127
#define Msg_MAX_BYTES_FILTER_CONTENT ((Msg_MAX_CHARS_FILTER_CONTENT + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
/*****************************************************************************/
/******************************** Public types *******************************/
@ -95,7 +95,7 @@ void Msg_GetDistinctCoursesInMyMessages (void);
void Msg_ShowFormSelectCourseSentOrRecMsgs (void);
void Msg_ShowFormToFilterMsgs (void);
void Msg_GetMsgSubject (long MsgCod,char Subject[Cns_MAX_BYTES_SUBJECT + 1]);
void Msg_GetNotifMessage (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Msg_GetNotifMessage (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,long MsgCod,bool GetContent);
void Msg_WriteMsgNumber (unsigned long MsgNum,bool NewMsg);

View File

@ -745,7 +745,7 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
/*****************************************************************************/
// This function may be called inside a web service, so don't report error
void Not_GetSummaryAndContentNotice (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Not_GetSummaryAndContentNotice (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long NotCod,bool GetContent)
{
@ -770,15 +770,15 @@ void Not_GetSummaryAndContentNotice (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRIN
/***** Copy summary *****/
// TODO: Do only direct copy when a Subject of type VARCHAR(255) is available
if (strlen (row[0]) > Cns_MAX_BYTES_SUMMARY_STRING)
if (strlen (row[0]) > Ntf_MAX_BYTES_SUMMARY)
{
strncpy (SummaryStr,row[0],
Cns_MAX_BYTES_SUMMARY_STRING);
SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING] = '\0';
Ntf_MAX_BYTES_SUMMARY);
SummaryStr[Ntf_MAX_BYTES_SUMMARY] = '\0';
}
else
Str_Copy (SummaryStr,row[0],
Cns_MAX_BYTES_SUMMARY_STRING);
Ntf_MAX_BYTES_SUMMARY);
/***** Copy content *****/
if (GetContent)

View File

@ -68,7 +68,7 @@ void Not_RemoveNotice (void);
void Not_GetNotCodToHighlight (void);
void Not_ShowNotices (Not_Listing_t TypeNoticesListing);
void Not_GetSummaryAndContentNotice (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Not_GetSummaryAndContentNotice (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long NotCod,bool GetContent);
unsigned Not_GetNumNotices (Sco_Scope_t Scope,Not_Status_t Status,unsigned *NumNotif);

View File

@ -324,7 +324,7 @@ void Ntf_ShowMyNotifications (void)
time_t DateTimeUTC; // Date-time of the event
Ntf_Status_t Status;
Ntf_StatusTxt_t StatusTxt;
char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1];
char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1];
char *ContentStr;
const char *ClassBackground;
const char *ClassAnchor;
@ -853,7 +853,7 @@ Ntf_StatusTxt_t Ntf_GetStatusTxtFromStatusBits (Ntf_Status_t Status)
/******************* Get notification summary and content ********************/
/*****************************************************************************/
void Ntf_GetNotifSummaryAndContent (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Ntf_GetNotifSummaryAndContent (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
Ntf_NotifyEvent_t NotifyEvent,
long Cod,long CrsCod,long UsrCod,

View File

@ -33,10 +33,13 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Ntf_MAX_BYTES_NOTIFY_EVENT 32
#define Ntf_MAX_BYTES_NOTIFY_EVENT (32 - 1) // 31
#define Ntf_MAX_CHARS_NOTIFY_LOCATION (128 - 1)
#define Ntf_MAX_BYTES_NOTIFY_LOCATION (1024 + Ntf_MAX_CHARS_NOTIFY_LOCATION * Str_MAX_BYTES_PER_CHAR)
#define Ntf_MAX_CHARS_NOTIFY_LOCATION (128 - 1) // 127
#define Ntf_MAX_BYTES_NOTIFY_LOCATION (2048 + (Ntf_MAX_CHARS_NOTIFY_LOCATION + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 4095
#define Ntf_MAX_CHARS_SUMMARY (256 - 1) // 255
#define Ntf_MAX_BYTES_SUMMARY ((Ntf_MAX_CHARS_SUMMARY + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 4095
/*****************************************************************************/
/******************************** Public types *******************************/
@ -112,7 +115,7 @@ void Ntf_ShowMyNotifications (void);
Ntf_NotifyEvent_t Ntf_GetParamNotifyEvent (void);
Ntf_StatusTxt_t Ntf_GetStatusTxtFromStatusBits (Ntf_Status_t Status);
void Ntf_GetNotifSummaryAndContent (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Ntf_GetNotifSummaryAndContent (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
Ntf_NotifyEvent_t NotifyEvent,
long Cod,long CrsCod,long UsrCod,

View File

@ -31,11 +31,11 @@
/************************** Public types and constants ***********************/
/*****************************************************************************/
#define Plc_MAX_CHARS_PLACE_SHRT_NAME 32
#define Plc_MAX_BYTES_PLACE_SHRT_NAME (Plc_MAX_CHARS_PLACE_SHRT_NAME * Str_MAX_BYTES_PER_CHAR)
#define Plc_MAX_CHARS_PLACE_SHRT_NAME (32 - 1) // 31
#define Plc_MAX_BYTES_PLACE_SHRT_NAME ((Plc_MAX_CHARS_PLACE_SHRT_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 511
#define Plc_MAX_CHARS_PLACE_FULL_NAME (128 - 1)
#define Plc_MAX_BYTES_PLACE_FULL_NAME (Plc_MAX_CHARS_PLACE_FULL_NAME * Str_MAX_BYTES_PER_CHAR)
#define Plc_MAX_CHARS_PLACE_FULL_NAME (128 - 1) // 127
#define Plc_MAX_BYTES_PLACE_FULL_NAME ((Plc_MAX_CHARS_PLACE_FULL_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
struct Place
{

View File

@ -31,17 +31,17 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Plg_MAX_CHARS_PLUGIN_NAME (128 - 1)
#define Plg_MAX_BYTES_PLUGIN_NAME (Plg_MAX_CHARS_PLUGIN_NAME * Str_MAX_BYTES_PER_CHAR)
#define Plg_MAX_CHARS_PLUGIN_NAME (32 - 1) // 31
#define Plg_MAX_BYTES_PLUGIN_NAME ((Plg_MAX_CHARS_PLUGIN_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 511
#define Plg_MAX_CHARS_PLUGIN_DESCRIPTION (128 - 1)
#define Plg_MAX_BYTES_PLUGIN_DESCRIPTION (Plg_MAX_CHARS_PLUGIN_DESCRIPTION * Str_MAX_BYTES_PER_CHAR)
#define Plg_MAX_CHARS_PLUGIN_DESCRIPTION (128 - 1) // 127
#define Plg_MAX_BYTES_PLUGIN_DESCRIPTION (Plg_MAX_CHARS_PLUGIN_DESCRIPTION * Str_MAX_BYTES_PER_CHAR) // 2047
#define Plg_MAX_CHARS_PLUGIN_LOGO 32
#define Plg_MAX_BYTES_PLUGIN_LOGO Plg_MAX_CHARS_PLUGIN_LOGO
#define Plg_MAX_CHARS_PLUGIN_LOGO (32 - 1) // 31
#define Plg_MAX_BYTES_PLUGIN_LOGO Plg_MAX_CHARS_PLUGIN_LOGO // 31
#define Plg_MAX_CHARS_PLUGIN_APP_KEY 32
#define Plg_MAX_BYTES_PLUGIN_APP_KEY Plg_MAX_CHARS_PLUGIN_APP_KEY
#define Plg_MAX_CHARS_PLUGIN_APP_KEY (32 - 1) // 31
#define Plg_MAX_BYTES_PLUGIN_APP_KEY Plg_MAX_CHARS_PLUGIN_APP_KEY // 31
/*****************************************************************************/
/******************************* Public types ********************************/

View File

@ -3124,7 +3124,7 @@ static void Rec_ShowOriginPlace (struct UsrData *UsrDat,
" id=\"OriginPlace\" name=\"OriginPlace\""
" maxlength=\"%u\" value=\"%s\""
" class=\"REC_C2_BOT_INPUT\" />",
Cns_MAX_CHARS_STRING,
Usr_MAX_CHARS_ADDRESS,
UsrDat->OriginPlace);
else if (UsrDat->OriginPlace[0])
fprintf (Gbl.F.Out,"%s",UsrDat->OriginPlace);
@ -3189,7 +3189,7 @@ static void Rec_ShowLocalAddress (struct UsrData *UsrDat,
" id=\"LocalAddress\" name=\"LocalAddress\""
" maxlength=\"%u\" value=\"%s\""
" class=\"REC_C2_BOT_INPUT\" />",
Cns_MAX_CHARS_STRING,
Usr_MAX_CHARS_ADDRESS,
UsrDat->LocalAddress);
else if (UsrDat->LocalAddress[0])
fprintf (Gbl.F.Out,"%s",UsrDat->LocalAddress);
@ -3259,7 +3259,7 @@ static void Rec_ShowFamilyAddress (struct UsrData *UsrDat,
" id=\"FamilyAddress\" name=\"FamilyAddress\""
" maxlength=\"%u\" value=\"%s\""
" class=\"REC_C2_BOT_INPUT\" />",
Cns_MAX_CHARS_STRING,
Usr_MAX_CHARS_ADDRESS,
UsrDat->FamilyAddress);
else if (UsrDat->FamilyAddress[0])
fprintf (Gbl.F.Out,"%s",UsrDat->FamilyAddress);
@ -3623,7 +3623,7 @@ static void Rec_GetUsrExtraDataFromRecordForm (struct UsrData *UsrDat)
/***** Get country code *****/
UsrDat->CtyCod = Par_GetParToLong ("OthCtyCod");
Par_GetParToText ("OriginPlace",UsrDat->OriginPlace,Cns_MAX_BYTES_STRING);
Par_GetParToText ("OriginPlace",UsrDat->OriginPlace,Usr_MAX_BYTES_ADDRESS);
Str_ConvertToTitleType (UsrDat->OriginPlace);
Dat_GetDateFromForm ("BirthDay","BirthMonth","BirthYear",
@ -3632,11 +3632,11 @@ static void Rec_GetUsrExtraDataFromRecordForm (struct UsrData *UsrDat)
&(UsrDat->Birthday.Year ));
Dat_ConvDateToDateStr (&(UsrDat->Birthday),UsrDat->StrBirthday);
Par_GetParToText ("LocalAddress",UsrDat->LocalAddress,Cns_MAX_BYTES_STRING);
Par_GetParToText ("LocalAddress",UsrDat->LocalAddress,Usr_MAX_BYTES_ADDRESS);
Par_GetParToText ("LocalPhone",UsrDat->LocalPhone,Usr_MAX_BYTES_PHONE);
Par_GetParToText ("FamilyAddress",UsrDat->FamilyAddress,Cns_MAX_BYTES_STRING);
Par_GetParToText ("FamilyAddress",UsrDat->FamilyAddress,Usr_MAX_BYTES_ADDRESS);
Par_GetParToText ("FamilyPhone",UsrDat->FamilyPhone,Usr_MAX_BYTES_PHONE);
@ -3917,7 +3917,7 @@ void Rec_ShowFormMyInsCtrDpt (void)
" maxlength=\"%u\" value=\"%s\""
" style=\"width:500px;\""
" onchange=\"document.getElementById('%s').submit();\" />",
Cns_MAX_CHARS_STRING,
Usr_MAX_CHARS_ADDRESS,
Gbl.Usrs.Me.UsrDat.Tch.Office,
Gbl.Form.Id);
Act_FormEnd ();
@ -4071,10 +4071,10 @@ void Rec_UpdateMyDepartment (void)
void Rec_UpdateMyOffice (void)
{
char Query[128 + Cns_MAX_BYTES_STRING];
char Query[128 + Usr_MAX_BYTES_ADDRESS];
/***** Get my office *****/
Par_GetParToText ("Office",Gbl.Usrs.Me.UsrDat.Tch.Office,Cns_MAX_BYTES_STRING);
Par_GetParToText ("Office",Gbl.Usrs.Me.UsrDat.Tch.Office,Usr_MAX_BYTES_ADDRESS);
/***** Update office *****/
sprintf (Query,"UPDATE usr_data SET Office='%s'"

View File

@ -37,8 +37,8 @@
#define Rec_RECORD_WIDTH 560
#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_MAX_CHARS_NAME_FIELD (128 - 1) // 127
#define Rec_MAX_BYTES_NAME_FIELD ((Rec_MAX_CHARS_NAME_FIELD + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Rec_MIN_LINES_IN_EDITION_FIELD 1
#define Rec_MAX_LINES_IN_EDITION_FIELD 50

View File

@ -520,7 +520,7 @@ static void Rep_WriteSectionUsrInfo (void)
extern const char *Txt_Email;
extern const char *Txt_Country;
extern const char *Txt_Institution;
char CtyName[Cty_MAX_BYTES_COUNTRY_NAME + 1];
char CtyName[Hie_MAX_BYTES_FULL_NAME + 1];
struct Instit Ins;
/***** Start of section *****/

View File

@ -31,13 +31,13 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Sch_MAX_CHARS_STRING_TO_FIND (128 - 1)
#define Sch_MAX_BYTES_STRING_TO_FIND (Sch_MAX_CHARS_STRING_TO_FIND * Str_MAX_BYTES_PER_CHAR)
#define Sch_MAX_CHARS_STRING_TO_FIND (128 - 1) // 127
#define Sch_MAX_BYTES_STRING_TO_FIND ((Sch_MAX_CHARS_STRING_TO_FIND + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Sch_MAX_WORDS_IN_SEARCH 10
#define Sch_MAX_CHARS_SEARCH_WORD (128 - 1)
#define Sch_MAX_BYTES_SEARCH_WORD (Sch_MAX_CHARS_SEARCH_WORD * Str_MAX_BYTES_PER_CHAR)
#define Sch_MAX_CHARS_SEARCH_WORD (128 - 1) // 127
#define Sch_MAX_BYTES_SEARCH_WORD ((Sch_MAX_CHARS_SEARCH_WORD - 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Sch_MAX_BYTES_SEARCH_QUERY (Sch_MAX_WORDS_IN_SEARCH * Sch_MAX_BYTES_SEARCH_WORD)

View File

@ -173,7 +173,7 @@ static void Soc_WriteDateTime (time_t TimeUTC);
static void Soc_GetAndWriteSocialPost (long PstCod);
static void Soc_PutFormGoToAction (const struct SocialNote *SocNot);
static void Soc_GetNoteSummary (const struct SocialNote *SocNot,
char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1]);
char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1]);
static void Soc_PublishSocialNoteInTimeline (struct SocialPublishing *SocPub);
static void Soc_PutFormToWriteNewPost (void);
@ -1263,7 +1263,7 @@ static void Soc_WriteSocialNote (const struct SocialNote *SocNot,
bool ShowPhoto = false;
char PhotoURL[PATH_MAX + 1];
char ForumName[For_MAX_BYTES_FORUM_NAME + 1];
char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1];
char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1];
unsigned NumComments;
char IdNewComment[Act_MAX_BYTES_ID];
@ -1871,7 +1871,7 @@ static void Soc_PutFormGoToAction (const struct SocialNote *SocNot)
/*****************************************************************************/
static void Soc_GetNoteSummary (const struct SocialNote *SocNot,
char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1])
char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1])
{
SummaryStr[0] = '\0';
@ -4732,7 +4732,7 @@ static void Soc_AddNotesJustRetrievedToTimelineThisSession (void)
/******************* Get notification of a new social post *******************/
/*****************************************************************************/
void Soc_GetNotifSocialPublishing (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Soc_GetNotifSocialPublishing (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long PubCod,bool GetContent)
{
@ -4808,9 +4808,9 @@ void Soc_GetNotifSocialPublishing (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING
}
/***** Copy summary string *****/
Str_LimitLengthHTMLStr (Content,Cns_MAX_BYTES_SUMMARY_STRING);
Str_LimitLengthHTMLStr (Content,Ntf_MAX_BYTES_SUMMARY);
Str_Copy (SummaryStr,Content,
Cns_MAX_BYTES_SUMMARY_STRING);
Ntf_MAX_BYTES_SUMMARY);
}
else
Soc_GetNoteSummary (&SocNot,SummaryStr);
@ -4847,9 +4847,9 @@ void Soc_GetNotifSocialPublishing (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING
}
/***** Copy summary string *****/
Str_LimitLengthHTMLStr (Content,Cns_MAX_BYTES_SUMMARY_STRING);
Str_LimitLengthHTMLStr (Content,Ntf_MAX_BYTES_SUMMARY);
Str_Copy (SummaryStr,Content,
Cns_MAX_BYTES_SUMMARY_STRING);
Ntf_MAX_BYTES_SUMMARY);
break;
}

View File

@ -174,7 +174,7 @@ void Soc_RemoveUsrSocialContent (long UsrCod);
void Soc_ClearOldTimelinesDB (void);
void Soc_GetNotifSocialPublishing (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Soc_GetNotifSocialPublishing (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long PubCod,bool GetContent);

View File

@ -51,7 +51,8 @@
So, each char from a form may be transformed finally into a sequence of 1 to 10 bytes,
but temporarily it may need 16 bytes
*/
#define Str_MAX_BYTES_PER_CHAR 16 // Maximum number of bytes of a char
#define Str_MAX_BYTES_PER_CHAR 16 // Maximum number of bytes of a char.
// Do not change (or change carefully) because it is used to compute size of database fields
/*****************************************************************************/
/******************************* Public types *******************************/

View File

@ -49,8 +49,8 @@ extern struct Globals Gbl;
/***************************** Private constants *****************************/
/*****************************************************************************/
#define Svy_MAX_CHARS_ANSWER 1000
#define Svy_MAX_BYTES_ANSWER (Svy_MAX_CHARS_ANSWER * Str_MAX_BYTES_PER_CHAR)
#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))
@ -1401,7 +1401,7 @@ static void Svy_GetSurveyTxtFromDB (long SvyCod,char Txt[Cns_MAX_BYTES_TEXT + 1]
/*****************************************************************************/
// This function may be called inside a web service, so don't report error
void Svy_GetNotifSurvey (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Svy_GetNotifSurvey (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long SvyCod,bool GetContent)
{
@ -1426,7 +1426,7 @@ void Svy_GetNotifSurvey (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
/***** Get summary *****/
Str_Copy (SummaryStr,row[0],
Cns_MAX_BYTES_SUMMARY_STRING);
Ntf_MAX_BYTES_SUMMARY);
/***** Get content *****/
if (GetContent)

View File

@ -33,8 +33,8 @@
/************************** Public types and constants ***********************/
/*****************************************************************************/
#define Svy_MAX_CHARS_SURVEY_TITLE (256 - 1)
#define Svy_MAX_BYTES_SURVEY_TITLE (Svy_MAX_CHARS_SURVEY_TITLE * Str_MAX_BYTES_PER_CHAR)
#define Svy_MAX_CHARS_SURVEY_TITLE (128 - 1) // 127
#define Svy_MAX_BYTES_SURVEY_TITLE ((Svy_MAX_CHARS_SURVEY_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Svy_NUM_DATES 2
typedef enum
@ -95,7 +95,7 @@ void Svy_GetListSurveys (void);
void Svy_GetDataOfSurveyByCod (struct Survey *Svy);
void Svy_GetDataOfSurveyByFolder (struct Survey *Svy);
void Svy_FreeListSurveys (void);
void Svy_GetNotifSurvey (char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1],
void Svy_GetNotifSurvey (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
long SvyCod,bool GetContent);
void Svy_AskRemSurvey (void);

View File

@ -55,8 +55,8 @@ extern struct Globals Gbl;
#define Syl_MAX_BYTES_ITEM_COD (Syl_MAX_LEVELS_SYLLABUS * (10 + 1) - 1)
#define Syl_MAX_CHARS_TEXT_ITEM 1000
#define Syl_MAX_BYTES_TEXT_ITEM (Syl_MAX_CHARS_TEXT_ITEM * Str_MAX_BYTES_PER_CHAR)
#define Syl_MAX_CHARS_TEXT_ITEM (1024 - 1) // 1023
#define Syl_MAX_BYTES_TEXT_ITEM ((Syl_MAX_CHARS_TEXT_ITEM + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 16383
#define Syl_WIDTH_NUM_SYLLABUS 20

View File

@ -1119,7 +1119,9 @@ static void Tst_PutFormToEditQstImage (struct Image *Image,int NumImgInForm,
" placeholder=\"%s (%s)\""
" class=\"%s\" maxlength=\"%u\" value=\"%s\">",
ParamUploadImg.Title,Txt_Image_title_attribution,Txt_optional,
ClassImgTitURL,Img_MAX_BYTES_TITLE,Image->Title ? Image->Title : "");
ClassImgTitURL,Img_MAX_CHARS_TITLE,
Image->Title ? Image->Title :
"");
/***** Image URL *****/
fprintf (Gbl.F.Out,"<br />"
@ -1127,7 +1129,9 @@ static void Tst_PutFormToEditQstImage (struct Image *Image,int NumImgInForm,
" placeholder=\"%s (%s)\""
" class=\"%s\" maxlength=\"%u\" value=\"%s\">",
ParamUploadImg.URL,Txt_Link,Txt_optional,
ClassImgTitURL,Img_MAX_BYTES_URL,Image->URL ? Image->URL : "");
ClassImgTitURL,Cns_MAX_CHARS_WWW,
Image->URL ? Image->URL :
"");
/***** End container *****/
fprintf (Gbl.F.Out,"</div>");

View File

@ -36,15 +36,15 @@
#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_CHARS_TAG (128 - 1)
#define Tst_MAX_BYTES_TAG (Tst_MAX_CHARS_TAG * Str_MAX_BYTES_PER_CHAR)
#define Tst_MAX_CHARS_TAG (128 - 1) // 127
#define Tst_MAX_BYTES_TAG ((Tst_MAX_CHARS_TAG + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#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_CHARS_ANSWER_OR_FEEDBACK 1000
#define Tst_MAX_BYTES_ANSWER_OR_FEEDBACK (Tst_MAX_CHARS_ANSWER_OR_FEEDBACK * Str_MAX_BYTES_PER_CHAR)
#define Tst_MAX_CHARS_ANSWER_OR_FEEDBACK (1024 - 1) // 1023
#define Tst_MAX_BYTES_ANSWER_OR_FEEDBACK ((Tst_MAX_CHARS_ANSWER_OR_FEEDBACK + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 16383
#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

@ -46,7 +46,7 @@ extern struct Globals Gbl;
/******************************** Private constants **************************/
/*****************************************************************************/
#define MAX_THEME_ID 16
#define The_MAX_BYTES_THEME_ID 16
const char *The_ThemeId[The_NUM_THEMES] =
{
@ -309,10 +309,10 @@ void The_ChangeTheme (void)
The_Theme_t The_GetParamTheme (void)
{
char ThemeId[MAX_THEME_ID + 1];
char ThemeId[The_MAX_BYTES_THEME_ID + 1];
The_Theme_t Theme;
Par_GetParToText ("Theme",ThemeId,MAX_THEME_ID);
Par_GetParToText ("Theme",ThemeId,The_MAX_BYTES_THEME_ID);
for (Theme = (The_Theme_t) 0;
Theme < The_NUM_THEMES;
Theme++)

View File

@ -33,8 +33,8 @@
/************************* Public constants and types ************************/
/*****************************************************************************/
#define TT_MAX_CHARS_PLACE 32
#define TT_MAX_BYTES_PLACE (TT_MAX_CHARS_PLACE * Str_MAX_BYTES_PER_CHAR)
#define TT_MAX_CHARS_PLACE (32 - 1) // 31
#define TT_MAX_BYTES_PLACE ((TT_MAX_CHARS_PLACE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 511
#define TT_NUM_TIMETABLE_TYPES 3
typedef enum

View File

@ -560,20 +560,20 @@ void Usr_GetUsrDataFromUsrCod (struct UsrData *UsrDat)
UsrDat->Tch.DptCod = Str_ConvertStrCodToLongCod (row[16]);
UsrDat->Tch.CtrCod = Str_ConvertStrCodToLongCod (row[17]);
Str_Copy (UsrDat->Tch.Office,row[18],
Cns_MAX_BYTES_STRING);
Usr_MAX_BYTES_ADDRESS);
Str_Copy (UsrDat->Tch.OfficePhone,row[19],
Usr_MAX_BYTES_PHONE);
Str_Copy (UsrDat->LocalAddress,row[20],
Cns_MAX_BYTES_STRING);
Usr_MAX_BYTES_ADDRESS);
Str_Copy (UsrDat->LocalPhone,row[21],
Usr_MAX_BYTES_PHONE);
Str_Copy (UsrDat->FamilyAddress,row[22],
Cns_MAX_BYTES_STRING);
Usr_MAX_BYTES_ADDRESS);
Str_Copy (UsrDat->FamilyPhone,row[23],
Usr_MAX_BYTES_PHONE);
Str_Copy (UsrDat->OriginPlace,row[24],
Cns_MAX_BYTES_STRING);
Usr_MAX_BYTES_ADDRESS);
Dat_GetDateFromYYYYMMDD (&(UsrDat->Birthday),row[25]);

View File

@ -53,8 +53,8 @@
#define Usr_DEF_MONTHS_WITHOUT_ACCESS_TO_REMOVE_OLD_USRS 12
#define Usr_MAX_MONTHS_WITHOUT_ACCESS_TO_REMOVE_OLD_USRS 60
#define Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME 32
#define Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME (Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME * Str_MAX_BYTES_PER_CHAR)
#define Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME (32 - 1) // 31
#define Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME ((Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 511
#define Usr_MAX_BYTES_SURNAMES (Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1 + Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME)
// Surname1 +' '+ Surname2
@ -62,14 +62,17 @@
// Surname1 +' '+ Surname2 + ','+' ' + FirstName
// Surname1 +' '+ Surname2 + '<br />' + FirstName
#define Usr_MAX_CHARS_USR_EMAIL (128 - 1)
#define Usr_MAX_BYTES_USR_EMAIL Usr_MAX_CHARS_USR_EMAIL
#define Usr_MAX_CHARS_USR_EMAIL (128 - 1) // 127
#define Usr_MAX_BYTES_USR_EMAIL Usr_MAX_CHARS_USR_EMAIL // 127
#define Usr_MAX_CHARS_USR_LOGIN Usr_MAX_CHARS_USR_EMAIL // Maximum number of chars of @nick, email or ID
#define Usr_MAX_BYTES_USR_LOGIN (Usr_MAX_CHARS_USR_LOGIN * Str_MAX_BYTES_PER_CHAR)
#define Usr_MAX_CHARS_USR_LOGIN Usr_MAX_CHARS_USR_EMAIL // 127, maximum number of chars of @nick, email or ID
#define Usr_MAX_BYTES_USR_LOGIN ((Usr_MAX_CHARS_USR_LOGIN + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Usr_BIRTHDAY_STR_DB_LENGTH (4 + 1 + 2 + 1 + 2) // "'%04u-%02u-%02u'"
#define Usr_MAX_CHARS_ADDRESS (128 - 1) // 127
#define Usr_MAX_BYTES_ADDRESS ((Usr_MAX_CHARS_ADDRESS + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Usr_MAX_CHARS_PHONE 16
#define Usr_MAX_BYTES_PHONE Usr_MAX_CHARS_PHONE
@ -145,12 +148,12 @@ struct UsrData
Pri_Visibility_t PhotoVisibility; // Who can see user's photo
Pri_Visibility_t ProfileVisibility; // Who can see user's public profile
long CtyCod; // Country
char OriginPlace [Cns_MAX_BYTES_STRING + 1];
char OriginPlace [Usr_MAX_BYTES_ADDRESS + 1];
struct Date Birthday;
char StrBirthday [Cns_MAX_BYTES_DATE + 1];
char LocalAddress [Cns_MAX_BYTES_STRING + 1];
char LocalAddress [Usr_MAX_BYTES_ADDRESS + 1];
char LocalPhone [Usr_MAX_BYTES_PHONE + 1];
char FamilyAddress [Cns_MAX_BYTES_STRING + 1];
char FamilyAddress [Usr_MAX_BYTES_ADDRESS + 1];
char FamilyPhone [Usr_MAX_BYTES_PHONE + 1];
char *Comments;
long InsCtyCod; // Country of the institution
@ -159,7 +162,7 @@ struct UsrData
{
long CtrCod; // Centre
long DptCod; // Department
char Office [Cns_MAX_BYTES_STRING + 1];
char Office [Usr_MAX_BYTES_ADDRESS + 1];
char OfficePhone [Usr_MAX_BYTES_PHONE + 1];
} Tch;
struct

View File

@ -955,8 +955,8 @@ int swad__loginBySessionKey (struct soap *soap,
loginBySessionKeyOut->userSurname2 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1);
loginBySessionKeyOut->userPhoto = (char *) soap_malloc (Gbl.soap,Cns_MAX_BYTES_WWW + 1);
loginBySessionKeyOut->userBirthday = (char *) soap_malloc (Gbl.soap,Dat_LENGTH_YYYYMMDD + 1);
loginBySessionKeyOut->degreeName = (char *) soap_malloc (Gbl.soap,Deg_MAX_BYTES_DEGREE_FULL_NAME + 1);
loginBySessionKeyOut->courseName = (char *) soap_malloc (Gbl.soap,Crs_MAX_BYTES_COURSE_FULL_NAME + 1);
loginBySessionKeyOut->degreeName = (char *) soap_malloc (Gbl.soap,Hie_MAX_BYTES_FULL_NAME + 1);
loginBySessionKeyOut->courseName = (char *) soap_malloc (Gbl.soap,Hie_MAX_BYTES_FULL_NAME + 1);
/***** Default values returned on error *****/
loginBySessionKeyOut->userCode = -1;
@ -1001,7 +1001,7 @@ int swad__loginBySessionKey (struct soap *soap,
Crs_GetDataOfCourseByCod (&Gbl.CurrentCrs.Crs);
loginBySessionKeyOut->courseCode = (int) Gbl.CurrentCrs.Crs.CrsCod;
Str_Copy (loginBySessionKeyOut->courseName,Gbl.CurrentCrs.Crs.FullName,
Crs_MAX_BYTES_COURSE_FULL_NAME);
Hie_MAX_BYTES_FULL_NAME);
/***** Get user code (row[0]) *****/
Gbl.Usrs.Me.UsrDat.UsrCod = Str_ConvertStrCodToLongCod (row[0]);
@ -1012,7 +1012,7 @@ int swad__loginBySessionKey (struct soap *soap,
Deg_GetDataOfDegreeByCod (&Gbl.CurrentDeg.Deg);
loginBySessionKeyOut->degreeCode = (int) Gbl.CurrentDeg.Deg.DegCod;
Str_Copy (loginBySessionKeyOut->degreeName,Gbl.CurrentDeg.Deg.FullName,
Deg_MAX_BYTES_DEGREE_FULL_NAME);
Hie_MAX_BYTES_FULL_NAME);
}
else
UsrFound = false;
@ -1225,14 +1225,14 @@ int swad__getCourses (struct soap *soap,
getCoursesOut->coursesArray.__ptr[NumRow].courseCode = (int) Str_ConvertStrCodToLongCod (row[0]);
/* Get course short name (row[1]) */
getCoursesOut->coursesArray.__ptr[NumRow].courseShortName = (char *) soap_malloc (Gbl.soap,Crs_MAX_BYTES_COURSE_SHRT_NAME + 1);
getCoursesOut->coursesArray.__ptr[NumRow].courseShortName = (char *) soap_malloc (Gbl.soap,Hie_MAX_BYTES_SHRT_NAME + 1);
Str_Copy (getCoursesOut->coursesArray.__ptr[NumRow].courseShortName,row[1],
Crs_MAX_BYTES_COURSE_SHRT_NAME);
Hie_MAX_BYTES_SHRT_NAME);
/* Get course full name (row[2]) */
getCoursesOut->coursesArray.__ptr[NumRow].courseFullName = (char *) soap_malloc (Gbl.soap,Crs_MAX_BYTES_COURSE_FULL_NAME + 1);
getCoursesOut->coursesArray.__ptr[NumRow].courseFullName = (char *) soap_malloc (Gbl.soap,Hie_MAX_BYTES_FULL_NAME + 1);
Str_Copy (getCoursesOut->coursesArray.__ptr[NumRow].courseFullName,row[2],
Crs_MAX_BYTES_COURSE_FULL_NAME);
Hie_MAX_BYTES_FULL_NAME);
/* Get role (row[3]) */
if (sscanf (row[3],"%u",&Role) != 1) // Role in this course
@ -2815,7 +2815,7 @@ int swad__getNotifications (struct soap *soap,
struct Course Crs;
long Cod;
char ForumName[For_MAX_BYTES_FORUM_NAME + 1];
char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1];
char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1];
char *ContentStr;
Ntf_Status_t Status;
size_t Length;
@ -4681,7 +4681,7 @@ int swad__getMarks (struct soap *soap,
{
int ReturnCode;
struct FileMetadata FileMetadata;
char SummaryStr[Cns_MAX_BYTES_SUMMARY_STRING + 1]; // Not used
char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1]; // Not used
char *ContentStr;
size_t Length;