Author: petdance
Date: Tue Jun 12 12:54:00 2007
New Revision: 18961
Modified:
trunk/config/gen/makefiles/root.in
trunk/include/parrot/charset.h
trunk/include/parrot/encoding.h
trunk/src/charset.c
trunk/src/encoding.c
Log:
headerized encoding.c and fixed charset.c
Modified: trunk/config/gen/makefiles/root.in
==============================================================================
--- trunk/config/gen/makefiles/root.in (original)
+++ trunk/config/gen/makefiles/root.in Tue Jun 12 12:54:00 2007
@@ -1829,9 +1829,10 @@
# Slowing working my way up to having everything headerized in
$(HEADERIZER_O_FILES)
HEADERIZER_O_FILES = \
+ src/byteorder.o \
src/charset.o \
src/datatypes.o \
- src/byteorder.o \
+ src/encoding.o \
src/exceptions.o \
src/exit.o \
src/fingerprint.o \
Modified: trunk/include/parrot/charset.h
==============================================================================
--- trunk/include/parrot/charset.h (original)
+++ trunk/include/parrot/charset.h Tue Jun 12 12:54:00 2007
@@ -80,12 +80,18 @@
/* HEADERIZER BEGIN: src/charset.c */
PARROT_API const char * Parrot_charset_c_name( Interp *interp,
- INTVAL number_of_charset );
+ INTVAL number_of_charset )
+ __attribute__warn_unused_result__;
PARROT_API STRING* Parrot_charset_name( Interp *interp,
INTVAL number_of_charset )
__attribute__warn_unused_result__;
+PARROT_API INTVAL Parrot_charset_number( Interp *interp,
+ STRING *charsetname /*NN*/ )
+ __attribute__nonnull__(2)
+ __attribute__warn_unused_result__;
+
PARROT_API INTVAL Parrot_charset_number_of_str( Interp *interp,
STRING *src /*NN*/ )
__attribute__nonnull__(2)
@@ -111,7 +117,8 @@
__attribute__warn_unused_result__;
PARROT_API CHARSET* Parrot_get_charset( Interp *interp,
- INTVAL number_of_charset );
+ INTVAL number_of_charset )
+ __attribute__warn_unused_result__;
PARROT_API CHARSET * Parrot_load_charset( Interp *interp,
const char *charsetname /*NN*/ )
@@ -143,7 +150,6 @@
__attribute__nonnull__(3)
__attribute__nonnull__(4);
-INTVAL Parrot_charset_number( Interp *interp, STRING *charsetname );
/* HEADERIZER END: src/charset.c */
struct _charset {
Modified: trunk/include/parrot/encoding.h
==============================================================================
--- trunk/include/parrot/encoding.h (original)
+++ trunk/include/parrot/encoding.h Tue Jun 12 12:54:00 2007
@@ -71,23 +71,64 @@
#define PARROT_FIXED_8_ENCODING Parrot_fixed_8_encoding_ptr
#define PARROT_DEFAULT_FOR_UNICODE_ENCODING NULL
-PARROT_API ENCODING *Parrot_new_encoding(Interp*);
-PARROT_API ENCODING *Parrot_load_encoding(Interp*, const char *encoding_name);
-PARROT_API ENCODING *Parrot_find_encoding(Interp *, const char *encodingname);
-PARROT_API INTVAL Parrot_register_encoding(Interp *, const char *encodingname,
ENCODING *encoding);
-PARROT_API INTVAL Parrot_make_default_encoding(Interp *, const char
*encodingname, ENCODING *encoding);
-PARROT_API ENCODING *Parrot_default_encoding(Interp *);
typedef INTVAL (*encoding_converter_t)(Interp *, ENCODING *lhs, ENCODING *rhs);
-PARROT_API encoding_converter_t Parrot_find_encoding_converter(Interp *,
ENCODING *lhs, ENCODING *rhs);
-void parrot_init_encodings_2(Interp *);
-void parrot_deinit_encodings(Interp *);
+/* HEADERIZER BEGIN: src/encoding.c */
-PARROT_API INTVAL Parrot_encoding_number(Interp *, STRING *encodingname);
-PARROT_API INTVAL Parrot_encoding_number_of_str(Interp *, STRING *src);
-PARROT_API STRING* Parrot_encoding_name(Interp *, INTVAL number_of_encoding);
-PARROT_API ENCODING* Parrot_get_encoding(Interp *, INTVAL number_of_encoding);
-PARROT_API const char * Parrot_encoding_c_name(Interp *, INTVAL
number_of_encoding);
+PARROT_API ENCODING * Parrot_default_encoding( Interp *interp );
+PARROT_API const char * Parrot_encoding_c_name( Interp *interp,
+ INTVAL number_of_encoding )
+ __attribute__warn_unused_result__;
+
+PARROT_API STRING* Parrot_encoding_name( Interp *interp,
+ INTVAL number_of_encoding )
+ __attribute__warn_unused_result__;
+
+PARROT_API INTVAL Parrot_encoding_number( Interp *interp,
+ STRING *encodingname /*NN*/ )
+ __attribute__nonnull__(2)
+ __attribute__warn_unused_result__;
+
+PARROT_API INTVAL Parrot_encoding_number_of_str( Interp *interp,
+ STRING *src /*NN*/ )
+ __attribute__nonnull__(2)
+ __attribute__warn_unused_result__;
+
+PARROT_API ENCODING * Parrot_find_encoding( Interp *interp,
+ const char *encodingname /*NN*/ )
+ __attribute__nonnull__(2);
+
+PARROT_API encoding_converter_t Parrot_find_encoding_converter( Interp *interp,
+ ENCODING *lhs,
+ ENCODING *rhs );
+
+PARROT_API ENCODING* Parrot_get_encoding( Interp *interp,
+ INTVAL number_of_encoding )
+ __attribute__warn_unused_result__;
+
+PARROT_API ENCODING * Parrot_load_encoding( Interp *interp,
+ const char *encodingname )
+ __attribute__warn_unused_result__
+ __attribute__noreturn__;
+
+PARROT_API INTVAL Parrot_make_default_encoding( Interp *interp,
+ const char *encodingname,
+ ENCODING *encoding /*NN*/ )
+ __attribute__nonnull__(3);
+
+PARROT_API ENCODING * Parrot_new_encoding( Interp *interp )
+ __attribute__malloc__
+ __attribute__warn_unused_result__;
+
+PARROT_API INTVAL Parrot_register_encoding( Interp *interp,
+ const char *encodingname /*NN*/,
+ ENCODING *encoding /*NN*/ )
+ __attribute__nonnull__(2)
+ __attribute__nonnull__(3);
+
+void parrot_deinit_encodings( Interp *interp );
+void parrot_init_encodings_2( Interp *interp );
+/* HEADERIZER END: src/encoding.c */
#define ENCODING_MAX_BYTES_PER_CODEPOINT(i, src) \
((const ENCODING *)src->encoding)->max_bytes_per_codepoint
Modified: trunk/src/charset.c
==============================================================================
--- trunk/src/charset.c (original)
+++ trunk/src/charset.c Tue Jun 12 12:54:00 2007
@@ -122,7 +122,7 @@
PARROT_API
INTVAL
-Parrot_charset_number(Interp *interp, STRING *charsetname)
+Parrot_charset_number(Interp *interp, STRING *charsetname /*NN*/)
/* WARN_UNUSED */
{
int i;
@@ -171,6 +171,7 @@
PARROT_API
CHARSET*
Parrot_get_charset(Interp *interp, INTVAL number_of_charset)
+ /* WARN_UNUSED */
{
if (number_of_charset >= all_charsets->n_charsets)
return NULL;
@@ -180,6 +181,7 @@
PARROT_API
const char *
Parrot_charset_c_name(Interp *interp, INTVAL number_of_charset)
+ /* WARN_UNUSED */
{
if (number_of_charset >= all_charsets->n_charsets)
return NULL;
Modified: trunk/src/encoding.c
==============================================================================
--- trunk/src/encoding.c (original)
+++ trunk/src/encoding.c Tue Jun 12 12:54:00 2007
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2004, The Perl Foundation.
+Copyright (C) 2004-2007, The Perl Foundation.
$Id$
=head1 NAME
@@ -10,15 +10,13 @@
These are parrot's generic encoding handling functions
-=over 4
-
-=cut
-
*/
#define PARROT_NO_EXTERN_ENCODING_PTRS
#include "parrot/parrot.h"
+/* HEADER: include/parrot/encoding.h */
+
ENCODING *Parrot_default_encoding_ptr;
ENCODING *Parrot_fixed_8_encoding_ptr;
ENCODING *Parrot_utf8_encoding_ptr;
@@ -51,9 +49,9 @@
void
parrot_deinit_encodings(Interp *interp)
{
- int i, n;
+ const n = all_encodings->n_encodings;
+ int i;
- n = all_encodings->n_encodings;
for (i = 0; i < n; ++i) {
mem_sys_free(all_encodings->enc[i].encoding);
}
@@ -62,18 +60,21 @@
all_encodings = NULL;
}
+PARROT_API
ENCODING *
Parrot_new_encoding(Interp *interp)
+ /* MALLOC, WARN_UNUSED */
{
return mem_allocate_typed(ENCODING);
}
+PARROT_API
ENCODING *
-Parrot_find_encoding(Interp *interp, const char *encodingname)
+Parrot_find_encoding(Interp *interp, const char *encodingname /*NN*/)
{
- int i, n;
+ const n = all_encodings->n_encodings;
+ int i;
- n = all_encodings->n_encodings;
for (i = 0; i < n; ++i) {
if (strcmp(all_encodings->enc[i].encoding->name, encodingname) == 0) {
return all_encodings->enc[i].encoding;
@@ -86,8 +87,10 @@
encodings and such for strings if we can't be sure we've got enough
info set up to actually build strings... */
+PARROT_API
ENCODING *
Parrot_load_encoding(Interp *interp, const char *encodingname)
+ /* WARN_UNUSED, NORETURN */
{
internal_exception(UNIMPLEMENTED, "Can't load encodings yet");
return NULL;
@@ -95,24 +98,20 @@
/*
-=item C<INTVAL Parrot_encoding_number(Interp *, STRING *encodingname)>
+FUNCDOC: INTVAL Parrot_encoding_number
Return the number of the encoding or -1 if not found.
-=item C<INTVAL Parrot_encoding_number_of_str(Interp *, const STRING *src)>
-
-Return the number of the encoding of the given string or -1 if not found.
-
-=cut
-
*/
+PARROT_API
INTVAL
-Parrot_encoding_number(Interp *interp, STRING *encodingname)
+Parrot_encoding_number(Interp *interp, STRING *encodingname /*NN*/)
+ /* WARN_UNUSED */
{
- int i, n;
+ const int n = all_encodings->n_encodings;
+ int i;
- n = all_encodings->n_encodings;
for (i = 0; i < n; ++i) {
if (!string_equal(interp, all_encodings->enc[i].name,
encodingname))
@@ -121,12 +120,22 @@
return -1;
}
+/*
+
+FUNCDOC: Parrot_encoding_number_of_str
+
+Return the number of the encoding of the given string or -1 if not found.
+
+*/
+
+PARROT_API
INTVAL
-Parrot_encoding_number_of_str(Interp *interp, STRING *src)
+Parrot_encoding_number_of_str(Interp *interp, STRING *src /*NN*/)
+ /* WARN_UNUSED */
{
- int i, n;
+ const int n = all_encodings->n_encodings;
+ int i;
- n = all_encodings->n_encodings;
for (i = 0; i < n; ++i) {
if (src->encoding == all_encodings->enc[i].encoding)
return i;
@@ -134,24 +143,30 @@
return -1;
}
+PARROT_API
STRING*
Parrot_encoding_name(Interp *interp, INTVAL number_of_encoding)
+ /* WARN_UNUSED */
{
if (number_of_encoding >= all_encodings->n_encodings)
return NULL;
return all_encodings->enc[number_of_encoding].name;
}
+PARROT_API
ENCODING*
Parrot_get_encoding(Interp *interp, INTVAL number_of_encoding)
+ /* WARN_UNUSED */
{
if (number_of_encoding >= all_encodings->n_encodings)
return NULL;
return all_encodings->enc[number_of_encoding].encoding;
}
+PARROT_API
const char *
Parrot_encoding_c_name(Interp *interp, INTVAL number_of_encoding)
+ /* WARN_UNUSED */
{
if (number_of_encoding >= all_encodings->n_encodings)
return NULL;
@@ -162,9 +177,9 @@
register_encoding(Interp *interp, const char *encodingname,
ENCODING *encoding)
{
- int i, n;
+ const n = all_encodings->n_encodings;
+ int i;
- n = all_encodings->n_encodings;
for (i = 0; i < n; ++i) {
if (strcmp(all_encodings->enc[i].encoding->name, encodingname) == 0)
return 0;
@@ -186,9 +201,10 @@
return 1;
}
+PARROT_API
INTVAL
-Parrot_register_encoding(Interp *interp, const char *encodingname,
- ENCODING *encoding)
+Parrot_register_encoding(Interp *interp, const char *encodingname /*NN*/,
+ ENCODING *encoding /*NN*/)
{
if (!all_encodings) {
all_encodings = mem_allocate_typed(All_encodings);
@@ -218,20 +234,23 @@
return 0;
}
+PARROT_API
INTVAL
Parrot_make_default_encoding(Interp *interp, const char *encodingname,
- ENCODING *encoding)
+ ENCODING *encoding /*NN*/)
{
Parrot_default_encoding_ptr = encoding;
return 1;
}
+PARROT_API
ENCODING *
Parrot_default_encoding(Interp *interp)
{
return Parrot_default_encoding_ptr;
}
+PARROT_API
encoding_converter_t
Parrot_find_encoding_converter(Interp *interp, ENCODING *lhs,
ENCODING *rhs)