Main Page | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

ffword.c File Reference

Implements functions for manipulating instances of the ffword data type. More...

#include <string.h>
#include "ffword.h"

Go to the source code of this file.

Functions

ffint32 ffword_create (const ffchar *source, ffword *target)
 Create an ffword from a C style string.
ffint32 ffword_copy (ffword *source, ffword *target)
 Create a copy of an ffword.
ffint32 ffword_delete (ffword *target)
 Deletes an ffword.
ffint32 ffword_swap_delete (ffword *source, ffword *target)
ffint32 ffword_finalize (ffword *target)
 Delete an ffword without deallocating the real string data of the str member.


Detailed Description

Implements functions for manipulating instances of the ffword data type.

They are declared along with the data type itself in ffword.h.

Definition in file ffword.c.


Function Documentation

ffint32 ffword_copy ffword source,
ffword target
 

Create a copy of an ffword.

Parameters:
source The source ffword
target The target ffword
Returns:
0 on success; negative on error

Definition at line 47 of file ffword.c.

References ffword::data, ffstring_copy(), and ffword::metadata.

Referenced by ffpriv_essive_stem(), ffpriv_general_illative(), ffpriv_genitive_plural(), ffpriv_partitive_plural(), ffpriv_partitive_stem(), and ffpriv_plural_stem().

ffint32 ffword_create const ffchar source,
ffword target
 

Create an ffword from a C style string.

Parameters:
source The source C-style string
target The target user-allocated ffword
Returns:
0 on success; negative on error

Definition at line 35 of file ffword.c.

References ffword::data, ffstring_create(), and ffword::metadata.

Referenced by ff_abessive_plural(), ff_abessive_singular(), ff_ablative_plural(), ff_ablative_singular(), ff_adessive_plural(), ff_adessive_singular(), ff_allative_plural(), ff_allative_singular(), ff_comitative_plural(), ff_elative_plural(), ff_elative_singular(), ff_essive_plural(), ff_essive_singular(), ff_genitive_plural(), ff_genitive_singular(), ff_illative_plural(), ff_illative_singular(), ff_inessive_plural(), ff_inessive_singular(), ff_instructive_plural(), ff_instructive_singular(), ff_nominative_plural(), ff_partitive_plural(), ff_partitive_singular(), ff_translative_plural(), and ff_translative_singular().

ffint32 ffword_delete ffword target  ) 
 

Deletes an ffword.

Only deletes the string data of the word at the moment, but might do something creative in the future.

Parameters:
target The ffword to delete
Returns:
0 on success; negative on error

Definition at line 59 of file ffword.c.

References ffword::data, and ffstring_delete().

Referenced by ff_abessive_plural(), ff_abessive_singular(), ff_ablative_plural(), ff_ablative_singular(), ff_adessive_plural(), ff_adessive_singular(), ff_allative_plural(), ff_allative_singular(), ff_comitative_plural(), ff_elative_plural(), ff_elative_singular(), ff_essive_plural(), ff_essive_singular(), ff_genitive_plural(), ff_genitive_singular(), ff_illative_plural(), ff_illative_singular(), ff_inessive_plural(), ff_inessive_singular(), ff_instructive_plural(), ff_instructive_singular(), ff_nominative_plural(), ff_partitive_plural(), ff_partitive_singular(), ff_translative_plural(), ff_translative_singular(), ffpriv_essive_stem(), ffpriv_general_illative(), ffpriv_genitive_plural(), ffpriv_partitive_plural(), ffpriv_partitive_stem(), and ffpriv_plural_stem().

ffint32 ffword_finalize ffword target  ) 
 

Delete an ffword without deallocating the real string data of the str member.

After finalizing the only usable member of an ffword is the data string. ffwords do not need to be deleted after finalizing. Finalizing only decreases the ffstring instance counter at the moment, but might do something creative in the future.

Parameters:
target The ffword to finalize
Returns:
0 on success; negative on error

Definition at line 88 of file ffword.c.

References ffstring_decinst().

Referenced by ff_abessive_plural(), ff_abessive_singular(), ff_ablative_plural(), ff_ablative_singular(), ff_adessive_plural(), ff_adessive_singular(), ff_allative_plural(), ff_allative_singular(), ff_comitative_plural(), ff_elative_plural(), ff_elative_singular(), ff_essive_plural(), ff_essive_singular(), ff_genitive_plural(), ff_genitive_singular(), ff_illative_plural(), ff_illative_singular(), ff_inessive_plural(), ff_inessive_singular(), ff_instructive_plural(), ff_instructive_singular(), ff_nominative_plural(), ff_partitive_plural(), ff_partitive_singular(), ff_translative_plural(), and ff_translative_singular().

ffint32 ffword_swap_delete ffword source,
ffword target
 

Definition at line 69 of file ffword.c.

References ffword::data, and ffstring_delete().

Referenced by ffpriv_essive_stem(), ffpriv_general_illative(), ffpriv_partitive_plural(), and ffpriv_plural_stem().


Generated on Thu Jun 2 23:16:59 2005 for FinFlect by  doxygen 1.4.2