--- deliantra/server/include/cfperl.h 2009/11/16 22:31:14 1.113 +++ deliantra/server/include/cfperl.h 2010/01/16 13:41:37 1.114 @@ -101,15 +101,15 @@ void cfperl_emergency_save (); void cfperl_cleanup (int make_core); void cfperl_make_book (object *book, int level); -void cfperl_send_msg (client *ns, int color, const char *type, const char *msg); +void cfperl_send_msg (client *ns, int color, const_utf8_string type, const_utf8_string msg); int cfperl_can_merge (object *ob1, object *ob2); void cfperl_mapscript_activate (object *ob, int state, object *activator, object *originator = 0); -bool is_match_expr (const char *expr); +bool is_match_expr (const_utf8_string expr); // applies the match expression and returns true if it matches -bool match (const char *expr, object *ob, object *self = 0, object *source = 0, object *originator = 0); +bool match (const_utf8_string expr, object *ob, object *self = 0, object *source = 0, object *originator = 0); // same as above, but returns the first object found, or 0 -object *match_one (const char *expr, object *ob, object *self = 0, object *source = 0, object *originator = 0); +object *match_one (const_utf8_string expr, object *ob, object *self = 0, object *source = 0, object *originator = 0); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -242,14 +242,14 @@ } // set a custom key to the given value, or delete it if value = 0 - void set_key (const char *key, const char *value = 0, bool is_utf8 = 0); + void set_key (const_utf8_string key, const_utf8_string value = 0, bool is_utf8 = 0); - void set_key_text (const char *key, const char *value = 0) + void set_key_text (const_utf8_string key, const_utf8_string value = 0) { set_key (key, value, 1); } - void set_key_data (const char *key, const char *value = 0) + void set_key_data (const_utf8_string key, const_utf8_string value = 0) { set_key (key, value, 0); } @@ -344,7 +344,7 @@ alloc (p); } - void put (const keyword_string k, const char *v) + void put (const keyword_string k, const_utf8_string v) { if (expect_true (v)) put (k, keyword_string (v, strlen (v))); @@ -420,8 +420,8 @@ put (k, (T *)v); } - MTH bool save (const_octet_string path); - char *as_string (); // like strdup + MTH bool save (const_utf8_string path); + utf8_string as_string (); // like strdup operator bool () { return !!av; } }; @@ -441,8 +441,8 @@ operator bool () const { return !!text; } - object_thawer (const char *path = 0); - object_thawer (const char *data, AV *perlav); + object_thawer (const_utf8_string path = 0); + object_thawer (const_utf8_string data, AV *perlav); ~object_thawer (); void get (attachable *obj, int oid); @@ -455,7 +455,7 @@ MTH void skip_block (); // skips till and over KW_end bool has_value () { return value; } - const char *get_str () { return value_nn; } // empty string when missing + const_utf8_string get_str () { return value_nn; } // empty string when missing void get_ml (keyword kend, shstr &sh); void get_ornull (shstr &sh) const { sh = value; } @@ -479,17 +479,17 @@ void get (uint32 &i) { i = get_sint64 (); } void get (sint64 &i) { i = get_sint64 (); } - MTH void parse_warn (const char *msg); - MTH bool parse_error (const char *type = 0, const char *name = 0, bool skip = true); + MTH void parse_warn (const_utf8_string msg); + MTH bool parse_error (const_utf8_string type = 0, const_utf8_string name = 0, bool skip = true); struct delayed_ref { attachable *op; object_ptr *ptr; - const char *ref; + const_utf8_string ref; }; std::vector delrefs; - void delayed_deref (attachable *op, object_ptr &ptr, const char *ref); + void delayed_deref (attachable *op, object_ptr &ptr, const_utf8_string ref); MTH void resolve_delayed_derefs (bool deref = true); };