Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Internal Limits

In order to keep processing times from getting out of hand for huge (or bad) input data libical enforces these internal limits. However, these limits can be changed at runtime using the icallimit_set() function. Similarly, the limits can be queried using icallimit_get().

The internal limits and their default values are shown here:

  • Maximum number of parse failures allowed in a calendar file before processing halts

    Kind = ICAL_LIMIT_PARSE_FAILURES
    Default = 1000 (one thousand)
    
  • Maximum number of parse characters to search in a calendar component for the next parameter or property

    Kind = ICAL_LIMIT_PARSE_SEARCH
    Default = 100000 (one hundred thousand)
    
  • Maximum number of parse failure messages inserted into the output (by insert_error())

    Kind = ICAL_LIMIT_PARSE_FAILURE_ERROR_MESSAGES
    Default = 100 (one hundred)
    
  • Maximum number of properties allowed in a calendar component

    Kind = ICAL_LIMIT_PROPERTIES
    Default = 10000 (ten thousand)
    
  • Maximum number of parameters allowed for a property

    Kind = ICAL_LIMIT_PARAMETERS
    Default = 100 (one hundred)
    
  • Maximum number of characters for a value

    Kind = ICAL_LIMIT_VALUE_CHARS
    Default = 10485760 (10 * 1024 * 1024 ie. 10 mega chars)
    
  • Maximum number of values allowed for multi-valued properties

    Kind = ICAL_LIMIT_PROPERTY_VALUES
    Default = 500
    
  • Maximum number of times to search for the next recurrence before giving up

    Kind = ICAL_LIMIT_RECURRENCE_SEARCH
    Default = 100000 (one hundred thousand)
    
  • Maximum number of times to search for the next recurrence before time is considered standing still

    Kind = ICAL_LIMIT_RECURRENCE_TIME_STANDING_STILL
    Default = 50 (fifty)
    
  • Maximum number of times to search vtimezone rrules for an occurrence before the specified end year

    Kind = ICAL_LIMIT_RRULE_SEARCH
    Default = 100 (one hundred)