*/
#include "h/mh.h"
+#include "sbr/ambigsw.h"
+#include "sbr/path.h"
+#include "sbr/print_version.h"
+#include "sbr/print_help.h"
+#include "sbr/error.h"
#include "h/icalendar.h"
#include "sbr/icalparse.h"
-#include <h/fmt_scan.h>
+#include "h/fmt_scan.h"
#include "h/addrsbr.h"
#include "h/mts.h"
#include "h/done.h"
int parser_status = 0;
int
-main (int argc, char *argv[]) {
+main (int argc, char *argv[])
+{
/* RFC 5322 § 3.3 date-time format, including the optional
day-of-week and not including the optional seconds. The
zone is required by the RFC but not always output by this
act action = ACT_NONE;
char *infile = NULL, *outfile = NULL;
FILE *inputfile = NULL, *outputfile = NULL;
- int contenttype = 0, unfold = 0;
+ bool contenttype = false;
+ bool unfold = false;
vevent *v, *nextvevent;
char *form = "mhical.24hour", *format = NULL;
char **argp, **arguments, *cp;
continue;
case CONTENTTYPESW:
- contenttype = 1;
+ contenttype = true;
continue;
case NCONTENTTYPESW:
- contenttype = 0;
+ contenttype = false;
continue;
case UNFOLDSW:
- unfold = 1;
+ unfold = true;
continue;
}
}
* - Excise VALARM sections.
*/
static void
-convert_to_reply (contentline *clines, act action) {
+convert_to_reply (contentline *clines, act action)
+{
char *partstat = NULL;
- int found_my_attendee_line = 0;
+ bool found_my_attendee_line = false;
contentline *node;
convert_common (clines, action);
while (getname ("")) { continue; }
if (ismymbox (mn)) {
- found_my_attendee_line = 1;
+ found_my_attendee_line = true;
for (p = node->params; p && p->param_name; p = p->next) {
value_list *v;
* - Excise VALARM sections.
*/
static void
-convert_to_cancellation (contentline *clines) {
+convert_to_cancellation (contentline *clines)
+{
contentline *node;
convert_common (clines, ACT_CANCEL);
}
static void
-convert_common (contentline *clines, act action) {
+convert_common (contentline *clines, act action)
+{
contentline *node;
- int in_valarm;
+ bool in_valarm;
if ((node = find_contentline (clines, "METHOD", 0))) {
free (node->value);
}
/* Excise X- lines and VALARM section(s). */
- in_valarm = 0;
+ in_valarm = false;
for (node = clines; node; node = node->next) {
/* node->name will be NULL if the line was deleted. */
if (! node->name) { continue; }
if (in_valarm) {
if (! strcasecmp ("END", node->name) &&
! strcasecmp ("VALARM", node->value)) {
- in_valarm = 0;
+ in_valarm = false;
}
remove_contentline (node);
} else {
if (! strcasecmp ("BEGIN", node->name) &&
! strcasecmp ("VALARM", node->value)) {
- in_valarm = 1;
+ in_valarm = true;
remove_contentline (node);
} else if (! strncasecmp ("X-", node->name, 2)) {
remove_contentline (node);
/* Echo the input, but with unfolded lines. */
static void
-dump_unfolded (FILE *file, contentline *clines) {
+dump_unfolded (FILE *file, contentline *clines)
+{
contentline *node;
for (node = clines; node; node = node->next) {
}
static void
-output (FILE *file, contentline *clines, int contenttype) {
+output (FILE *file, contentline *clines, int contenttype)
+{
contentline *node;
if (contenttype) {
* - attendees (limited to number specified in initialization)
*/
static void
-display (FILE *file, contentline *clines, char *nfs) {
+display (FILE *file, contentline *clines, char *nfs)
+{
tzdesc_t timezones = load_timezones (clines);
- int in_vtimezone;
- int in_valarm;
+ bool in_vtimezone;
+ bool in_valarm;
contentline *node;
struct format *fmt;
int dat[5] = { 0, 0, 0, INT_MAX, 0 };
}
/* Only display DESCRIPTION lines that are outside VALARM section(s). */
- in_valarm = 0;
+ in_valarm = false;
if ((c = fmt_findcomp ("description"))) {
for (node = clines; node; node = node->next) {
/* node->name will be NULL if the line was deleted. */
} else if (in_valarm) {
if (! strcasecmp ("END", node->name) &&
! strcasecmp ("VALARM", node->value)) {
- in_valarm = 0;
+ in_valarm = false;
}
} else {
if (! strcasecmp ("BEGIN", node->name) &&
! strcasecmp ("VALARM", node->value)) {
- in_valarm = 1;
+ in_valarm = true;
}
}
}
if ((c = fmt_findcomp ("dtstart"))) {
/* Find DTSTART outsize of a VTIMEZONE section. */
- in_vtimezone = 0;
+ in_vtimezone = false;
for (node = clines; node; node = node->next) {
/* node->name will be NULL if the line was deleted. */
if (! node->name) { continue; }
if (in_vtimezone) {
if (! strcasecmp ("END", node->name) &&
! strcasecmp ("VTIMEZONE", node->value)) {
- in_vtimezone = 0;
+ in_vtimezone = false;
}
} else {
if (! strcasecmp ("BEGIN", node->name) &&
! strcasecmp ("VTIMEZONE", node->value)) {
- in_vtimezone = 1;
+ in_vtimezone = true;
} else if (! strcasecmp ("DTSTART", node->name)) {
/* Got it: DTSTART outside of a VTIMEZONE section. */
char *datetime = format_datetime (timezones, node);
}
static const char *
-identity (const contentline *node) {
+identity (const contentline *node)
+{
/* According to RFC 5545 § 3.3.3, an email address in the value
must be a mailto URI. */
if (! strncasecmp (node->value, "mailto:", 7)) {
}
static char *
-format_params (char *line, param_list *p) {
+format_params (char *line, param_list *p)
+{
for ( ; p && p->param_name; p = p->next) {
value_list *v;
size_t num_values = 0;
}
static char *
-fold (char *line, int uses_cr) {
+fold (char *line, int uses_cr)
+{
size_t remaining = strlen (line);
size_t current_line_len = 0;
charstring_t folded_line = charstring_create (2 * remaining);