/* copy parameters */
for (par = b->parameter, ppar = &b->parameter; par; ppar = &(*ppar)->next, par = par->next)
{
- *ppar = mutt_new_parameter();
+ *ppar = mutt_param_new();
(*ppar)->attribute = mutt_str_strdup(par->attribute);
(*ppar)->value = mutt_str_strdup(par->value);
}
return 0;
}
-/**
- * strict_cmp_parameters - strictly compare two parameters
- * @param p1 first parameter
- * @param p2 second parameter
- * @retval true parameters are strictly identical
- */
-static int strict_cmp_parameters(const struct Parameter *p1, const struct Parameter *p2)
-{
- while (p1 && p2)
- {
- if ((mutt_str_strcmp(p1->attribute, p2->attribute) != 0) ||
- (mutt_str_strcmp(p1->value, p2->value) != 0))
- {
- return 0;
- }
-
- p1 = p1->next;
- p2 = p2->next;
- }
- if (p1 || p2)
- return 0;
-
- return 1;
-}
-
static int strict_cmp_bodies(const struct Body *b1, const struct Body *b2)
{
if (b1->type != b2->type || b1->encoding != b2->encoding ||
(mutt_str_strcmp(b1->subtype, b2->subtype) != 0) ||
(mutt_str_strcmp(b1->description, b2->description) != 0) ||
- !strict_cmp_parameters(b1->parameter, b2->parameter) || b1->length != b2->length)
+ !mutt_param_cmp_strict(b1->parameter, b2->parameter) || b1->length != b2->length)
return 0;
return 1;
}
#include "config.h"
#include "parameter.h"
+/**
+ * mutt_param_new - Create a new Parameter
+ * @retval ptr Newly allocated Parameter
+ */
+struct Parameter *mutt_param_new(void)
+{
+ return mutt_mem_calloc(1, sizeof(struct Parameter));
+}
+
/**
* mutt_param_free - Free a Parameter
* @param p Parameter to free
}
}
- q = mutt_new_parameter();
+ q = mutt_param_new();
q->attribute = mutt_str_strdup(attribute);
q->value = mutt_str_strdup(value);
q->next = *p;
}
}
}
+
+/**
+ * mutt_param_cmp_strict - strictly compare two parameters
+ * @param p1 first parameter
+ * @param p2 second parameter
+ * @retval true parameters are strictly identical
+ */
+int mutt_param_cmp_strict(const struct Parameter *p1, const struct Parameter *p2)
+{
+ while (p1 && p2)
+ {
+ if ((mutt_str_strcmp(p1->attribute, p2->attribute) != 0) ||
+ (mutt_str_strcmp(p1->value, p2->value) != 0))
+ {
+ return 0;
+ }
+
+ p1 = p1->next;
+ p2 = p2->next;
+ }
+ if (p1 || p2)
+ return 0;
+
+ return 1;
+}
struct Parameter *next;
};
-/**
- * mutt_new_parameter - Create a new Parameter
- * @retval ptr Newly allocated Parameter
- */
-static inline struct Parameter *mutt_new_parameter(void)
-{
- return mutt_mem_calloc(1, sizeof(struct Parameter));
-}
-
-void mutt_param_delete(const char *attribute, struct Parameter **p);
-void mutt_param_set(const char *attribute, const char *value, struct Parameter **p);
-void mutt_param_free(struct Parameter **p);
-char *mutt_param_get(const char *s, struct Parameter *p);
+struct Parameter *mutt_param_new(void);
+int mutt_param_cmp_strict(const struct Parameter *p1, const struct Parameter *p2);
+void mutt_param_delete(const char *attribute, struct Parameter **p);
+void mutt_param_free(struct Parameter **p);
+char * mutt_param_get(const char *s, struct Parameter *p);
+void mutt_param_set(const char *attribute, const char *value, struct Parameter **p);
#endif /* _MUTT_PARAMETER_H */
}
else
{
- new = mutt_new_parameter();
+ new = mutt_param_new();
new->attribute = mutt_str_substr_dup(s, s + i);
}
if (encoded)
mutt_convert_string(&value, charset, Charset, MUTT_ICONV_HOOK_FROM);
- *head = mutt_new_parameter();
+ *head = mutt_param_new();
(*head)->attribute = mutt_str_strdup(attribute);
(*head)->value = value;
head = &(*head)->next;