return &_aop_t_float128;
}
+/**
+ * A convenience function for getting a <code>(char *)</code> type.
+ * This is the same as passing aop_t_signed8() to aop_t_pointer_to().
+ * \return A type that will match the type <code>(char *)</code>.
+ */
+const struct aop_type *
+aop_t_cstring ()
+{
+ return aop_t_pointer_to (aop_t_signed8 ());
+}
+
/**
* Return a type that will match a struct type. Note that this will
* not match <i>pointers</i> to the specified struct type.
extern const struct aop_type *aop_t_float32 ();
extern const struct aop_type *aop_t_float64 ();
extern const struct aop_type *aop_t_float128 ();
+extern const struct aop_type *aop_t_cstring ();
extern const struct aop_type *aop_t_struct (const char *tag);
extern const struct aop_type *aop_t_struct_ptr (const char *tag);
extern const struct aop_type *aop_t_union (const char *tag);
static void plugin_join_on_string_exit(struct aop_joinpoint *jp, void *data)
{
- const struct aop_type *char_star;
- struct aop_dynval *retval;
-
- char_star = aop_t_pointer_to(aop_t_signed8());
-
- retval = aop_capture_exit_return_value_by_type(jp, char_star);
+ struct aop_dynval *retval = aop_capture_exit_return_value_by_type(jp, aop_t_cstring ());
if (retval != NULL)
aop_insert_advice(jp, "_string_advice", AOP_INSERT_BEFORE, AOP_DYNVAL(retval), AOP_TERM_ARG);
}