getdata-commits Mailing List for GetData (Page 9)
Scientific Database Format
Brought to you by:
ketiltrout
This list is closed, nobody may subscribe to it.
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(5) |
Oct
(20) |
Nov
(21) |
Dec
(16) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2011 |
Jan
(1) |
Feb
(1) |
Mar
(56) |
Apr
(20) |
May
(4) |
Jun
(2) |
Jul
(3) |
Aug
(11) |
Sep
(2) |
Oct
(4) |
Nov
(18) |
Dec
(16) |
2012 |
Jan
(8) |
Feb
(12) |
Mar
(30) |
Apr
(13) |
May
(10) |
Jun
(17) |
Jul
(18) |
Aug
(19) |
Sep
|
Oct
(1) |
Nov
(1) |
Dec
(9) |
2013 |
Jan
(1) |
Feb
(4) |
Mar
(27) |
Apr
(6) |
May
(3) |
Jun
(1) |
Jul
(10) |
Aug
|
Sep
(3) |
Oct
(15) |
Nov
(4) |
Dec
(9) |
2014 |
Jan
|
Feb
(3) |
Mar
(4) |
Apr
(10) |
May
(15) |
Jun
|
Jul
(14) |
Aug
|
Sep
(2) |
Oct
(6) |
Nov
|
Dec
(9) |
2015 |
Jan
(2) |
Feb
(3) |
Mar
(1) |
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <ket...@us...> - 2012-07-04 02:39:31
|
Revision: 735 http://getdata.svn.sourceforge.net/getdata/?rev=735&view=rev Author: ketiltrout Date: 2012-07-04 02:39:25 +0000 (Wed, 04 Jul 2012) Log Message: ----------- Spelling. Modified Paths: -------------- trunk/getdata/doc/Makefile.am trunk/getdata/doc/README.cxx trunk/getdata/doc/README.f77 trunk/getdata/doc/README.f95 trunk/getdata/doc/README.idl trunk/getdata/doc/README.python Modified: trunk/getdata/doc/Makefile.am =================================================================== --- trunk/getdata/doc/Makefile.am 2012-07-04 01:51:06 UTC (rev 734) +++ trunk/getdata/doc/Makefile.am 2012-07-04 02:39:25 UTC (rev 735) @@ -48,4 +48,4 @@ ${READMEPERL} ${READMEPYTHON} unclean_database_recovery.txt clean-local: - rm -rf *~ + rm -rf *~ README.perl Modified: trunk/getdata/doc/README.cxx =================================================================== --- trunk/getdata/doc/README.cxx 2012-07-04 01:51:06 UTC (rev 734) +++ trunk/getdata/doc/README.cxx 2012-07-04 02:39:25 UTC (rev 735) @@ -74,7 +74,7 @@ AutoEncoding = GD_AUTO_ENCODED, RawEncoding = GD_UNENCODED, TextEncoding = GD_TEXT_ENCODED, SlimEncoding = GD_SLIM_ENCODED, GzipEncoding = GD_GZIP_ENCODED, Bzip2Encoding = GD_BZIP2_ENCODED, - SieEncoding = GD_SIE_ENCODED, ZzipEncoding = GD_ZZIP_ENOCDED, + SieEncoding = GD_SIE_ENCODED, ZzipEncoding = GD_ZZIP_ENCODED, ZzslimEncoding = GD_ZZSLIM_ENCODED, UnsupportedEncoding = GD_ENC_UNSUPPORTED }; Modified: trunk/getdata/doc/README.f77 =================================================================== --- trunk/getdata/doc/README.f77 2012-07-04 01:51:06 UTC (rev 734) +++ trunk/getdata/doc/README.f77 2012-07-04 02:39:25 UTC (rev 735) @@ -1127,7 +1127,7 @@ This subroutine returns metadata describing a WINDOW field. Only one of ithreshold and rthreshold is ever updated. If the returned windop is one of - GDW_EQ, GDW_NE, GDW_ST, or GDW_CL, ithreshold will be updated, otherwhise, + GDW_EQ, GDW_NE, GDW_ST, or GDW_CL, ithreshold will be updated, otherwise, rthreshold will be updated. If field_code is not found, or the field specified is not of POLYNOM type, infield_len will be set to zero. In this case the value of the remaining data is unspecified. @@ -1546,16 +1546,16 @@ new fragment given. * GDRENM(dirfile_unit, field_code, field_code_len, new_name, new_name_len, - move_data) + flags) Input: - INTEGER dirfile_unit, field_code_len, new_name_len, move_data + INTEGER dirfile_unit, field_code_len, new_name_len, flags CHARACTER*<field_code_len> field_code CHARACTER*<new_name_len> new_name - This subroutine wraps gd_rename(3), and changes the name of a field. If - move_data is non-zero, and the field is a RAW field, the binary file - associated with the field will also be renamed. + This subroutine wraps gd_rename(3), and changes the name of a field. The + flags parameter should be zero or more of the GDR_xx parameters, bitwise or'd + together. * GDNTYP(ntype, dirfile_unit, field_code, field_code_len) @@ -1610,7 +1610,7 @@ This subroutine modifies the element indexed by index of the scalar array member of the gd_entry_t object associated with the specified field code. If index is too large for the specified field, nothing happens. The array is - indexed starting from one. If scalar indicates a CONST field, sclaar_index + indexed starting from one. If scalar indicates a CONST field, scalar_index is ignored. @@ -1641,7 +1641,7 @@ fragment_index) Input: - INTEGER dirfile_unti, field_code_len, targ_len, fragment_index + INTEGER dirfile_unit, field_code_len, targ_len, fragment_index CHARACTER*<field_code_len> field_code CHARACTER*<targ_len> targ @@ -2098,7 +2098,7 @@ F77 symbol C symbol ---------- ----------------- GDR_DT GD_REN_DATA - GDR_UP GD_REN_UPDATEDB + GDR_UP GD_REN_UPDB Protection levels (returned by GDGPRT and required by GDAPRT): Modified: trunk/getdata/doc/README.f95 =================================================================== --- trunk/getdata/doc/README.f95 2012-07-04 01:51:06 UTC (rev 734) +++ trunk/getdata/doc/README.f95 2012-07-04 02:39:25 UTC (rev 735) @@ -83,7 +83,7 @@ character (len=*), intent(in) :: field_code (For fgd_flush, fgd_sync and fgd_raw_close, if field_code is the empty string, - the operation will be peformed on the entire dirfile.) + the operation will be performed on the entire dirfile.) * subroutine fgd_metaflush (dirfile_unit) integer, intent(in) :: dirfile @@ -562,8 +562,8 @@ integer, intent(in) :: dirfile, recode character (len=*), intent(in) :: parent, spec -* subroutine fgd_rename (dirfile, field_code, new_name, move_data) - integer, intent(in) :: dirfile, move_data +* subroutine fgd_rename (dirfile, field_code, new_name, flags) + integer, intent(in) :: dirfile, flags character (len=*), intent(in) :: field_code, new_name * subroutine fgd_delete (dirfile, field_code, flags) @@ -718,7 +718,7 @@ <datatype>, dimension(:), intent(in) :: data_in No corresponding fgd_putdata_n function exists, since GD_NULL is not an - acceptable input data_type for putdata(3). + acceptable input data_type for gd_putdata(3). Analogously for gd_constants, gd_get_carray_slice, gd_get_constant, gd_mconstants, gd_put_carray_slice, and gd_put_constant, for which only the Modified: trunk/getdata/doc/README.idl =================================================================== --- trunk/getdata/doc/README.idl 2012-07-04 01:51:06 UTC (rev 734) +++ trunk/getdata/doc/README.idl 2012-07-04 02:39:25 UTC (rev 735) @@ -655,7 +655,7 @@ and metadata changes are flushed to disk. In normal operation, first the raw data is flushed (synced) and then the raw data files are closed. Specifying /NOSYNC will skip the flushing; specifying /NOCLOSE will skip the - closing. Specifiying both will result in an error (since the function is left + closing. Specifying both will result in an error (since the function is left with nothing to do.) See gd_flush(3), gd_sync(3) and gd_raw_close(3). FUNCTION GD_FRAGMENT_AFFIXES(dirfile_unit, FRAGMENT=fragment) Modified: trunk/getdata/doc/README.python =================================================================== --- trunk/getdata/doc/README.python 2012-07-04 01:51:06 UTC (rev 734) +++ trunk/getdata/doc/README.python 2012-07-04 02:39:25 UTC (rev 735) @@ -20,4 +20,4 @@ >>> import pygetdata >>> help(pygetdata) -from within the Python interpereter, after the bindings have been installed. +from within the Python interpreter, after the bindings have been installed. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-07-04 01:51:13
|
Revision: 734 http://getdata.svn.sourceforge.net/getdata/?rev=734&view=rev Author: ketiltrout Date: 2012-07-04 01:51:06 +0000 (Wed, 04 Jul 2012) Log Message: ----------- spelling. Modified Paths: -------------- trunk/getdata/man/dirfile-format.5 trunk/getdata/man/gd_cbopen.3 trunk/getdata/man/gd_desync.3 trunk/getdata/man/gd_entry.3 trunk/getdata/man/gd_entry_list.3 trunk/getdata/man/gd_flush.3 trunk/getdata/man/gd_getdata.3 trunk/getdata/man/gd_mplex_lookback.3 trunk/getdata/man/gd_nentries.3 trunk/getdata/man/gd_seek.3 trunk/getdata/man/gd_tell.3 Modified: trunk/getdata/man/dirfile-format.5 =================================================================== --- trunk/getdata/man/dirfile-format.5 2012-06-30 01:43:28 UTC (rev 733) +++ trunk/getdata/man/dirfile-format.5 2012-07-04 01:51:06 UTC (rev 734) @@ -162,7 +162,7 @@ Standards Version 5 and earlier do not recognise the character escape sequences, nor allow quoting of tokens. As a result, they prohibit both whitespace and the -comment delimileter from being used in tokens. +comment delimiter from being used in tokens. .SH DIRECTIVES @@ -205,7 +205,7 @@ original, canonical name. Aliases may be chained (that is, the target name appearing in an /ALIAS directive may itself be an alias). In this case, the new alias is another name for the target's own target. Just as there is no -requriement that the input fields of a derived field exist, +requirement that the input fields of a derived field exist, it is not an error for the target of an alias to not exist. Syntax is: .IP .RS @@ -612,7 +612,7 @@ Five of these derived fields .RB ( DIVIDE ", " LINCOM ", " MPLEX ", " MULTIPLY ", and " WINDOW ) may have more than one input field. In situations where these input fields -have differeing sample rates, the sample rate of the derived field is the same +have differing sample rates, the sample rate of the derived field is the same as the sample rate of the first (left-most) input field specified. Furthermore, the input fields are synchronised by aligning them on frame boundaries, assuming equally-spaced sampling throughout a frame, and using the last sample of each @@ -1187,7 +1187,7 @@ .PP The storage type of .I threshold -depends on the operatior, and follows the interpretation of +depends on the operator, and follows the interpretation of .IR check . It may never be complex valued. .PP Modified: trunk/getdata/man/gd_cbopen.3 =================================================================== --- trunk/getdata/man/gd_cbopen.3 2012-06-30 01:43:28 UTC (rev 733) +++ trunk/getdata/man/gd_cbopen.3 2012-07-04 01:51:06 UTC (rev 734) @@ -237,8 +237,8 @@ .BR GD_TRUNC , truncation will descend into subdirectories, deleting all regular files and symlinks recursively. It does not descend into directories pointed to by -symbolic links: in these cases, just the symlink iself is deleted. If specified -without an accompanying +symbolic links: in these cases, just the symlink itself is deleted. If +specified without an accompanying .BR GD_TRUNC , this flag is ignored. .TP Modified: trunk/getdata/man/gd_desync.3 =================================================================== --- trunk/getdata/man/gd_desync.3 2012-06-30 01:43:28 UTC (rev 733) +++ trunk/getdata/man/gd_desync.3 2012-07-04 01:51:06 UTC (rev 734) @@ -61,7 +61,7 @@ pointer. In this case, upon a positive result from this function, the caller must discard all cached information about the dirfile, even the assumption that .I dirfile -has been succesfully opened. +has been successfully opened. Re-opening the dirfile is equivalent to calling .BR gd_discard (3), @@ -118,7 +118,7 @@ .BR fstatat (2) (q.v.), this function may always operate as if .B GD_DESYNC_PATHCHECK -had been specified, regarless of the actual +had been specified, regardless of the actual .IR flags . .SH SEE ALSO .BR fstatat (2), Modified: trunk/getdata/man/gd_entry.3 =================================================================== --- trunk/getdata/man/gd_entry.3 2012-06-30 01:43:28 UTC (rev 733) +++ trunk/getdata/man/gd_entry.3 2012-07-04 01:51:06 UTC (rev 734) @@ -815,40 +815,40 @@ .PP The .I windop -member equals one of the following symbols, indicating the particular comarison +member equals one of the following symbols, indicating the particular comparison performed on the check field: .TP .B GD_WINDOP_EQ -data are extraced when the check field equals +data are extracted when the check field equals .IR threshold ; .TP .B GD_WINDOP_GE -data are extraced when the check field is greater than or equal to +data are extracted when the check field is greater than or equal to .IR threshold ; .TP .B GD_WINDOP_GT -data are extraced when the check field is strictly greater than +data are extracted when the check field is strictly greater than .IR threshold ; .TP .B GD_WINDOP_LE -data are extraced when the check field is less than or equal to +data are extracted when the check field is less than or equal to .IR threshold ; .TP .B GD_WINDOP_LT -data are extraced when the check field is strictly less than +data are extracted when the check field is strictly less than .IR threshold ; .TP .B GD_WINDOP_NE -data are extraced when the check field is not equal to +data are extracted when the check field is not equal to .IR threshold ; .TP .B GD_WINDOP_SET -data are extraced when at least one bit in +data are extracted when at least one bit in .I threshold is also set in the check field; .TP .B GD_WINDOP_CLR -data are extraced when at least one bit in +data are extracted when at least one bit in .I threshold is not set in the check field. .PP Modified: trunk/getdata/man/gd_entry_list.3 =================================================================== --- trunk/getdata/man/gd_entry_list.3 2012-06-30 01:43:28 UTC (rev 733) +++ trunk/getdata/man/gd_entry_list.3 2012-07-04 01:51:06 UTC (rev 734) @@ -44,7 +44,7 @@ .BR gd_entry_list () function queries a dirfile(5) database specified by .I dirfile -and returns a list of names of field entries satisfiying the supplied criteria. +and returns a list of names of field entries satisfying the supplied criteria. If .I parent is non-NULL, metafields under the field specified by Modified: trunk/getdata/man/gd_flush.3 =================================================================== --- trunk/getdata/man/gd_flush.3 2012-06-30 01:43:28 UTC (rev 733) +++ trunk/getdata/man/gd_flush.3 2012-07-04 01:51:06 UTC (rev 734) @@ -66,7 +66,7 @@ .BR gd_raw_close () (ie. it does both tasks), although, if .I field_code -is NULL, the order of operations if may be different than making the two explict +is NULL, the order of operations if may be different than making the two explicit calls. .SH RETURN VALUE On success, these functions return zero. On error, -1 is returned and the Modified: trunk/getdata/man/gd_getdata.3 =================================================================== --- trunk/getdata/man/gd_getdata.3 2012-06-30 01:43:28 UTC (rev 733) +++ trunk/getdata/man/gd_getdata.3 2012-07-04 01:51:06 UTC (rev 734) @@ -226,7 +226,7 @@ GetData caches the value of the last sample from every .B MPLEX it reads so that a subsequent read of the field starting from the following -sample (either through an expicit starting sample given by the caller or else +sample (either through an explicit starting sample given by the caller or else implicitly using .BR GD_HERE ) will not need to scan the field backwards. This cache is invalidated if a Modified: trunk/getdata/man/gd_mplex_lookback.3 =================================================================== --- trunk/getdata/man/gd_mplex_lookback.3 2012-06-30 01:43:28 UTC (rev 733) +++ trunk/getdata/man/gd_mplex_lookback.3 2012-07-04 01:51:06 UTC (rev 734) @@ -82,7 +82,7 @@ .IP \(bu otherwise, the .B MPLEX -cylce length is ten samples. +cycle length is ten samples. .PP So, given the following MPLEX definitions: .IP Modified: trunk/getdata/man/gd_nentries.3 =================================================================== --- trunk/getdata/man/gd_nentries.3 2012-06-30 01:43:28 UTC (rev 733) +++ trunk/getdata/man/gd_nentries.3 2012-07-04 01:51:06 UTC (rev 734) @@ -44,7 +44,7 @@ .BR gd_nentries () function queries a dirfile(5) database specified by .I dirfile -and returns a count of metadata entries satisfiying the supplied criteria. +and returns a count of metadata entries satisfying the supplied criteria. If .I parent is non-NULL, metafields under the field specified by Modified: trunk/getdata/man/gd_seek.3 =================================================================== --- trunk/getdata/man/gd_seek.3 2012-06-30 01:43:28 UTC (rev 733) +++ trunk/getdata/man/gd_seek.3 2012-07-04 01:51:06 UTC (rev 734) @@ -44,7 +44,7 @@ .BR GD_SEEK_SET ", " GD_SEEK_CUR , or .BR GD_SEEK_END , -indicating, repsectively, origins of sample zero, the current position of the +indicating, respectively, origins of sample zero, the current position of the field pointer, and the location of the end-of-field marker (see .BR gd_eof (3)). @@ -139,7 +139,7 @@ .B GD_E_ARGUMENT The .I flags -parameter didn't contain exaclty one of +parameter didn't contain exactly one of .BR GD_SEEK_SET ", " GD_SEEK_CUR , or .BR GD_SEEK_END . @@ -168,7 +168,7 @@ The specified field or one of its inputs wasn't of vector type. .TP .B GD_E_DOMAIN -The field posision couldn't be set due to a derived field reading simultaneously +The field position couldn't be set due to a derived field reading simultaneously from more than one place in an input field. .TP .B GD_E_INTERNAL_ERROR Modified: trunk/getdata/man/gd_tell.3 =================================================================== --- trunk/getdata/man/gd_tell.3 2012-06-30 01:43:28 UTC (rev 733) +++ trunk/getdata/man/gd_tell.3 2012-07-04 01:51:06 UTC (rev 734) @@ -69,7 +69,7 @@ The specified field or one of its inputs wasn't of vector type. .TP .B GD_E_DOMAIN -The field posision couldn't be determined due to a mismatch in the I/O pointer +The field position couldn't be determined due to a mismatch in the I/O pointer of field reading simultaneously from more than one place in an input field. .TP This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-06-30 01:43:34
|
Revision: 733 http://getdata.svn.sourceforge.net/getdata/?rev=733&view=rev Author: ketiltrout Date: 2012-06-30 01:43:28 +0000 (Sat, 30 Jun 2012) Log Message: ----------- Also fix gd_uint64_t. Modified Paths: -------------- trunk/getdata/configure.ac Modified: trunk/getdata/configure.ac =================================================================== --- trunk/getdata/configure.ac 2012-06-30 01:37:54 UTC (rev 732) +++ trunk/getdata/configure.ac 2012-06-30 01:43:28 UTC (rev 733) @@ -666,13 +666,13 @@ fi if test $ac_cv_sizeof_unsigned_int -eq 8; then - gd_uint64_t="int" + gd_uint64_t="unsigned int" elif test $ac_cv_sizeof_unsigned_short_int -eq 8; then - gd_uint64_t="short int" + gd_uint64_t="unsigned short int" elif test $ac_cv_sizeof_unsigned_long_int -eq 8; then - gd_uint64_t="long int" + gd_uint64_t="unsigned long int" elif test $ac_cv_sizeof_unsigned_long_long_int -eq 8; then - gd_uint64_t="long long int" + gd_uint64_t="unsigned long long int" fi if test "x$gd_cv_type_off64_t" = "xyes"; then This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-06-30 01:38:00
|
Revision: 732 http://getdata.svn.sourceforge.net/getdata/?rev=732&view=rev Author: ketiltrout Date: 2012-06-30 01:37:54 +0000 (Sat, 30 Jun 2012) Log Message: ----------- Fix gd_off64_t. Improve Perl dependency tracking. Modified Paths: -------------- trunk/getdata/ChangeLog trunk/getdata/README trunk/getdata/bindings/perl/Build.PL.in trunk/getdata/cmake/CMakeLists.txt trunk/getdata/configure.ac trunk/getdata/src/getdata.h.in Modified: trunk/getdata/ChangeLog =================================================================== --- trunk/getdata/ChangeLog 2012-06-29 22:00:49 UTC (rev 731) +++ trunk/getdata/ChangeLog 2012-06-30 01:37:54 UTC (rev 732) @@ -1,3 +1,9 @@ +2012-06-30 D. V. Wiebe <ge...@ke...> svn:732 + * src/getdata.h.in configure.ac cmake/CMakeLists.txt: Fix definition of + gd_off64_t. + + * bindings/perl/Build.PL.in: make getdata.h a dependency of lib/GetData.xs. + 2012-06-29 D. V. Wiebe <ge...@ke...> svn:728 * src/getdata.h.in src/internal.h src/errors.c: Merge GD_E_BAD_VERSION into GD_E_ARGUMENT. Modified: trunk/getdata/README =================================================================== --- trunk/getdata/README 2012-06-29 22:00:49 UTC (rev 731) +++ trunk/getdata/README 2012-06-30 01:37:54 UTC (rev 732) @@ -57,6 +57,7 @@ - Fortran 95 (libf95getdata) - Python (pygetdata) - the Interactive Data Language (IDL; idl_getdata) + - Perl (GetData.pm) Documentation for the various bindings, if present, can be found in files named `README.<language>' in the doc/ directory. The C interface is described Modified: trunk/getdata/bindings/perl/Build.PL.in =================================================================== --- trunk/getdata/bindings/perl/Build.PL.in 2012-06-29 22:00:49 UTC (rev 731) +++ trunk/getdata/bindings/perl/Build.PL.in 2012-06-30 01:37:54 UTC (rev 732) @@ -13,6 +13,8 @@ if ($source eq "lib/GetData.xs") { return 0 if (not $self->up_to_date("lib/simple_funcs.xs", $derived)); + return 0 if (not $self->up_to_date("@top_builddir@/src/getdata.h", + $derived)); } return $self->SUPER::up_to_date($source, $derived); } Modified: trunk/getdata/cmake/CMakeLists.txt =================================================================== --- trunk/getdata/cmake/CMakeLists.txt 2012-06-29 22:00:49 UTC (rev 731) +++ trunk/getdata/cmake/CMakeLists.txt 2012-06-30 01:37:54 UTC (rev 732) @@ -42,7 +42,6 @@ # MSVCRT integer types set(DEFINE_gd_int64_t "#define gd_int64_t __int64") set(DEFINE_gd_uint64_t "#define gd_uint64_t unsigned __int64") - set(DEFINE_gd_off64_t "#define gd_off64_t __int64") add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS) add_definitions( Modified: trunk/getdata/configure.ac =================================================================== --- trunk/getdata/configure.ac 2012-06-29 22:00:49 UTC (rev 731) +++ trunk/getdata/configure.ac 2012-06-30 01:37:54 UTC (rev 732) @@ -679,27 +679,16 @@ dnl Assume we have the entire LFS defined transitional API AC_DEFINE([HAVE_OFF64_T], [1], [ Define to 1 if the system has the type `off64_t'. ]) dnl ` - define_lf64s="#ifndef _LARGEFILE64_SOURCE -#define _LARGEFILE64_SOURCE -#endif -" - gd_off64_t="off64_t" -elif test $ac_cv_sizeof_off_t -eq 8;then - gd_off64_t="off_t" -else - gd_off64_t=$gd_int64_t fi DEFINE_gd_int16_t="# define gd_int16_t $gd_int16_t"; DEFINE_gd_uint16_t="# define gd_uint16_t $gd_uint16_t"; DEFINE_gd_int64_t="# define gd_int64_t $gd_int64_t"; DEFINE_gd_uint64_t="# define gd_uint64_t $gd_uint64_t"; -DEFINE_gd_off64_t="$define_lf64s# define gd_off64_t $gd_off64_t"; AC_SUBST([DEFINE_gd_int16_t]) AC_SUBST([DEFINE_gd_uint16_t]) AC_SUBST([DEFINE_gd_int64_t]) AC_SUBST([DEFINE_gd_uint64_t]) -AC_SUBST([DEFINE_gd_off64_t]) dnl library functions echo Modified: trunk/getdata/src/getdata.h.in =================================================================== --- trunk/getdata/src/getdata.h.in 2012-06-29 22:00:49 UTC (rev 731) +++ trunk/getdata/src/getdata.h.in 2012-06-30 01:37:54 UTC (rev 732) @@ -1092,7 +1092,13 @@ #endif #ifdef GD_64BIT_API -@DEFINE_gd_off64_t@ +#ifdef __off64_t_defined +typedef __off64_t gd_off64_t; +#elif (defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64) +typedef off_t gd_off64_t; +#else +typedef gd_int64_t gd_off64_t; +#endif extern int gd_alter_frameoffset64(DIRFILE *dirfile, gd_off64_t offset, int fragment, int recode) gd_nonnull ((1)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-06-29 22:00:55
|
Revision: 731 http://getdata.svn.sourceforge.net/getdata/?rev=731&view=rev Author: ketiltrout Date: 2012-06-29 22:00:49 +0000 (Fri, 29 Jun 2012) Log Message: ----------- C89-ify Modified Paths: -------------- trunk/getdata/bindings/f77/fgetdata.h trunk/getdata/src/name.c trunk/getdata/test/version_9_strict.c Modified: trunk/getdata/bindings/f77/fgetdata.h =================================================================== --- trunk/getdata/bindings/f77/fgetdata.h 2012-06-29 20:58:30 UTC (rev 730) +++ trunk/getdata/bindings/f77/fgetdata.h 2012-06-29 22:00:49 UTC (rev 731) @@ -728,6 +728,22 @@ void F77_FUNC(gdentn, GDENTN) (char *name, int32_t *name_l, const int32_t *dirfile, const char *parent, const int32_t *parent_l, const int32_t *type, const int32_t *flags, const int32_t *field_num); + +void F77_FUNC(gdgewd, GDGEWD) (char *in_field, int32_t *in_field_l, + char *check_field, int32_t *check_field_l, int32_t *windop, + int32_t *ithreshold, double *rthreshold, int32_t *fragment_index, + const int32_t *dirfile, const char *field_code, + const int32_t *field_code_l); + +void F77_FUNC(gdecnt, GDECNT) (int32_t *error_count, const int32_t *dirfile); + +void F77_FUNC(gdtoke, GDTOKE) (char *toke, int32_t *toke_l, + const int32_t *dirfile, const char *string, const int32_t *string_l); + +void F77_FUNC(gdgemx, GDGEMX) (char *in_field, int32_t *in_field_l, + char *count_field, int32_t *count_field_l, int32_t *val, int32_t *max, + int32_t *fragment_index, const int32_t *dirfile, const char *field_code, + const int32_t *field_code_l); #ifdef __cplusplus } #endif Modified: trunk/getdata/src/name.c =================================================================== --- trunk/getdata/src/name.c 2012-06-29 20:58:30 UTC (rev 730) +++ trunk/getdata/src/name.c 2012-06-29 22:00:49 UTC (rev 731) @@ -366,10 +366,6 @@ } } - /* gotta update those aliases ... */ - for (u = 0; u < D->n_entries; ++u) - if (D->entry[u] != E && D->entry[u]->field_type == GD_ALIAS_ENTRY) - dreturn("%p", list); return list; } Modified: trunk/getdata/test/version_9_strict.c =================================================================== --- trunk/getdata/test/version_9_strict.c 2012-06-29 20:58:30 UTC (rev 730) +++ trunk/getdata/test/version_9_strict.c 2012-06-29 22:00:49 UTC (rev 731) @@ -35,29 +35,29 @@ const char *format2 = "dirfile/format2"; const char *data = "dirfile/ar"; const char *format_data = - "/VERSION 8\n" // 0 - "/INCLUDE format1\n" // 1 - "w WINDOW INDEX INDEX SET 0x1\n"; // 2 + "/VERSION 8\n" /* 0 */ + "/INCLUDE format1\n" /* 1 */ + "w WINDOW INDEX INDEX SET 0x1\n"; /* 2 */ const char *format1_data = "\n\n\n" - "/VERSION 9\n" // 3 - "/INCLUDE format2 A Z\n" // 4 - "/INCLUDE format2 A.Z\n" // 5 - "Xr RAW COMPLEX128 0xA\n" // 6 - "Xy POLYNOM INDEX 8 055 0xAE 2\n" // 7 - "ar WINDOW AdZ INDEX SET 0x1\n" // 8 - "AINDEXZ PHASE INDEX 0\n" // 9 - "/HIDDEN Xy\n"; // 10 + "/VERSION 9\n" /* 3 */ + "/INCLUDE format2 A Z\n" /* 4 */ + "/INCLUDE format2 A.Z\n" /* 5 */ + "Xr RAW COMPLEX128 0xA\n" /* 6 */ + "Xy POLYNOM INDEX 8 055 0xAE 2\n" /* 7 */ + "ar WINDOW AdZ INDEX SET 0x1\n" /* 8 */ + "AINDEXZ PHASE INDEX 0\n" /* 9 */ + "/HIDDEN Xy\n"; /* 10 */ const char *format2_data = "\n\n\n" "\n\n\n\n\n\n\n\n" - "c RAW UINT8 1\n" // 11 - "/HIDDEN c\n" // 12 - "/REFERENCE c\n" // 13 - "/VERSION 8\n" // 14 - "d PHASE INDEX 0\n" // 15 - "d/c CONST FLOAT64 1\n" // 16 - "/META d d CONST FLOAT64 1\n"; // 17 + "c RAW UINT8 1\n" /* 11 */ + "/HIDDEN c\n" /* 12 */ + "/REFERENCE c\n" /* 13 */ + "/VERSION 8\n" /* 14 */ + "d PHASE INDEX 0\n" /* 15 */ + "d/c CONST FLOAT64 1\n" /* 16 */ + "/META d d CONST FLOAT64 1\n"; /* 17 */ uint16_t c[8]; int ll[NLINES]; unsigned char data_data[256]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-06-29 20:58:36
|
Revision: 730 http://getdata.svn.sourceforge.net/getdata/?rev=730&view=rev Author: ketiltrout Date: 2012-06-29 20:58:30 +0000 (Fri, 29 Jun 2012) Log Message: ----------- svn:ignore Modified Paths: -------------- trunk/html/Makefile Property Changed: ---------------- trunk/html/ Property changes on: trunk/html ___________________________________________________________________ Modified: svn:ignore - push-stamp man *.menu + push-stamp man *.menu *.html Modified: trunk/html/Makefile =================================================================== --- trunk/html/Makefile 2012-06-29 20:53:13 UTC (rev 729) +++ trunk/html/Makefile 2012-06-29 20:58:30 UTC (rev 730) @@ -33,7 +33,7 @@ ) clean: - rm -rf $(HTML) $(MENU) *~ + rm -rvf $(HTML) $(MENU) man *~ PUBLIC_HTML=${HTML} getdata.css dirfile.png valid_html.png \ valid_css.png man spf_convert.png mplex_computation.png \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-06-29 20:53:22
|
Revision: 729 http://getdata.svn.sourceforge.net/getdata/?rev=729&view=rev Author: ketiltrout Date: 2012-06-29 20:53:13 +0000 (Fri, 29 Jun 2012) Log Message: ----------- Doc updates. Modified Paths: -------------- trunk/getdata/NEWS trunk/getdata/man/gd_desync.3 trunk/html/Makefile trunk/html/getdata.css Added Paths: ----------- trunk/html/api.html.in trunk/html/bindings.html.in trunk/html/dirfile.html.in trunk/html/download.html.in trunk/html/encoding.html.in trunk/html/getdata.html.in trunk/html/index.html.in trunk/html/menu.pl trunk/html/mplex_computation.png trunk/html/sie_compression.png trunk/html/spf_convert.png Removed Paths: ------------- trunk/html/api.html trunk/html/bindings.html trunk/html/dirfile.html trunk/html/download.html trunk/html/encoding.html trunk/html/getdata.html trunk/html/index.html Property Changed: ---------------- trunk/html/ Modified: trunk/getdata/NEWS =================================================================== --- trunk/getdata/NEWS 2012-06-29 00:29:46 UTC (rev 728) +++ trunk/getdata/NEWS 2012-06-29 20:53:13 UTC (rev 729) @@ -253,6 +253,9 @@ Bindings Changes: + * Bindings for Perl5 have been added. Perl is not well suited to numerical + analysis, and the bindings may be inefficient. + * F77: Due to small namespace issues, the encoding parameters (corresponding to the GD_...ENCODED symbols in the C API) have all been renamed. They are now of the form GDE_xx. Modified: trunk/getdata/man/gd_desync.3 =================================================================== --- trunk/getdata/man/gd_desync.3 2012-06-29 00:29:46 UTC (rev 728) +++ trunk/getdata/man/gd_desync.3 2012-06-29 20:53:13 UTC (rev 729) @@ -64,7 +64,7 @@ has been succesfully opened. Re-opening the dirfile is equivalent to calling -.BR gd_close (3), +.BR gd_discard (3), and then .BR gd_cbopen (3) with the same arguments used when originally creating @@ -94,7 +94,7 @@ Additionally, if .B GD_DESYNC_REOPEN is used, this function may fail for any of the reasons listed in the -.BR gd_close (3) +.BR gd_discard (3) and .BR gd_cbopen (3) manual pages. @@ -123,7 +123,7 @@ .SH SEE ALSO .BR fstatat (2), .BR gd_cbopen (3), -.BR gd_close (3), +.BR gd_discard (3), .BR gd_error (3), .BR gd_error_string (3), .BR gd_parser_callback (3) Property changes on: trunk/html ___________________________________________________________________ Modified: svn:ignore - push-stamp man3 + push-stamp man *.menu Modified: trunk/html/Makefile =================================================================== --- trunk/html/Makefile 2012-06-29 00:29:46 UTC (rev 728) +++ trunk/html/Makefile 2012-06-29 20:53:13 UTC (rev 729) @@ -1,27 +1,43 @@ SRC_DIR=$(abspath ../getdata) CWD=$(abspath .) -.PHONY: man3 -man3: - if [ ! -d man3 ]; then rm -rf man3 && mkdir man3; fi +PAGES=index download getdata bindings dirfile encoding api +HTML=$(addsuffix .html,${PAGES}) +MENU=$(addsuffix .menu,${PAGES}) + +all: $(HTML) man + +.SECONDARY: $(MENU) +%.menu:%.html.in menu.pl + ./menu.pl c $< > $@ + +%.html:%.html.in menu.pl ${MENU} + ./menu.pl w $< > $@ + +.PHONY: man +man: + if [ ! -d man ]; then rm -rf man && mkdir man; fi cd $(SRC_DIR)/man && $(MAKE) htmlman - ( cd man3 && \ - for x in *3.html; do \ + ( cd man && \ + for x in *[35].html; do \ if [ ! -e $(SRC_DIR)/man/$$x ]; then rm -vf $$x; fi; \ done \ ) ( cd $(SRC_DIR)/man && \ - for x in *3.html; do \ - if [ ! -e ${CWD}/man3/$$x ] || \ - ! diff -q $$x ${CWD}/man3/$$x > /dev/null 2>&1; then \ - cp -vf $$x ${CWD}/man3/$$x; \ + for x in *[35].html; do \ + if [ ! -e ${CWD}/man/$$x ] || \ + ! diff -q $$x ${CWD}/man/$$x > /dev/null 2>&1; then \ + cp -vf $$x ${CWD}/man/$$x; \ fi; \ done; \ ) -PUBLIC_HTML=index.html api.html bindings.html dirfile.html download.html \ - encoding.html getdata.html getdata.css dirfile.png valid_html.png \ - valid_css.png man3 +clean: + rm -rf $(HTML) $(MENU) *~ + +PUBLIC_HTML=${HTML} getdata.css dirfile.png valid_html.png \ + valid_css.png man spf_convert.png mplex_computation.png \ + sie_compression.png push: push-stamp push-stamp: ${PUBLIC_HTML} Deleted: trunk/html/api.html =================================================================== --- trunk/html/api.html 2012-06-29 00:29:46 UTC (rev 728) +++ trunk/html/api.html 2012-06-29 20:53:13 UTC (rev 729) @@ -1,671 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" -"http://www.w3.org/TR/html4/strict.dtd"> -<HTML> - <HEAD> - <meta http-equiv="Content-Type" content="text/html;charset=utf-8" > - <LINK REL="stylesheet" HREF="getdata.css" TYPE="text/css"> - <TITLE>The API Transition</TITLE> - </HEAD> - <BODY> - <H1>The API Transition</H1> - <div class="topbar"> - <a href="index.html">home</a> | - <a href="download.html">download</a> | - <a href="getdata.html">API documentation</a> | - <a href="dirfile.html">dirfile standards</a> | - <a href="http://lists.sourceforge.net/lists/listinfo/getdata-devel">mailing list</a> | - <a href="http://sourceforge.net/projects/getdata/">sourceforge</a> - </div> - <div class="menu"> - <h2 class="menu">The API Transition</h2> - <ul> - <li><a href="api.html#introduction">Introduction</a> - <li><a href="api.html#newapi">The New API</a> - <li><a href="api.html#dirfile">The DIRFILE Object</a> - <li><a href="api.html#datatypes">Data Types</a> - <li><a href="api.html#lfs">Largefile Support</a> - <li><a href="api.html#comparison">API Comparison</a> - <li><a href="api.html#example">Translation Example</a> - </ul> - <h2 class="menu"><a href="index.html">The GetData Project</a></h2> - <ul> - <li><a href="index.html#overview">Overview</a></li> - <li><a href="index.html#download">Get GetData</a></li> - <li><a href="index.html#documentation">Documentation</a></li> - <li><a href="index.html#warranty">Warranty and Redistribution</a></li> - <li><a href="index.html#contact">Contact</a></li> - </ul> - <h2 class="menu"><a href="download.html">Get GetData</a></h2> - <ul> - <li><a href="download.html#source">Latest Release</a> - <li><a href="download.html#distros">Pre-Built Packages</a> - <li><a href="download.html#svn">Subversion</a> - <li><a href="download.html#previous">Previous Releases</a> - </ul> - <h2 class="menu"><a href="bindings.html">GetData Bindings</a></h2> - <ul> - <li><a href="bindings.html#introduction">Introduction</a></li> - <li><a href="bindings.html#fortran">Fortran Bindings</a></li> - <li><a href="bindings.html#cxx">C++ Bindings</a></li> - <li><a href="bindings.html#python">Python Bindings</a></li> - <li><a href="bindings.html#idl">IDL Bindings</a></li> - </ul> - <h2 class="menu"><a href="getdata.html">Using GetData</a></h2> - <ul> - <li><a href="getdata.html#prelim">Preliminaries</a> - <li><a href="getdata.html#building">Building GetData</a> - <li><a href="getdata.html#header">The GetData Header</a> - <li><a href="getdata.html#bindings">Language Bindings</a> - <li><a href="getdata.html#dirfile">Working with Dirfiles</a> - <li><a href="getdata.html#rmeta">Reading Metadata</a> - <li><a href="getdata.html#count">Counting Fields</a> - <li><a href="getdata.html#list">Listing Fields</a> - <li><a href="getdata.html#mmeta">Modifying Metadata</a> - <li><a href="getdata.html#add">Adding or Deleting Fields</a> - <li><a href="getdata.html#alter">Modifying Field Metadata</a> - <li><a href="getdata.html#data">Reading and Writing Data</a> - <li><a href="getdata.html#callback">The Parser Callback Function</a> - <li><a href="getdata.html#unclean">Unclean Database Recovery</a> - </ul> - <h2 class="menu"><a href="dirfile.html">The Dirfile Standards</a></h2> - <ul> - <li><a href="dirfile.html#introduction">Introduction</a> - <li><a href="dirfile.html#example">Dirfile Example</a> - <li><a href="dirfile.html#format">The Format File</a> - <ul class="submenu"> - <li><a href="dirfile.html#tokens">Tokens</a> - </ul> - <li><a href="dirfile.html#directives">Directives</a> - <li><a href="dirfile.html#fields">Field Specifications</a> - <ul class="submenu"> - <li><a href="dirfile.html#fieldname">Field Names</a> - <li><a href="dirfile.html#fieldtype">Field Types</a> - <li><a href="dirfile.html#fieldparam">Field Parameters</a> - <li><a href="dirfile.html#fieldcode">Field Codes</a> - </ul> - <li><a href="dirfile.html#versions">Standards Versions</a> - </ul> - <h2 class="menu"><a href="encoding.html">Dirfile Encodings</a></h2> - <ul> - <li><a href="encoding.html#introduction">Introduction</a> - <li><a href="encoding.html#framework">The Encoding Framework</a> - <li><a href="encoding.html#discovery">Automatic Encoding Detection</a> - <li><a href="encoding.html#schemes">Supported Encoding Schemes</a> - <ul class="submenu"> - <li><a href="encoding.html#text">Text Encoding</a> - <li><a href="encoding.html#bzip2">Bzip2 Encoding</a> - <li><a href="encoding.html#gzip">Gzip Encoding</a> - <li><a href="encoding.html#slim">Slim Encoding</a> - </ul> - </ul> - <h2 class="menu"> - <a href="http://sourceforge.net/projects/getdata/">SourceForge - Project Page</a> - </h2> - <div class="sflogo"><a href="http://sourceforge.net"><img src= - "http://sflogo.sourceforge.net/sflogo.php?group_id=229287&type=4" - width="125" height="37" alt="SourceForge.net Logo"></a></div> - </div> - <div class="main"> - <h2><a name="introduction">Introduction</a></h2> - <p>Users of older versions of GetData will notice a fairly substantial - change in the API starting with version 0.3.0 as compared with older - version. Older versions of this library (hereafter referred to as the - "legacy API") suffered from thread safety issues, and lacked LFS (large - file) support. A new API has been created to address these issues. - <p>The legacy API has been re-implemented in the library and programs that - used it should still work without modification after linking to the latest - version of GetData, with these two small provisos explained further the - <a href="#comparison">comparison</a> section below: - <ul> - <li>Internal library data can no-longer be obtained by calling - <span class="syntax">GetFormat</span>. - <li>Error codes have changed. - </ul> - Furthermore, much of the new functionality introduced from version 0.3.0 - onwards is not available in the legacy API. - <h2><a name="newapi">The New API</a></h2> - <p>The new API separates the opening of a Dirfile from reading or writing - to it. Where in the old API one would use: - <div class="syntax"> - <span class="keyword">int</span> <span class="identifier">n_read</span> - <span class="operator">=</span> <span - class="identifier">GetData</span><span class="operator">(</span><span - class="string">"dirfile"</span><span class="operator">,</span> <span - class="string">"field"</span><span class="operator">,</span> <span - class="literal">1</span><span class="operator">,</span> <span - class="literal">0</span><span class="operator">,</span> <span - class="literal">1</span><span class="operator">,</span> <span - class="literal">0</span><span class="operator">,</span> <span - class="character">'S'</span><span class="operator">,</span> <span - class="identifier">data</span><span class="operator">,</span> <span - class="operator">&</span><span - class="identifier">error_code</span><span class="operator">);</span> - </div> - the corresponding new API would have: - <div class="syntax"><span class="keyword">DIRFILE</span> <span - class="operator">*</span><span class="identifier">D</span> <span - class="operator">=</span> <span - class="identifier">gd_open</span><span - class="operator">(</span><span class="string">"dirfile"</span><span - class="operator">,</span> <span class="literal">GD_RDONLY</span><span - class="operator">);</span><br><span class="keyword">size_t</span> - <span class="identifier">n_read</span> <span class="operator">=</span> - <span class="identifier">gd_getdata</span><span - class="operator">(</span><span class="identifier">D</span><span - class="operator">,</span> <span class="string">"field"</span><span - class="operator">,</span> <span class="literal">1</span><span - class="operator">,</span> <span class="literal">0</span><span - class="operator">,</span> <span class="literal">1</span><span - class="operator">,</span> <span class="literal">0</span><span - class="operator">,</span> <span class="literal">GD_INT32</span><span - class="operator">,</span> <span class="identifier">data</span><span - class="operator">);</span> - </div> - Here, <span class="syntax identifier">D</span> is a pointer to a DIRFILE - object. This object is modelled after the FILE object of the C Library's - stdio interface. - <p>The new API is fully documented in the included man pages and in the - <a href="getdata.html">Using GetData</a> document. A translation example - from the legacy API to the new API is present as <a href="#example">at - the end of this document</a>. - - <h2><a name="dirfile">The DIRFILE Object</a></h2> - <p>In the legacy API, dirfiles were referred to by their path name. In - the new API, after the dirfile has been opened, it is referenced instead - by passing a pointer to a DIRFILE object. Further, where the legacy API - was passed an integer pointer to store the error code, this is now stored - in the DIRFILE object itself and may be accessed at any time by calling - <a href="getdata.html#gd_error"><span - class="syntax">gd_error()</span></a> As a side-effect of this change, - the error value itself, and the descriptive error string which can be - generated by the library, is now local to a particular instance of a - particular dirfile, rather than being global across the library. - <p>Once a DIRFILE object has been created by a call to <span - class="syntax identifier">gd_open</span>, all subsequent operations - on the dirfile operate on this object. Once the program is finished with - the dirfile, the object can be destroyed, and all open file handles - closed, with the call: - <div class="syntax"><span class="identifier">gd_close</span><span - class="operator">(</span><span class="identifier">D</span><span - class="operator">);</span></div> - <h2><a name="datatypes">Data Types</a></h2> - <p>Partially in order to fully support large files (>2 GB) as - defined by the LFS, a consistent data type structure is used in the new - API: - <ul> - <li>database offsets and database sizes are of type <span - class="syntax keyword">off_t</span> - <li>object sizes and counts of items read are of type <span - class="syntax keyword">size_t</span> - <li>samples-per-frame are of type <span class="syntax - keyword">gd_spf_t</span>, an unsigned 16-bit integer type - <li>data type specifiers (formerly of type <span - class="syntax keyword">char</span>) are now of type <span - class="syntax keyword">gd_type_t</span>, which is defined in - getdata.h. Any time this type is needed, one of the following - symbols, also defined in getdata.h, should be used: - <p class="inset"><span class="syntax literal">GD_NULL</span>, - <span class="syntax literal">GD_UINT8</span>, - <span class="syntax literal">GD_INT8</span>, - <span class="syntax literal">GD_UINT16</span>, - <span class="syntax literal">GD_INT16</span>, - <span class="syntax literal">GD_UINT32</span>, - <span class="syntax literal">GD_INT32</span>, - <span class="syntax literal">GD_UINT64</span>, - <span class="syntax literal">GD_INT64</span>, - <span class="syntax literal">GD_FLOAT32</span>, - <span class="syntax literal">GD_FLOAT62</span>, - <span class="syntax literal">GD_COMPLEX64</span>, - <span class="syntax literal">GD_COMPLEX128</span>, - <span class="syntax literal">GD_UNKNOWN</span>.</p> - Using a legacy API single character type specifier where this type is - needed will result in the library error <span - class="syntax literal">GD_E_BAD_TYPE</span>. - </ul> - <p>The legacy API continues to use <span class="syntax keyword">int</span> - for offsets, sizes, and counts, which prevents it from supporting large - files.</p> - <h2><a name="lfs">Largefile Support</a></h2> - <p>When built on a platform using the GNU C Library, or another compatible - C Library, the new GetData API will respect the feature test macros - <span class="syntax literal">_LARGEFILE64_SOURCE</span> and - <span class="syntax literal">_FILE_OFFSET_BITS</span> affecting largefile - (>2 GB) - support. If one or the other of these are to be used, they must be - defined before including getdata.h or any Standard C Library header file. - <p>The first of these, <span class="syntax - literal">_LARGEFILE64_SOURCE</span>, if defined before including - getdata.h, will enable the obsolete, transitional largefile extensions - defined by the LFS. This will enable explicit support for large files by - defining the 64-bit explicit type <span class="syntax - keyword">off64_t</span>, and result in GetData defining the explicitly - 64-bit interfaces <span class="syntax identifier">gd_getdata64</span>, - <span class="syntax identifier">gd_putdata64</span>, and <span - class="syntax identifier">gd_nframes64</span>. This macro is - largely obsolete, and using <span class="syntax - literal">_FILE_OFFSET_BITS</span> is preferred, if supported. - <p>The second macro, <span class="syntax - literal">_FILE_OFFSET_BITS</span>, determines the size of <span - class="syntax keyword">off_t</span>. If not defined, or defined to - <span class="syntax literal">32</span>, <span class="syntax - keyword">off_t</span> will be a 32-bit type. If, instead, this macro is - defined to <span class="syntax literal">64</span>, <span class="syntax - keyword">off_t</span> will be the largefile supporting 64-bit type, and - calls to <span class="syntax identifier">gd_getdata</span>, <span - class="syntax identifier">gd_putdata</span>, &c. will intrinsically - have largefile support. On 64-bit systems this macro has no effect, since - a 64-bit <span class="syntax keyword">off_t</span> is used all the time. - <p>If your system uses the GNU C Library, the feature_test_macros(7) man - page will provide further explanation. On systems where these macros are - unsupported, the gd_getdata64, &c. interfaces will never be defined, - and the size of <span class="syntax keyword">off_t</span> will be system - dependent. In this case, GetData will follow the default largefile - behaviour of the underlying platform. - <p>If you build GetData against a C Library that lacks largefile support, - the GetData library will not support large files either, no matter what - you do with these macros.</p> - - <h2><a name="comparison">API Comparison</a></h2> - <p>The following table lists correspondences between the legacy API and - the new API. Legacy API support in this version of GetData is a - reimplementation of that API based on the new API. As a result, one - function (<span class="syntax">GetFormat</span>) and several error codes - in the legacy API (see below) have changed slightly, but bugs fixed in - the internals of the library for the new API will apply to the legacy API - as well. Furthermore, the new API has additional functionality not - indicated here. - <table> - <caption><b>Table 1:</b> Comparison of functions.</caption> - <tr> - <th>New</th><th>Legacy</th><th>Notes</th> - </tr> - <tr> - <td class="syntax"> - <a href="getdata.html#gd_close">gd_close</a> - </td> - <td>—</td> - <td>Closes a dirfile. The legacy API contained no facility to do - this.</td> - </tr> - <tr> - <td class="syntax"> - <a href="getdata.html#gd_flush">gd_flush</a> - </td> - <td>—</td> - <td>Flushes (i.e. syncs and closes binary files associated with) a - dirfile field, or the whole dirfile. The legacy API contained no - facility to do this, however, several extended versions of GetData - did contain such facilities. TK's libdirfile/b2klib - contained: - <ul> - <li><span class="syntax">void CloseData(char *dirfilename, - char *field_name, int *error_code);</span> - <li><span class="syntax">void CloseAll(int *error_code);</span> - </ul> - which behaved similarly (the second of these flushed <em>all</em> - open dirfiles). Similarly, JF's GetData had: - <ul> - <li><span class="syntax">int GetDataClose(const char *dirfilename, - int *error_code);</span> - </ul> - The re-implementation of the legacy API contains none of these. - </td> - </tr> - <tr> - <td class="syntax"> - <a href="getdata.html#gd_open">gd_open</a> - </td> - <td>—</td> - <td>Opens or creates a dirfile. A dirfile open happened implicitly in - the legacy API, the first time it was accessed. The legacy API had - no facility to create new dirfiles.</td> - </tr> - <tr> - <td class="syntax"> - <a href="getdata.html#gd_getdata">gd_getdata</a> - </td> - <td class="syntax">GetData</td> - <td>Fetch data from a dirfile. Behaviour is the same. No facilities - exist in the legacy API to retrieve scalar fields.</td> - </tr> - <tr> - <td class="syntax" rowspan="2"> - <a href="getdata.html#gd_error_string">gd_error_string</a> - </td> - <td class="syntax">GetDataErrorString</td> - <td>Returns a descriptive error string. Behaviour is the same.</td> - </tr> - <tr> - <td class="syntax">GD_ERROR_CODES</td> - <td>In the legacy API, this was a global array of error messages. - The new API supports no such array; callers should use the - <span class="syntax">gd_error_string</span> function instead. - (This is good advice for users of the legacy API as well.) Some - error codes are specific to the new API. These error codes may not - have a corresponding entry in this array. - </td> - </tr> - <tr> - <td class="syntax"> - <a href="getdata.html#gd_entry">gd_entry</a> - </td> - <td class="syntax" rowspan="3">GetFormat</td> - <td>Returns the metadata for one field. The legacy API returned a - structure containing all the dirfile metadata. The legacy API's - re-implementation of this function still returns this structure, - but only those members corresponding to public members of the - <a href="getdata.html#gd_entry"><span - class="syntax">gd_entry_t</span> object</a> will be properly - initialised. Furthermore, RAW data types INT8, UINT64, INT64, - COMPLEX64, and COMPLEX128 cannot be represented by the legacy API. - The legacy API will incorrectly report fields of these types to have - the NULL (<span class="syntax character">'n'</span>) type. - Furthermore, since the legacy API does not support <b>POLYNOM</b>, - <b>SBIT</b>, <b>DIVIDE</b>, and <b>RECIP</b> fields, these are - listed in the legacy API's structure as <b>LINCOM</b>, <b>BIT</b>, - <b>MULTIPLY</b>, and <b>LINCOM</b> fields, respectively. Scalar - fields are completely ignored by the legacy API. - </tr> - <tr> - <td class="syntax"> - <a href="getdata.html#gd_field_list">gd_field_list</a> - </td> - <td>List the fields in a dirfile. The structure returned by the - legacy API contained lists of the fields in the dirfile, - broken up by field type. - </tr> - <tr> - <td class="syntax"> - <a href="getdata.html#gd_nfields">gd_nfields</a> - </td> - <td>Report the number of fields in a dirfile. The legacy API had no - corresponding function, but the caller could calculate this from - the data obtained from <span class="syntax">GetFormat</span>.</td> - </tr> - <tr> - <td class="syntax"> - <a href="getdata.html#gd_nframes">gd_nframes</a> - </td> - <td class="syntax">GetNFrames</td> - <td>Report the size of a dirfile. Behaviour is the same.</td> - </tr> - <tr> - <td class="syntax"> - <a href="getdata.html#gd_spf">gd_spf</a> - </td> - <td class="syntax">GetSamplesPerFrame</td> - <td>Report the sample rate of a dirfile field. Behaviour is the - same.</td> - </tr> - <tr> - <td class="syntax"> - <a href="getdata.html#gd_putdata">gd_putdata</a> - </td> - <td class="syntax">PutData</td> - <td>Store data to a dirfile. Behaviour is the same. No facilities - exist in the legacy API to modify scalar fields.</td> - </tr> - </table> - <p>The following table lists changes made to error codes from the legacy - API to the current implementation. The re-implementation of the legacy - API uses the new error codes. Other than - <span class="syntax">GD_E_OK</span>, callers should not expect error - codes to evaluate to the same literal value as previous GetData - releases. Error codes returned only by the new API are not listed here. - <table> - <caption><b>Table 2:</b> Comparison of error codes.</caption> - <tr> - <th>New</th><th>Legacy</th><th>Notes</th> - </tr> - <tr> - <td class="syntax span" colspan="2">GD_E_OK</td><td>Unchanged. This - is guaranteed to evaluate to zero.</td> - </tr> - <tr class="changed"> - <td class="syntax">GD_E_OPEN</td> - <td class="syntax">GD_E_OPEN_FORMAT</td><td>Renamed.</td> - </tr> - <tr> - <td class="syntax span" colspan="2">GD_E_FORMAT</td> - <td>Unchanged.</td> - </tr> - <tr class="changed"> - <td class="syntax" rowspan="2">GD_E_BAD_CODE</td> - <td class="syntax">GD_E_BAD_CODE</td> - <td rowspan="2">Combined.</td> - </tr> - <tr class="changed"> - <td class="syntax">PD_E_BAD_CODE</td> - </tr> - <tr class="changed"> - <td class="syntax">GD_E_BAD_TYPE</td> - <td class="syntax">GD_E_BAD_RETURN_TYPE</td><td>Renamed.</td> - </tr> - <tr class="changed"> - <td class="syntax" rowspan="2">GD_E_RAW_IO</td> - <td class="syntax">GD_E_OPEN_RAWFIELD</td> - <td rowspan="2">Combined and renamed.</td> - </tr> - <tr class="changed"> - <td class="syntax">PD_E_OPEN_RAWFIELD</td> - </tr> - <tr class="changed"> - <td class="syntax">GD_E_OPEN_FRAGMENT</td> - <td class="syntax">GD_E_OPEN_INCLUDE</td><td>Renamed. Old name - remains as an alias.</td> - </tr> - <tr> - <td class="syntax span" colspan="2">GD_E_INTERNAL_ERROR</td> - <td rowspan="2">Unchanged.</td> - </tr> - <tr> - <td class="syntax span" colspan="2">GD_E_ALLOC</td> - </tr> - <tr class="new"> - <td class="syntax">GD_E_RANGE</td><td>—</td><td>New.</td> - </tr> - <tr> - <td class="syntax span" colspan="2">GD_E_OPEN_LINFILE</td> - <td rowspan="2">Unchanged.</td> - </tr> - <tr> - <td class="syntax span" colspan="2">GD_E_RECURSE_LEVEL</td> - </tr> - <tr class="new"> - <td class="syntax">GD_E_BAD_DIRFILE</td><td>—</td> - <td>New.</td> - </tr> - <tr class="changed"> - <td class="syntax">GD_E_BAD_FIELD_TYPE</td> - <td class="syntax">PD_E_MULT_LINCOM</td><td>Renamed.</td> - </tr> - <tr class="new"> - <td class="syntax">GD_E_ACCMODE</td> - <td rowspan="9">—</td> - <td rowspan="9">New.</td> - </tr> - <tr class="new"> - <td class="syntax">GD_E_UNSUPPORTED</td> - </tr> - <tr class="new"> - <td class="syntax">GD_E_UNKNOWN_ENCODING</td> - </tr> - <tr class="new"> - <td class="syntax">GD_E_DIMENSION</td> - </tr> - <tr class="new"> - <td class="syntax">GD_E_BAD_SCALAR</td> - </tr> - <tr class="new"> - <td class="syntax">GD_E_BAD_REFERENCE</td> - </tr> - <tr class="new"> - <td class="syntax">GD_E_PROTECTED</td> - </tr> - <tr class="new"> - <td class="syntax">GD_E_DOMAIN</td> - </tr> - <tr class="new"> - <td class="syntax">GD_E_BAD_REPR</td> - </tr> - <tr class="removed"> - <td rowspan="5">—</td><td class="syntax">GD_E_FIELD</td> - <td rowspan="5">Removed. (No longer applicable.)</td> - </tr> - <tr class="removed"> - <td class="syntax">GD_E_NO_RAW_FIELDS</td> - </tr> - <tr class="removed"> - <td class="syntax">GD_E_SIZE_MISMATCH</td> - </tr> - <tr class="removed"> - <td class="syntax">ENDIAN_ERROR</td> - </tr> - <tr class="removed"> - <td class="syntax">CLOSE_ERROR</td> - </tr> - <tr class="removed"> - <td rowspan="3">—</td> - <td class="syntax">PD_E_CLOSE_RDONLY</td> - <td rowspan="3">Removed. (Never used.)</td> - </tr> - <tr class="removed"> - <td class="syntax">PD_E_WRITE_LOCK</td> - </tr> - <tr class="removed"> - <td class="syntax">PD_E_FLOCK_ALLOC</td> - </tr> - </table> - - <h2><a name="example">API Translation Example</a></h2> - <p>The following example programs demonstrate how to convert from - the legacy to the new API. Since GetData still implements the legacy API, - both these programs will run and produce identical results.</p> - <table class="example"> - <tr> - <td class="example"> - <span class="comment">/* Legacy API */</span><span class="spacer"> </span><br> - <span class="preprocessor">#include <getdata.h></span><br> - <span class="preprocessor">#include <stdlib.h></span><br> - <span class="preprocessor">#include <stdio.h></span><br> - <br> - <span class="keyword">int</span> <span class="identifier">main</span><span class="operator">(</span><span class="keyword">void</span><span class="operator">)</span><br> - <span class="operator">{</span><br><div class="indent"> - <span class="comment">/* dirfile name */</span><br> - <span class="keyword">const char</span> <span class="operator">*</span><span class="identifier">dirfile_name</span> <span class="operator">=</span> <span class="string">"/var/dirfile"</span><span class="operator">;</span><br> - <span class="comment">/* field code */</span><br> - <span class="keyword">const char</span> <span class="operator">*</span><span class="identifier">field_name</span> <span class="operator">=</span> <span class="string">"datafield"</span><span class="operator">;</span><br> - <span class="keyword">char</span> <span class="identifier">error_buffer</span><span class="operator">[</span><span class="literal">1024</span><span class="operator">];</span><br> - <span class="keyword">int</span> <span class="identifier">error_code</span><span class="operator">;</span> <span class="comment">/* not needed in the new API */</span><br> - <span class="keyword">int</span> <span class="identifier">first_frame</span> <span class="operator">=</span> <span class="literal">1000</span>;<br> - <br> - <span class="spacer"> <br> <!-- /* Open the dirfile */ --> - <br> <!-- DIRFILE *dirfile = gd_open(dirfile_name, GD_RDONLY); --> - </span><br><div class="indent"> <!-- if (gd_error(dirfile)) { --> - <span class="spacer"> <br> <!-- /* gd_open() returns a pointer to a newly allocated DIRFILE object even if the open failed. This DIRFILE object should still be freed by calling gd_close() after checking the error state */ --> - <br> <!-- printf("GetData error: %s\n", gd_error_string(dirfile, error_buffer, 1024)); --> - <br> <!-- gd_close(dirfile); --> - </span><br> <!-- exit(1); --> - </div><span class="spacer"> </span><br> <!-- } --> - <br> - <span class="comment">/* Get size of the database -- third argument is ignored */</span><br> - <span class="keyword">int</span> <span class="identifier">nf</span> <span class="operator">=</span> <span class="identifier">GetNFrames</span><span class="operator">(</span><span class="identifier">dirfile_name</span><span class="operator">, &</span><span class="identifier">error_code</span><span class="operator">,</span> <span class="literal">NULL</span><span class="operator">);</span><br> - <span class="keyword">if</span> <span class="operator">(</span><span class="identifier">error_code</span><span class="operator">) {</span><span class="spacer"> </span><br><div class="indent"> - <span class="identifier">printf</span><span class="operator">(</span><span class="string">"GetData error: %s\n"</span><span class="operator">,</span> <span class="identifier">GetDataErrorString</span><span class="operator">(</span><span class="identifier">error_buffer</span><span class="operator">,</span> <span class="literal">1024</span><span class="operator">));</span><span class="spacer"> </span><br> - <span class="identifier">exit</span><span class="operator">(</span><span class="literal">1</span><span class="operator">);</span><br> - </div><span class="operator">}</span><br> - <br> - <span class="comment">/* Get samples-per-frame */</span><br> - <span class="keyword">int</span> <span class="identifier">spf</span> <span class="operator">=</span> <span class="identifier">GetSamplesPerFrame</span><span class="operator">(</span><span class="identifier">dirfile_name</span><span class="operator">,</span> <span class="identifier">field_name</span><span class="operator">, &</span><span class="identifier">error_code</span><span class="operator">);</span><br> - <span class="keyword">if</span> <span class="operator">(</span><span class="identifier">error_code</span><span class="operator">) {</span><span class="spacer"> </span><br><div class="indent"> - <span class="identifier">printf</span><span class="operator">(</span><span class="string">"GetData error: %s\n"</span><span class="operator">,</span> <span class="identifier">GetDataErrorString</span><span class="operator">(</span><span class="identifier">error_buffer</span><span class="operator">,</span> <span class="literal">1024</span><span class="operator">));</span><span class="spacer"> </span><br> - <span class="identifier">exit</span><span class="operator">(</span><span class="literal">1</span><span class="operator">);</span><br> - </div><span class="operator">}</span><br> - <br> - <span class="comment">/* Allocate a buffer */</span><br> - <span class="keyword">double</span> <span class="operator">*</span><span class="identifier">data_buffer</span> <span class="operator">=</span> <span class="identifier">malloc</span><span class="operator">(</span><span class="keyword">sizeof</span><span class="operator">(</span><span class="keyword">double</span><span class="operator">) *</span> <span class="identifier">spf</span> <span class="operator">* (</span><span class="identifier">nf</span> <span class="operator">-</span> <span class="identifier">first_frame</span><span class="operator">));</span><br> - <br> - <span class="comment">/* Retrieve all but the first 1000 frames */</span><span class="spacer"> </span><br> - <span class="keyword">int</span> <span class="identifier">n_read</span> <span class="operator">=</span> <span class="identifier">GetData</span><span class="operator">(</span><span class="identifier">dirfile_name</span><span class="operator">,</span> <span class="identifier">field_name</span><span class="operator">,</span> <span class="identifier">first_frame</span><span class="operator">,</span> <span class="literal">0</span><span class="operator">,</span> <span class="identifier">nf</span> <span class="operator">-</span> <span class="identifier">first_frame</span><span class="operator">,</span> <span class="literal">0</span><span class="operator">,</span> <span class="character">'d'</span><span class="operator">,</span> <span class="identifier">data_buffer</span><span class="operator">, &</span><span class="identifier">error_code</span><span class="operator">);</span><br> - <span class="keyword">if</span> <span class="operator">(</span><span class="identifier">error_code</span><span class="operator">) {</span><span class="spacer"> </span><br><div class="indent"> - <span class="identifier">printf</span><span class="operator">(</span><span class="string">"GetData error: %s\n"</span><span class="operator">,</span> <span class="identifier">GetDataErrorString</span><span class="operator">(</span><span class="identifier">error_buffer</span><span class="operator">,</span> <span class="literal">1024</span><span class="operator">));</span><span class="spacer"> </span><br> - <span class="identifier">exit</span><span class="operator">(</span><span class="literal">1</span><span class="operator">);</span><br> - </div><span class="operator">}</span><br> - <br> - <span class="comment">/* Clean up */</span><br> - <span class="identifier">free</span><span class="operator">(</span><span class="identifier">data_buffer</span><span class="operator">);</span><br> - <span class="spacer"> </span><br> - <br> - <span class="keyword">return</span> <span class="literal">0</span><span class="operator">;</span><br> - </div><span class="operator">}</span> - </td><td class="example"> - <span class="comment">/* New API -- same header file */</span><br> - <span class="preprocessor">#include <getdata.h></span><br> - <span class="preprocessor">#include <stdlib.h></span><br> - <span class="preprocessor">#include <stdio.h></span><br> - <br> - <span class="keyword">int</span> <span class="identifier">main</span><span class="operator">(</span><span class="keyword">void</span><span class="operator">)</span><br> - <span class="operator">{</span><br><div class="indent"> - <span class="comment">/* dirfile name */</span><br> - <span class="keyword">const char</span> <span class="operator">*</span><span class="identifier">dirfile_name</span> <span class="operator">=</span> <span class="string">"/var/dirfile"</span><span class="operator">;</span><br> - <span class="comment">/* field code */</span><br> - <span class="keyword">const char</span> <span class="operator">*</span><span class="identifier">field_name</span> <span class="operator">=</span> <span class="string">"datafield"</span><span class="operator">;</span><br> - <span class="keyword">char</span> <span class="identifier">error_buffer</span><span class="operator">[</span><span class="literal">1024</span><span class="operator">];</span><br> - <span class="comment">/* off_t is for dirfile offsets and lengths */</span><br> - <span class="keyword">off_t</span> <span class="identifier">first_frame</span> <span class="operator">=</span> <span class="literal">1000</span>;<br> - <br> - <span class="comment">/* Open the dirfile */</span><br> - <span class="keyword">DIRFILE</span> <span class="operator">*</span><span class="identifier">dirfile</span> <span class="operator">=</span> <span class="identifier">gd_open</span><span class="operator">(</span><span class="identifier">dirfile_name</span><span class="operator">,</span> <span class="literal">GD_RDONLY</span><span class="operator">);</span><br> - <span class="keyword">if</span> <span class="operator">(</span><span class="identifier">gd_error</span><span class="operator">(</span><span class="identifier">dirfile</span><span class="operator">)) {</span><br><div class="indent"> - <span class="comment">/* gd_open() returns a pointer to a newly allocated DIRFILE object even if the open failed. This DIRFILE object should still be freed by calling gd_close() after checking the error state */</span><br> - <span class="identifier">printf</span><span class="operator">(</span><span class="string">"GetData error: %s\n"</span><span class="operator">,</span> <span class="identifier">gd_error_string</span><span class="operator">(</span><span class="identifier">dirfile</span><span class="operator">,</span> <span class="identifier">error_buffer</span><span class="operator">,</span> <span class="literal">1024</span><span class="operator">));</span><br> - <span class="identifier">gd_close</span><span class="operator">(</span><span class="identifier">dirfile</span><span class="operator">);</span><br> - <span class="identifier">exit</span><span class="operator">(</span><span class="literal">1</span><span class="operator">);</span><br> - </div><span class="operator">}</span><br> - <br> - <span class="comment">/* Get size of the database */</span><span class="spacer"> </span><br> - <span class="keyword">off_t</span> <span class="identifier">nf</span> <span class="operator">=</span> <span class="identifier">gd_nframes</span><span class="operator">(</span><span class="identifier">dirfile</span><span class="operator">);</span> <span class="comment">/* again off_t */</span><span class="spacer"> </span><br> - <span class="keyword">if</span> <span class="operator">(</span><span class="identifier">gd_error</span><span class="operator">(</span><span class="identifier">dirfile</span><span class="operator">)) {</span><br><div class="indent"> - <span class="identifier">printf</span><span class="operator">(</span><span class="string">"GetData error: %s\n"</span><span class="operator">,</span> <span class="identifier">gd_error_string</span><span class="operator">(</span><span class="identifier">dirfile</span><span class="operator">,</span> <span class="identifier">error_buffer</span><span class="operator">,</span> <span class="literal">1024</span><span class="operator">));</span><br> - <span class="identifier">exit</span><span class="operator">(</span><span class="literal">1</span><span class="operator">);</span><br> - </div><span class="operator">}</span><br> - <br> - <span class="comment">/* Get samples-per-frame */</span><br> - <span class="keyword">unsigned int</span> <span class="identifier">spf</span> <span class="operator">=</span> <span class="identifier">gd_spf</span><span class="operator">(</span><span class="identifier">dirfile</span><span class="operator">,</span> <span class="identifier">field_name</span><span class="operator">);</span><span class="spacer"> </span><br> - <span class="keyword">if</span> <span class="operator">(</span><span class="identifier">gd_error</span><span class="operator">(</span><span class="identifier">dirfile</span><span class="operator">)) {</span><br><div class="indent"> - <span class="identifier">printf</span><span class="operator">(</span><span class="string">"GetData error: %s\n"</span><span class="operator">,</span> <span class="identifier">gd_error_string</span><span class="operator">(</span><span class="identifier">dirfile</span><span class="operator">,</span> <span class="identifier">error_buffer</span><span class="operator">,</span> <span class="literal">1024</span><span class="operator">));</span><br> - <span class="identifier">exit</span><span class="operator">(</span><span class="literal">1</span><span class="operator">);</span><br> - </div><span class="operator">}</span><br> - <br> - <span class="comment">/* Allocate a buffer */</span><br> - <span class="keyword">double</span> <span class="operator">*</span><span class="identifier">data_buffer</span> <span class="operator">=</span> <span class="identifier">malloc</span><span class="operator">(</span><span class="keyword">sizeof</span><span class="operator">(</span><span class="keyword">double</span><span class="operator">) *</span> <span class="identifier">spf</span> <span class="operator">* (</span><span class="identifier">nf</span> <span class="operator">-</span> <span class="identifier">first_frame</span><span class="operator">));</span><br> - <br> - <span class="comment">/* Retrieve all but the first 1000 frames -- size_t is for counts of objects read */</span><br> - <span class="keyword">size_t</span> <span class="identifier">n_read</span> <span class="operator">=</span> <span class="identifier">gd_getdata</span><span class="operator">(</span><span class="identifier">dirfile</span><span class="operator">,</span> <span class="identifier">field_name</span><span class="operator">,</span> <span class="identifier">first_frame</span><span class="operator">,</span> <span class="literal">0</span><span class="operator">,</span> <span class="identifier">nf</span> <span class="operator">-</span> <span class="identifier">first_frame</span><span class="operator">,</span> <span class="literal">0</span><span class="operator">,</span> <span class="literal">GD_FLOAT64</span><span class="operator">,</span> <span class="identifier">data_buffer</span><span class="operator">);</span><span class="spacer"> </span><br> - <span class="keyword">if</span> <span class="operator">(</span><span class="identifier">gd_error</span><span class="operator">(</span><span class="identifier">dirfile</span><span class="operator">)) {</span><br><div class="indent"> - <span class="identifier">printf</span><span class="operator">(</span><span class="string">"GetData error: %s\n"</span><span class="operator">,</span> <span class="identifier">gd_error_string</span><span class="operator">(</span><span class="identifier">dirfile</span><span class="operator">,</span> <span class="identifier">error_buffer</span><span class="operator">,</span> <span class="literal">1024</span><span class="operator">));</span><br> - <span class="identifier">exit</span><span class="operator">(</span><span class="literal">1</span><span class="operator">);</span><br> - </div><span class="operator">}</span><br> - <br> - <span class="comment">/* Clean up */</span><br> - <span class="identifier">free</span><span class="operator">(</span><span class="identifier">data_buffer</span><span class="operator">);</span><br> - <span class="identifier">gd_close</span><span class="operator">(</span><span class="identifier">dirfile</span><span class="operator">);</span><br> - <br> - <span class="keyword">return</span> <span class="literal">0</span><span class="operator">;</span><br> - </div> - <span class="operator">}</span> - </td> - </tr> - </table> - <div class="foot"><div class="copy">© 2008, 2010 D. V. Wiebe</div> - <div class="w3c"> - <a href="http://validator.w3.org/check?uri=referer"><img - src="valid_html.png" alt="Valid HTML 4.01 Strict" height="21" - width="60"></a><a href="http://jigsaw.w3.org/css-validator/check/referer"><img - src="valid_css.png" alt="Valid CSS" height="21" width="60"></a> - </div> - </div> - </div> - </BODY> -</HTML> Copied: trunk/html/api.html.in (from rev 721, trunk/html/api.html) =================================================================== --- trunk/html/api.html.in (rev 0) +++ trunk/html/api.html.in 2012-06-29 20:53:13 UTC (rev 729) @@ -0,0 +1,583 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" +"http://www.w3.org/TR/html4/strict.dtd"> +<HTML> + <HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=utf-8" > + <LINK REL="stylesheet" HREF="getdata.css" TYPE="text/css"> + <TITLE>The API Transition</TITLE> + </HEAD> + <BODY> + <H1>The API Transition</H1> + <div class="topbar"> + <a href="index.html">home</a> | + <a href="download.html">download</a> | + <a href="getdata.html">API documentation</a> | + <a href="dirfile.html">dirfile standards</a> | + <a href="http://lists.sourceforge.net/lists/listinfo/getdata-devel">mailing list</a> | + <a href="http://sourceforge.net/projects/getdata/">sourceforge</a> + </div> + @MENU@ + <div class="main"> + <h2><a name="introduction">Introduction</a></h2> + <p>Users of GetData before the release of version 0.3 (August 2008) will + notice a fairly substantial change in the API starting with version 0.3.0 + as compared with older version. Older versions of this library (hereafter + referred to as the "legacy API") suffered from thread safety issues, and + lacked LFS (large file) support. A new API has been created to address + these issues. + <p>The legacy API has been re-implemented in the library and programs that + used it should still work without modification after linking to the latest + version of GetData, with these two small provisos explained further the + <a href="#comparison">comparison</a> section below: + <ul> + <li>Internal library data can no-longer be obtained by calling + <span class="syntax">GetFormat</span>. + <li>Error codes have changed. + </ul> + Furthermore, much of the new functionality introduced from version 0.3.0 + onwards is not available in the legacy API. + <h2><a name="newapi">The New API</a></h2> + <p>The new API separates the opening of a Dirfile from reading or writing + to it. Where in the old API one would use: + <div class="syntax"> + <span class="keyword">int</span> <span class="identifier">n_read</span> + <span class="operator">=</span> <span + class="identifier">GetData</span><span class="operator">(</span><span + class="string">"dirfile"</span><span class="operator">,</span> <span + class="string">"field"</span><span class="operator">,</span> <span + class="literal">1</span><span class="operator">,</span> <span + class="literal">0</span><span class="operator">,</span> <span + class="literal">1</span><span class="operator">,</span> <span + class="literal">0</span><span class="operator">,</span> <span + class="character">'S'</span><span class="operator">,</span> <span + class="identifier">data</span><span class="operator">,</span> <span + class="operator">&</span><span + class="identifier">error_code</span><span class="operator">);</span> + </div> + the corresponding new API would have: + <div class="syntax"><span class="keyword">DIRFILE</span> <span + class="operator">*</span><span class="identifier">D</span> <span + class="operator">=</span> <span + class="identifier">gd_open</span><span + class="operator">(</span><span class="string">"dirfile"</span><span + class="operator">,</span> <span class="literal">GD_RDONLY</span><span + class="operator">);</span><br><span class="keyword">size_t</span> + <span class="identifier">n_read</span> <span class="operator">=</span> + <span class="identifier">gd_getdata</span><span + class="operator">(</span><span class="identifier">D</span><span + class="operator">,</span> <span class="string">"field"</span><span + class="operator">,</span> <span class="literal">1</span><span + class="operator">,</span> <span class="literal">0</span><span + class="operator">,</span> <span class="literal">1</span><span + class="operator">,</span> <span class="literal">0</span><span + class="operator">,</span> <span class="literal">GD_INT32</span><span + class="operator">,</span> <span class="identifier">data</span><span + class="operator">);</span> + </div> + Here, <span class="syntax identifier">D</span> is a pointer to a DIRFILE + object. This object is modelled after the FILE object of the C Library's + stdio interface. + <p>The new API is fully documented in the included man pages and in the + <a href="getdata.html">Using GetData</a> document. A translation example + from the legacy API to the new API is present as <a href="#example">at + the end of this document</a>. + + <h2><a name="dirfile">The DIRFILE Object</a></h2> + <p>In the legacy API, dirfiles were referred to by their path name. In + the new API, after the dirfile has been opened, it is referenced instead + by passing a pointer to a DIRFILE object. Further, where the legacy API + was passed an integer pointer to store the error code, this is now stored + in the DIRFILE object itself and may be accessed at any time by calling + <a href="getdata.html#gd_error"><span + class="syntax">gd_error()</span></a> As a side-effect of this change, + the error value itself, and the descriptive error string which can be + generated by the library, is now local to a particular instance of a + particular dirfile, rather than being global across the library. + <p>Once a DIRFILE object has been created by a call to <span + class="syntax identifier">gd_open</span>, all subsequent operations + on the dirfile operate on this object. Once the program is finished with + the dirfile, the object can be destroyed, and all open file handles + closed, with the call: + <div class="syntax"><span class="identifier">gd_close</span><span + class="operator">(</span><span class="identifier">D</span><span + class="operator">);</span></div> + <h2><a name="datatypes">Data Types</a></h2> + <p>Partially in order to fully support large files (>2 GB) as + defined by the LFS, a consistent data type structure is used in the new + API: + <ul> + <li>database offsets and database sizes are of type <span + class="syntax keyword">off_t</span> + <li>object sizes and counts of items read are of type <span + class="syntax keyword">size_t</span> + <li>samples-per-frame are of type <span class="syntax + keyword">gd_spf_t</span>, an unsigned 16-bit integer type + <li>data type specifiers (formerly of type <span + class="syntax keyword">char</span>) are now of type <span + class="syntax keyword">gd_typ... [truncated message content] |
From: <ket...@us...> - 2012-06-29 00:29:53
|
Revision: 728 http://getdata.svn.sourceforge.net/getdata/?rev=728&view=rev Author: ketiltrout Date: 2012-06-29 00:29:46 +0000 (Fri, 29 Jun 2012) Log Message: ----------- Merge GD_E_BAD_VERSION into GD_E_ARGUMENT. Doc updates. Modified Paths: -------------- trunk/getdata/ChangeLog trunk/getdata/NEWS trunk/getdata/bindings/cxx/test/big_test.cpp trunk/getdata/bindings/f77/test/big_test.f trunk/getdata/bindings/f77/test/big_test95.f90 trunk/getdata/bindings/idl/test/big_test.pro trunk/getdata/bindings/make_parameters.c trunk/getdata/bindings/perl/test/big_test.t trunk/getdata/bindings/python/pygetdata.c trunk/getdata/bindings/python/test/big_test.py trunk/getdata/doc/README.cxx trunk/getdata/doc/README.f77 trunk/getdata/doc/README.idl trunk/getdata/man/Makefile.am trunk/getdata/man/gd_dirfile_standards.3 trunk/getdata/man/gd_entry_list.3 trunk/getdata/man/gd_nentries.3 trunk/getdata/src/errors.c trunk/getdata/src/flush.c trunk/getdata/src/getdata.h.in trunk/getdata/src/internal.h trunk/getdata/src/legacy.c Added Paths: ----------- trunk/getdata/man/gd_strtok.3 Modified: trunk/getdata/ChangeLog =================================================================== --- trunk/getdata/ChangeLog 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/ChangeLog 2012-06-29 00:29:46 UTC (rev 728) @@ -1,3 +1,7 @@ +2012-06-29 D. V. Wiebe <ge...@ke...> svn:728 + * src/getdata.h.in src/internal.h src/errors.c: Merge GD_E_BAD_VERSION into + GD_E_ARGUMENT. + 2012-06-28 D. V. Wiebe <ge...@ke...> svn:725,726 * util/checkdirfile.c: Find and report dangling aliases. Modified: trunk/getdata/NEWS =================================================================== --- trunk/getdata/NEWS 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/NEWS 2012-06-29 00:29:46 UTC (rev 728) @@ -227,13 +227,14 @@ * A prefix to the automatic error messages printed by GetData when using the GD_VERBOSE flag may be specified with gd_verbose_prefix(). - * When requesting the exclusive creation of a new dirfile with (O_CREAT | - O_EXCL) GetData will now return the new error GD_E_EXISTS if the dirfile + * When requesting the exclusive creation of a new dirfile with (GD_CREAT | + GD_EXCL) GetData will now return the new error GD_E_EXISTS if the dirfile already exists. Previously it would return GD_E_CREAT in this situation. - * The error codes GD_E_BAD_ENDIANNESS and GD_E_BAD_PROTECTION have been - combined into a more generic error code: GD_E_ARGUMENT. The old symbols are - retained for backwards compatibility. + * The error codes GD_E_BAD_ENDIANNESS, GD_E_BAD_PROTECTION, and + GD_E_BAD_VERSION have been combined into a more generic error code: + GD_E_ARGUMENT. The old symbols are retained for backwards compatibility but + have been marked deprecated. * C89 API: Passing NULL to gd_alter_crecip() for cdividend is now treated as if it were passed zero (ie. it indicates no change for cdividend). Modified: trunk/getdata/bindings/cxx/test/big_test.cpp =================================================================== --- trunk/getdata/bindings/cxx/test/big_test.cpp 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/bindings/cxx/test/big_test.cpp 2012-06-29 00:29:46 UTC (rev 728) @@ -1265,7 +1265,7 @@ CHECK_OK2(157,1); CHECK_INT(157,n,9); d->Standards(0); - CHECK_ERROR2(157,2,GD_E_BAD_VERSION); + CHECK_ERROR2(157,2,GD_E_ARGUMENT); // 158 gd_get_carray n = d->GetCarray("carray", Float64, p); Modified: trunk/getdata/bindings/f77/test/big_test.f =================================================================== --- trunk/getdata/bindings/f77/test/big_test.f 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/bindings/f77/test/big_test.f 2012-06-29 00:29:46 UTC (rev 728) @@ -1608,7 +1608,7 @@ n = 0 CALL GDSTDV(n, d) - CALL CHKER2(ne, 157, 2, d, GD_EVR) + CALL CHKER2(ne, 157, 2, d, GD_EAR) C 158: GDGTCA check CALL GDGTCA(d, 'carray', 6, GD_F64, p) Modified: trunk/getdata/bindings/f77/test/big_test95.f90 =================================================================== --- trunk/getdata/bindings/f77/test/big_test95.f90 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/bindings/f77/test/big_test95.f90 2012-06-29 00:29:46 UTC (rev 728) @@ -1751,7 +1751,7 @@ call check_int(ne, 157, n, 9) n = fgd_dirfile_standards(d, 0) - call check_err2(ne, 157, 2, d, GD_E_BAD_VERSION) + call check_err2(ne, 157, 2, d, GD_E_ARGUMENT) ! 158: gd_get_carray_slice (INT8) call fgd_get_carray_i1(d, "carray", 0, 0, ci1) Modified: trunk/getdata/bindings/idl/test/big_test.pro =================================================================== --- trunk/getdata/bindings/idl/test/big_test.pro 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/bindings/idl/test/big_test.pro 2012-06-29 00:29:46 UTC (rev 728) @@ -1026,7 +1026,7 @@ nume += check_ok2(157, 1, d) nume += check_simple(157, n, 9) n = gd_dirfile_standards(d, 0) -nume += check_error2(157, 2, d, !GD.E_BAD_VERSION) +nume += check_error2(157, 2, d, !GD.E_ARGUMENT) ; 158: gd_get_carray n = gd_get_carray(d, "carray", type=!GD.FLOAT32) Modified: trunk/getdata/bindings/make_parameters.c =================================================================== --- trunk/getdata/bindings/make_parameters.c 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/bindings/make_parameters.c 2012-06-29 00:29:46 UTC (rev 728) @@ -89,7 +89,6 @@ CONSTANT(E_UNCLEAN_DB, "GD_UCL", 0), CONSTANT(E_DOMAIN, "GD_EDO", 0), CONSTANT(E_BAD_REPR, "GD_ERP", 0), - CONSTANT(E_BAD_VERSION, "GD_EVR", 0), CONSTANT(E_FLUSH, "GD_EFL", 0), CONSTANT(E_BOUNDS, "GD_EBO", 0), CONSTANT(E_LINE_TOO_LONG, "GD_ETL", 0), @@ -97,6 +96,7 @@ CONSTANT(E_OPEN_INCLUDE, "GD_EOI", 0), /* deprecated */ CONSTANT(E_BAD_ENDIANNESS, "GD_EEN", 0), /* deprecated */ CONSTANT(E_BAD_PROTECTION, "GD_EBP", 0), /* deprecated */ + CONSTANT(E_BAD_VERSION, "GD_EVR", 0), /* deprecated */ CONSTANT(RDONLY, "GD_RO", 1), CONSTANT(RDWR, "GD_RW", 1), Modified: trunk/getdata/bindings/perl/test/big_test.t =================================================================== --- trunk/getdata/bindings/perl/test/big_test.t 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/bindings/perl/test/big_test.t 2012-06-29 00:29:46 UTC (rev 728) @@ -1328,7 +1328,7 @@ CheckNum2(157, 2, $s, $GetData::DIRFILE_STANDARDS_VERSION); $s = $_->dirfile_standards(0); -CheckError2(157, 3, $GetData::E_BAD_VERSION); +CheckError2(157, 3, $GetData::E_ARGUMENT); CheckNum2(157, 4, $s, undef); # 158: get_carray Modified: trunk/getdata/bindings/python/pygetdata.c =================================================================== --- trunk/getdata/bindings/python/pygetdata.c 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/bindings/python/pygetdata.c 2012-06-29 00:29:46 UTC (rev 728) @@ -49,13 +49,13 @@ "BadReference", "Protected", "Deletion", - "BadArgument", + "Argument", "Callback", "Exists", "UncleanDatabase", "Domain", "BadRepr", - "BadVersion", + NULL, "Flush", "Bounds", "LineTooLong" Modified: trunk/getdata/bindings/python/test/big_test.py =================================================================== --- trunk/getdata/bindings/python/test/big_test.py 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/bindings/python/test/big_test.py 2012-06-29 00:29:46 UTC (rev 728) @@ -1325,7 +1325,7 @@ try: d.standards = 0 except: - CheckException2(157,2,pygetdata.BadVersionError) + CheckException2(157,2,pygetdata.ArgumentError) # 158: gd_get_carray try: Modified: trunk/getdata/doc/README.cxx =================================================================== --- trunk/getdata/doc/README.cxx 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/doc/README.cxx 2012-06-29 00:29:46 UTC (rev 728) @@ -218,8 +218,8 @@ * const void *Dirfile::Constants(GetData::DataType type = Float64) * int Dirfile::Delete(const char *field_code, int flags = 0) * int Dirfile::DeleteAlias(const char* field_code, int flags = 0) -* const char **Dirfile::EntryList(const char *parent = NULL, - unsigned int type = 0, unsigned int flags = 0) +* const char **Dirfile::EntryList(const char *parent = NULL, int type = 0, + unsigned int flags = 0) * const char **Dirfile::FieldList() * const char **Dirfile::FieldListByType(GetData::EntryType type) * unsigned long Dirfile::Flags(unsigned long set = 0, unsigned long reset = 0) @@ -256,8 +256,8 @@ * const char **Dirfile::MVectorList(const char *parent) * int Dirfile::NAliases(const char* field_code) * DataType Dirfile::NativeType(const char *field_code) -* unsigned int Dirfile::NEntries(const char *parent = NULL, - unsigned int type = 0, unsigned int flags = 0) +* unsigned int Dirfile::NEntries(const char *parent = NULL, int type = 0, + unsigned int flags = 0) * unsigned int Dirfile::NFields() * unsigned int Dirfile::NFieldsByType(GetData::EntryType type) * off_t Dirfile::NFrames() Modified: trunk/getdata/doc/README.f77 =================================================================== --- trunk/getdata/doc/README.f77 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/doc/README.f77 2012-06-29 00:29:46 UTC (rev 728) @@ -1998,7 +1998,7 @@ GD_ETL GD_E_LINE_TOO_LONG GD_ETR GD_E_TRUNC GD_EUE GD_E_UNKNOWN_ENCODING - GD_EVR GD_E_BAD_VERSION + GD_EVR GD_E_BAD_VERSION Deprecated; kept as an alias for GD_EAR. GD_UCL GD_E_UNCLEAN_DB GD_UNS GD_E_UNSUPPORTED Modified: trunk/getdata/doc/README.idl =================================================================== --- trunk/getdata/doc/README.idl 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/doc/README.idl 2012-06-29 00:29:46 UTC (rev 728) @@ -591,16 +591,17 @@ This function returns a GD_ENTRY structure containing the field metadata for the field specified by 'field_code'. See gd_entry(3). -FUNCTION GD_ENTRY_LIST(dirfile_unit, /HIDDEN, /NOALIAS, PARENT=parent, /SCALARS, - TYPE=type, /VECTORS) +FUNCTION GD_ENTRY_LIST(dirfile_unit, /ALIASES, /HIDDEN, /NOALIAS, PARENT=parent, + /SCALARS, TYPE=type, /VECTORS) This function returns a list of entry names defined by the dirfile. If PARENT is given, a list of metafields for the given parent will be returned otherwise top-level fields are considered. If TYPE is given, which should be one of the !GD.*_ENTRY constants, only fields of the given type will be returned. If - /SCALARS or /VECTORS is specified, the TYPE parameter is ignored if it is also - given. The list returned includes aliases, unless /NOALIAS is specified, but - not hidden fields, unless /HIDDEN is specified. See gd_entry_list(3). + /ALIASES, /SCALARS or /VECTORS is specified, the TYPE parameter is ignored if + it is also given. The list returned includes aliases, unless /NOALIAS is + specified, but not hidden fields, unless /HIDDEN is specified. See + gd_entry_list(3). FUNCTION GD_ENTRY_TYPE(dirfile_unit, field_code) @@ -783,19 +784,18 @@ The return value will be one of the data type constants: !GD.UINT8, !GD.INT8, &c. See gd_native_type(3). -FUNCTION GD_NENTRIES(dirfile_unit, /HIDDEN, /NOALIAS, PARENT=parent, /SCALARS, - TYPE=type, /VECTORS) +FUNCTION GD_NENTRIES(dirfile_unit, /ALIAS, /HIDDEN, /NOALIAS, PARENT=parent, + /SCALARS, TYPE=type, /VECTORS) This function returns the number of entries in the dirfile satisfying the given criteria. If PARENT is given, the number of metafields for the given parent will be returned otherwise top-level fields are considered. If TYPE is given, which should be one of the !GD.*_ENTRY constants, only fields of the - given type will be counted. If /SCALARS or /VECTORS is specified, the TYPE - parameter is ignored if it is also given. The number returned includes - aliases, unless /NOALIAS is specified, but not hidden fields, unless /HIDDEN - is specified. See gd_nentries(3). + given type will be counted. If /ALIASES, /SCALARS or /VECTORS is specified, + the TYPE parameter is ignored if it is also given. The number returned + includes aliases, unless /NOALIAS is specified, but not hidden fields, unless + /HIDDEN is specified. See gd_nentries(3). - FUNCTION GD_NFIELDS(dirfile_unit, /HIDDEN, /NOALIAS, PARENT=parent, /SCALARS, TYPE=type, /VECTORS) Modified: trunk/getdata/man/Makefile.am =================================================================== --- trunk/getdata/man/Makefile.am 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/man/Makefile.am 2012-06-29 00:29:46 UTC (rev 728) @@ -44,9 +44,9 @@ gd_protection.3 gd_put_carray_slice.3 gd_put_constant.3 \ gd_put_string.3 gd_putdata.3 gd_putdata64.3 gd_raw_filename.3 \ gd_reference.3 gd_rename.3 gd_rewrite_fragment.3 gd_seek.3 \ - gd_seek64.3 gd_spf.3 gd_strings.3 gd_tell.3 gd_tell64.3 \ - gd_uninclude.3 gd_validate.3 gd_verbose_prefix.3 dirfile.5 \ - dirfile-encoding.5 dirfile-format.5 + gd_seek64.3 gd_spf.3 gd_strings.3 gd_strtok.3 gd_tell.3 \ + gd_tell64.3 gd_uninclude.3 gd_validate.3 gd_verbose_prefix.3 \ + dirfile.5 dirfile-encoding.5 dirfile-format.5 # these are real_file:alias MAN3ALIASES=gd_add_bit.3:gd_add_carray.3 gd_add_bit.3:gd_add_clincom.3 \ Modified: trunk/getdata/man/gd_dirfile_standards.3 =================================================================== --- trunk/getdata/man/gd_dirfile_standards.3 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/man/gd_dirfile_standards.3 2012-06-29 00:29:46 UTC (rev 728) @@ -1,6 +1,6 @@ .\" gd_dirfile_standards.3. The gd_dirfile_standards man page. .\" -.\" Copyright (C) 2010 D. V. Wiebe +.\" Copyright (C) 2010, 2012 D. V. Wiebe .\" .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .\" @@ -13,7 +13,7 @@ .\" Texts. A copy of the license is included in the `COPYING.DOC' file .\" as part of this distribution. .\" -.TH gd_dirfile_standards 3 "15 October 2010" "Version 0.7.0" "GETDATA" +.TH gd_dirfile_standards 3 "29 June 2012" "Version 0.8.0" "GETDATA" .SH NAME gd_dirfile_standards \(em change or report the current Dirfile Standards Version for a DirFile @@ -93,12 +93,12 @@ error value, and the current Standards Version is not changed. Possible error values are: .TP 8 +.B GD_E_ARGUMENT +The loaded dirfile did not conform to the specified version. Or the dirfile +conforms to no known Standards Version. +.TP .B GD_E_BAD_DIRFILE The supplied dirfile was invalid. -.TP -.B GD_E_BAD_VERSION -The loaded dirfile did not conform to the specified version. Or the dirfile -conforms to no known Standards Version. .PP The dirfile error may be retrieved by calling .BR gd_error (3). Modified: trunk/getdata/man/gd_entry_list.3 =================================================================== --- trunk/getdata/man/gd_entry_list.3 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/man/gd_entry_list.3 2012-06-29 00:29:46 UTC (rev 728) @@ -13,7 +13,7 @@ .\" Texts. A copy of the license is included in the `COPYING.DOC' file .\" as part of this distribution. .\" -.TH gd_entry_list 3 "1 April 2012" "Version 0.8.0" "GETDATA" +.TH gd_entry_list 3 "28 June 2012" "Version 0.8.0" "GETDATA" .SH NAME gd_entry_list, gd_field_list, gd_field_list_by_type gd_mfield_list, gd_mfield_list_by_type, gd_mvector_list, gd_vector_list \(em list field entries in a dirfile @@ -73,14 +73,18 @@ field) or else one of the following special symbols: .TP .B GD_ALL_ENTRIES \fR(= 0) -Count entries of all types. +List entries of all types. .TP +.B GD_ALIAS_ENTRIES +List only aliases. This is the only way to get a list including aliases which +do not point to valid field codes. +.TP .B GD_SCALAR_ENTRIES -Count only scalar field types +List only scalar field types .RB ( CONST ", " CARRAY ", " STRING ). .TP .B GD_VECTOR_ENTRIES -Count only vector field types (all field types except the scalar field types +List only vector field types (all field types except the scalar field types listed above). .PP The Modified: trunk/getdata/man/gd_nentries.3 =================================================================== --- trunk/getdata/man/gd_nentries.3 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/man/gd_nentries.3 2012-06-29 00:29:46 UTC (rev 728) @@ -13,7 +13,7 @@ .\" Texts. A copy of the license is included in the `COPYING.DOC' file .\" as part of this distribution. .\" -.TH gd_nentries 3 "1 April 2012" "Version 0.8.0" "GETDATA" +.TH gd_nentries 3 "28 June 2012" "Version 0.8.0" "GETDATA" .SH NAME gd_nentries, gd_nfields, gd_nfields_by_type gd_nmfields, gd_nmfields_by_type, gd_nmvectors, gd_nvectors \(em count field entries in a dirfile @@ -75,6 +75,10 @@ .B GD_ALL_ENTRIES \fR(= 0) Count entries of all types. .TP +.B GD_ALIAS_ENTRIES +Count only aliases. This is the only way to get a count including aliases which +do not point to valid field codes. +.TP .B GD_SCALAR_ENTRIES Count only scalar field types .RB ( CONST ", " CARRAY ", " STRING ). Added: trunk/getdata/man/gd_strtok.3 =================================================================== --- trunk/getdata/man/gd_strtok.3 (rev 0) +++ trunk/getdata/man/gd_strtok.3 2012-06-29 00:29:46 UTC (rev 728) @@ -0,0 +1,97 @@ +.\" gd_strtok.3. The gd_strtok man page. +.\" +.\" Copyright (C) 2012 D. V. Wiebe +.\" +.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\" +.\" This file is part of the GetData project. +.\" +.\" Permission is granted to copy, distribute and/or modify this document +.\" under the terms of the GNU Free Documentation License, Version 1.2 or +.\" any later version published by the Free Software Foundation; with no +.\" Invariant Sections, with no Front-Cover Texts, and with no Back-Cover +.\" Texts. A copy of the license is included in the `COPYING.DOC' file +.\" as part of this distribution. +.\" +.TH gd_strtok 3 "28 June 2012" "Version 0.8.0" "GETDATA" +.SH NAME +gd_strtok \(em tokenise a string using the GetData parser +.SH SYNOPSIS +.B #include <getdata.h> +.HP +.nh +.ad l +.BI "char *gd_strtok(DIRFILE *" dirfile ", const char *" string ); +.hy +.ad n +.SH DESCRIPTION +The +.BR gd_strtok () +function parses a string into a series of tokens according to the rules of the +Dirfile metadata syntax (see dirfile-format(5)). The first time +.BR gd_strtok () +is called, the string to be parsed should be passed in +.IR string . +The first token will be returned. In subsequent calls to parse the same string, +.I string +should be NULL (as with +.BR strtok (3)). +Each time +.BR gd_strtok () +is called like this, the next token is returned. + +Operation of the Dirfile tokeniser varies between Dirfile Standards Versions. +The Standards Version used is the current Version of the loaded DIRFILE +.IR dirfile . +Use +.BR gd_dirfile_standards (3) +to retrieve or change this value. Changing the Standards Version of +.I dirfile +while parsing a string will affect the parsing of subsequent tokens, but does +not affect tokens already returned. A copy of the string is cached in the +.I dirfile +object. Calling +.BR gd_strtok () +with different +.IR dirfile s +will parse different strings. + +.SH RETURN VALUE +Upon successful completion, +.BR gd_strtok () +returns a copy of the first token (if +.I string +is non-NULL), or the subsequent token. The token strings returned are each +allocated with +.BR malloc (3) +and should be deallocated by the caller when no longer needed using +.BR free (3). +.PP +If no more tokens are available, or if an error occurred, NULL is returned. +If an error has occurred, it will also set the dirfile error a non-zero error +value. Possible error values are: +.TP 8 +.B GD_E_ALLOC +A memory allocation error occurred. +.TP +.B GD_E_ARGUMENT +There was no string to parse (i.e. +.I string +was NULL, but no previous call specified a string to parse). +.TP +.B GD_E_BAD_DIRFILE +The supplied dirfile was invalid. +.TP +.B GD_E_FORMAT +A syntax error was found in the string. +.PP +The dirfile error may be retrieved by calling +.BR gd_error (3). +A descriptive error string for the last error encountered can be obtained from +a call to +.BR gd_error_string (3). + +.SH SEE ALSO +.BR gd_dirfile_standards (3), +.BR gd_open (3), +.BR dirfile-format (5) Modified: trunk/getdata/src/errors.c =================================================================== --- trunk/getdata/src/errors.c 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/src/errors.c 2012-06-29 00:29:46 UTC (rev 728) @@ -176,6 +176,10 @@ { GD_E_ARGUMENT, GD_E_ARG_PROTECTION, "Invalid protection level specified", 0 }, { GD_E_ARGUMENT, GD_E_ARG_NODATA, "No data", 0 }, + { GD_E_ARGUMENT, GD_E_ARG_NO_VERS, "Dirfile conforms to no Standards Version", + 0 }, + { GD_E_ARGUMENT, GD_E_ARG_BAD_VERS, + "Dirfile does not conform to specified Standards Version", 0 }, { GD_E_ARGUMENT, 0, "Bad argument", 0 }, /* GD_E_CALLBACK: 3 = response */ { GD_E_CALLBACK, 0, "Unrecognised response from callback function: {3}", 0 }, @@ -193,11 +197,6 @@ { GD_E_BAD_REPR, GD_E_REPR_UNKNOWN, "Unknown field representation: .{4}", 0 }, { GD_E_BAD_REPR, GD_E_REPR_PUT, "Unable to write to field reprentation: .{4}", 0 }, - /* GD_E_BAD_VERSION 3 = version */ - { GD_E_BAD_VERSION, GD_E_VERS_NONE, - "Dirfile conforms to no Standards Version", 0 }, - { GD_E_BAD_VERSION, GD_E_VERS_MISSING, - "Dirfile does not conform to Standards Version {3}", 0 }, /* GD_E_FLUSH: 3 = suberror, 4 = filename */ { GD_E_FLUSH, GD_E_FLUSH_MKTMP, "I/O error creating temporary file: ", 1 }, { GD_E_FLUSH, GD_E_FLUSH_OPEN, "I/O error opening temporary file: ", 1 }, Modified: trunk/getdata/src/flush.c =================================================================== --- trunk/getdata/src/flush.c 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/src/flush.c 2012-06-29 00:29:46 UTC (rev 728) @@ -1167,8 +1167,8 @@ if (vers < 0 || vers > GD_DIRFILE_STANDARDS_VERSION || ~D->av & (1ULL << vers)) { - _GD_SetError(D, GD_E_BAD_VERSION, (D->av == 0) ? GD_E_VERS_NONE : - GD_E_VERS_MISSING, NULL, vers, NULL); + _GD_SetError(D, GD_E_ARGUMENT, (D->av == 0) ? GD_E_ARG_NO_VERS : + GD_E_ARG_BAD_VERS, NULL, vers, NULL); dreturn("%i", -1); return -1; } Modified: trunk/getdata/src/getdata.h.in =================================================================== --- trunk/getdata/src/getdata.h.in 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/src/getdata.h.in 2012-06-29 00:29:46 UTC (rev 728) @@ -157,7 +157,7 @@ #define GD_E_UNCLEAN_DB 30 #define GD_E_DOMAIN 31 #define GD_E_BAD_REPR 32 -#define GD_E_BAD_VERSION 33 +/* unused 33 */ #define GD_E_FLUSH 34 #define GD_E_BOUNDS 35 #define GD_E_LINE_TOO_LONG 36 @@ -168,6 +168,7 @@ #define GD_E_OPEN_INCLUDE GD_E_OPEN_FRAGMENT #define GD_E_BAD_ENDIANNESS GD_E_ARGUMENT #define GD_E_BAD_PROTECTION GD_E_ARGUMENT +#define GD_E_BAD_VERSION GD_E_ARGUMENT #define GD_MAX_LINCOM 3 Modified: trunk/getdata/src/internal.h =================================================================== --- trunk/getdata/src/internal.h 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/src/internal.h 2012-06-29 00:29:46 UTC (rev 728) @@ -728,14 +728,14 @@ #define GD_E_UNENC_UNDET 1 #define GD_E_UNENC_TARGET 2 -#define GD_E_VERS_NONE 1 -#define GD_E_VERS_MISSING 2 - #define GD_E_ARG_WHENCE 1 #define GD_E_ARG_ENDIANNESS 2 #define GD_E_ARG_PROTECTION 3 #define GD_E_ARG_NODATA 4 +#define GD_E_ARG_NO_VERS 5 +#define GD_E_ARG_BAD_VERS 6 + /* I/O flags */ #define GD_FILE_READ 0x1 #define GD_FILE_WRITE 0x2 Modified: trunk/getdata/src/legacy.c =================================================================== --- trunk/getdata/src/legacy.c 2012-06-28 00:25:11 UTC (rev 727) +++ trunk/getdata/src/legacy.c 2012-06-29 00:29:46 UTC (rev 728) @@ -76,7 +76,7 @@ NULL, /* GD_E_UNCLEAN_DB */ "Improper domain", /* GD_E_DOMAIN */ "Bad representation", /* GD_E_BAD_REPR */ - NULL, /* GD_E_BAD_VERSION */ + NULL, /* unused */ NULL, /* GD_E_FLUSH */ NULL, /* GD_E_BOUNDS */ "Line too long", /* GD_E_LINE_TOO_LONG */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-06-28 00:25:17
|
Revision: 727 http://getdata.svn.sourceforge.net/getdata/?rev=727&view=rev Author: ketiltrout Date: 2012-06-28 00:25:11 +0000 (Thu, 28 Jun 2012) Log Message: ----------- svn:ignore. Property Changed: ---------------- trunk/getdata/doc/ Property changes on: trunk/getdata/doc ___________________________________________________________________ Modified: svn:ignore - Makefile.in Makefile + Makefile.in Makefile README.perl This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-06-28 00:24:16
|
Revision: 726 http://getdata.svn.sourceforge.net/getdata/?rev=726&view=rev Author: ketiltrout Date: 2012-06-28 00:24:07 +0000 (Thu, 28 Jun 2012) Log Message: ----------- Allow retrieval of aliases via gd_entry_list using GD_ALIAS_ENTRIES. This is the only way to discover dangling aliases. Modified Paths: -------------- trunk/getdata/ChangeLog trunk/getdata/bindings/cxx/dirfile.cpp trunk/getdata/bindings/cxx/entry.cpp trunk/getdata/bindings/cxx/getdata/dirfile.h trunk/getdata/bindings/f77/fgetdata.c trunk/getdata/bindings/idl/getdata.c trunk/getdata/bindings/make_parameters.c trunk/getdata/bindings/perl/GetData.xs trunk/getdata/bindings/perl/typemap trunk/getdata/bindings/python/pydirfile.c trunk/getdata/bindings/python/pyentry.c trunk/getdata/src/add.c trunk/getdata/src/common.c trunk/getdata/src/del.c trunk/getdata/src/entry.c trunk/getdata/src/field_list.c trunk/getdata/src/flimits.c trunk/getdata/src/flush.c trunk/getdata/src/fpos.c trunk/getdata/src/getdata.c trunk/getdata/src/getdata.h.in trunk/getdata/src/internal.h trunk/getdata/src/legacy.c trunk/getdata/src/mod.c trunk/getdata/src/native.c trunk/getdata/src/nfields.c trunk/getdata/src/putdata.c trunk/getdata/src/spf.c trunk/getdata/test/Makefile.am trunk/getdata/util/checkdirfile.c Added Paths: ----------- trunk/getdata/test/elist_alias.c trunk/getdata/test/nentries_alias.c Property Changed: ---------------- trunk/getdata/test/ Modified: trunk/getdata/ChangeLog =================================================================== --- trunk/getdata/ChangeLog 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/ChangeLog 2012-06-28 00:24:07 UTC (rev 726) @@ -1,3 +1,23 @@ +2012-06-28 D. V. Wiebe <ge...@ke...> svn:725,726 + * util/checkdirfile.c: Find and report dangling aliases. + + * bindings/python/pydirfile.c (gdpy_dirfile_nentries gdpy_dirfile_entrylist) + bindings/cxx/dirfile.cpp (Dirfile::NEntries Dirfile::EntryList) + bindings/perl/GetData.xs (entry_list) : Fix signedness of "type". + * bindings/idl/getdata.c (gdidl_get_field_list gdidl_get_nfields): Deal with + /ALIASES. + * bindings/make_parameters.c: Add GD_ALIAS_ENTRIES. + + * test/nentries_noalias.c test/elist_noalias.c: Renamed from ..._alias.c. + * test/nentries_alias.c test/elist_alias.c: Added. + + * src/internal.h getdata.h.in: Move GD_ALIAS_ENTRY to public header. + * src/getdata.h.in: Define GD_ALIAS_ENTRIES. + * src/field_list.c (_GD_EntryIndex _GD_ListEntry) src/nfields.c + (_GD_NEntries): Handle GD_ALIAS_ENTRIES. + + * src/common.c (_GD_CanonicalPath): Sidestep GCC warning. + 2012-06-27 D. V. Wiebe <ge...@ke...> svn:724 * src/name.c (_GD_UpdateScalar _GD_InvalidateConst _GD_UpdateInField _GD_InvalidateVect): Handle aliases. Modified: trunk/getdata/bindings/cxx/dirfile.cpp =================================================================== --- trunk/getdata/bindings/cxx/dirfile.cpp 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/bindings/cxx/dirfile.cpp 2012-06-28 00:24:07 UTC (rev 726) @@ -555,14 +555,14 @@ gd_mplex_lookback(D, lookback); } -unsigned int Dirfile::NEntries(const char *parent, unsigned int type, - unsigned int flags) const +unsigned int Dirfile::NEntries(const char *parent, int type, unsigned int flags) + const { return gd_nentries(D, parent, type, flags); } -const char** Dirfile::EntryList(const char *parent, unsigned int type, - unsigned int flags) const +const char** Dirfile::EntryList(const char *parent, int type, + unsigned int flags) const { return gd_entry_list(D, parent, type, flags); } Modified: trunk/getdata/bindings/cxx/entry.cpp =================================================================== --- trunk/getdata/bindings/cxx/entry.cpp 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/bindings/cxx/entry.cpp 2012-06-28 00:24:07 UTC (rev 726) @@ -51,6 +51,7 @@ case GD_CARRAY_ENTRY: case GD_STRING_ENTRY: case GD_NO_ENTRY: + case GD_ALIAS_ENTRY: return 0; case GD_LINCOM_ENTRY: if (index > n_fields) @@ -172,6 +173,7 @@ case GD_CARRAY_ENTRY: case GD_STRING_ENTRY: case GD_NO_ENTRY: + case GD_ALIAS_ENTRY: return 0; } Modified: trunk/getdata/bindings/cxx/getdata/dirfile.h =================================================================== --- trunk/getdata/bindings/cxx/getdata/dirfile.h 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/bindings/cxx/getdata/dirfile.h 2012-06-28 00:24:07 UTC (rev 726) @@ -127,7 +127,7 @@ GetData::Entry* Entry(const char *field_code) const; - const char **EntryList(const char *parent = NULL, unsigned int type = 0, + const char **EntryList(const char *parent = NULL, int type = 0, unsigned int flags = 0) const; gd_off64_t EoF(const char *field_code) const; @@ -209,7 +209,7 @@ int NAliases(const char* field_code) const; - unsigned int NEntries(const char *parent = NULL, unsigned int type = 0, + unsigned int NEntries(const char *parent = NULL, int type = 0, unsigned int flags = 0) const; unsigned int NFields() const; Modified: trunk/getdata/bindings/f77/fgetdata.c =================================================================== --- trunk/getdata/bindings/f77/fgetdata.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/bindings/f77/fgetdata.c 2012-06-28 00:24:07 UTC (rev 726) @@ -3082,6 +3082,7 @@ ok = 1; switch (E.field_type) { case GD_NO_ENTRY: + case GD_ALIAS_ENTRY: case GD_LINTERP_ENTRY: case GD_MULTIPLY_ENTRY: case GD_DIVIDE_ENTRY: @@ -3153,6 +3154,7 @@ switch (E.field_type) { case GD_NO_ENTRY: + case GD_ALIAS_ENTRY: case GD_LINTERP_ENTRY: case GD_MULTIPLY_ENTRY: case GD_DIVIDE_ENTRY: Modified: trunk/getdata/bindings/idl/getdata.c =================================================================== --- trunk/getdata/bindings/idl/getdata.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/bindings/idl/getdata.c 2012-06-28 00:24:07 UTC (rev 726) @@ -613,6 +613,7 @@ IDL_MSG_LONGJMP, NULL)) = E->const_type; break; case GD_NO_ENTRY: + case GD_ALIAS_ENTRY: case GD_INDEX_ENTRY: case GD_STRING_ENTRY: break; @@ -1005,6 +1006,7 @@ E->const_type = GD_NULL; break; case GD_NO_ENTRY: + case GD_ALIAS_ENTRY: case GD_INDEX_ENTRY: case GD_STRING_ENTRY: break; @@ -4026,19 +4028,20 @@ typedef struct { IDL_KW_RESULT_FIRST_FIELD; GDIDL_KW_RESULT_ERROR; - unsigned int type; + int type; IDL_STRING parent; int parent_x; - int hidden, noalias, scalars, vectors; + int hidden, noalias, scalars, vectors, aliases; } KW_RESULT; KW_RESULT kw; GDIDL_KW_INIT_ERROR; kw.type = 0; - kw.hidden = kw.noalias = kw.scalars = kw.vectors = 0; + kw.hidden = kw.noalias = kw.scalars = kw.vectors = kw.aliases = 0; kw.parent_x = 0; static IDL_KW_PAR kw_pars[] = { + { "ALIASES", IDL_TYP_INT, 1, 0, 0, IDL_KW_OFFSETOF(aliases) }, GDIDL_KW_PAR_ERROR, GDIDL_KW_PAR_ESTRING, { "HIDDEN", IDL_TYP_INT, 1, 0, 0, IDL_KW_OFFSETOF(hidden) }, @@ -4068,6 +4071,8 @@ kw.type = GD_VECTOR_ENTRIES; else if (kw.scalars) kw.type = GD_SCALAR_ENTRIES; + else if (kw.aliases) + kw.type = GD_ALIAS_ENTRIES; } nentries = gd_nentries(D, parent, kw.type, flags); @@ -4248,19 +4253,20 @@ typedef struct { IDL_KW_RESULT_FIRST_FIELD; GDIDL_KW_RESULT_ERROR; - unsigned int type; + int type; IDL_STRING parent; int parent_x; - int hidden, noalias, scalars, vectors; + int aliases, hidden, noalias, scalars, vectors; } KW_RESULT; KW_RESULT kw; GDIDL_KW_INIT_ERROR; kw.type = 0; - kw.hidden = kw.noalias = kw.scalars = kw.vectors = 0; + kw.hidden = kw.noalias = kw.scalars = kw.vectors = kw.aliases = 0; kw.parent_x = 0; static IDL_KW_PAR kw_pars[] = { + { "ALIASES", IDL_TYP_INT, 1, 0, 0, IDL_KW_OFFSETOF(aliases) }, GDIDL_KW_PAR_ERROR, GDIDL_KW_PAR_ESTRING, { "HIDDEN", IDL_TYP_INT, 1, 0, 0, IDL_KW_OFFSETOF(hidden) }, @@ -4290,6 +4296,8 @@ kw.type = GD_VECTOR_ENTRIES; else if (kw.scalars) kw.type = GD_SCALAR_ENTRIES; + else if (kw.aliases) + kw.type = GD_ALIAS_ENTRIES; } nentries = gd_nentries(D, parent, kw.type, flags); Modified: trunk/getdata/bindings/make_parameters.c =================================================================== --- trunk/getdata/bindings/make_parameters.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/bindings/make_parameters.c 2012-06-28 00:24:07 UTC (rev 726) @@ -223,9 +223,10 @@ CONSTANT(DESYNC_PATHCHECK, "GDDS_P", 13), CONSTANT(DESYNC_REOPEN, "GDDS_O", 13), - CONSTANT(ALL_ENTRIES, "GDEN_A", 14), + CONSTANT(ALL_ENTRIES, "GDEN_X", 14), CONSTANT(VECTOR_ENTRIES, "GDEN_V", 14), CONSTANT(SCALAR_ENTRIES, "GDEN_S", 14), + CONSTANT(ALIAS_ENTRIES, "GDEN_A", 14), CONSTANT(ENTRIES_HIDDEN, "GDEN_H", 14), CONSTANT(ENTRIES_NOALIAS, "GDEN_N", 14), Modified: trunk/getdata/bindings/perl/GetData.xs =================================================================== --- trunk/getdata/bindings/perl/GetData.xs 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/bindings/perl/GetData.xs 2012-06-28 00:24:07 UTC (rev 726) @@ -1517,14 +1517,14 @@ entry_list(dirfile, parent, type, flags) DIRFILE * dirfile gdpu_char * parent - gdpu_type_t type + gdpu_int type gdpu_uint_t flags PREINIT: GDP_DIRFILE_ALIAS; ALIAS: GetData::Dirfile::entry_list = 1 PPCODE: - dtrace("%p, \"%s\", %u, %u; %i", dirfile, parent, type, flags, + dtrace("%p, \"%s\", %i, %u; %i", dirfile, parent, type, flags, (int)GIMME_V); /* in array context, return the field list, otherwise return nfields */ Modified: trunk/getdata/bindings/perl/typemap =================================================================== --- trunk/getdata/bindings/perl/typemap 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/bindings/perl/typemap 2012-06-28 00:24:07 UTC (rev 726) @@ -11,7 +11,7 @@ gd_entype_t T_UV gd_shift_t T_IV gd_triplet_t T_TRIPLET -gd_type_t T_UV +gd_type_t T_IV gd_windop_t T_IV # GetData Perl pseudotypes @@ -22,7 +22,7 @@ gdpu_numbits_t T_IV_ZERO gdpu_shift_t T_IV_ZERO gdpu_uint_t T_UV_ZERO -gdpu_type_t T_UV_ZERO +gdpu_type_t T_IV_ZERO gdpu_complex T_COMPLEX_ZERO Modified: trunk/getdata/bindings/python/pydirfile.c =================================================================== --- trunk/getdata/bindings/python/pydirfile.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/bindings/python/pydirfile.c 2012-06-28 00:24:07 UTC (rev 726) @@ -2606,11 +2606,12 @@ dtrace("%p, %p, %p", self, args, keys); char* keywords[] = { "parent", "type", "flags", NULL }; - unsigned int nentries, type = 0, flags = 0; + unsigned int nentries, flags = 0; + int type = 0; const char *parent = NULL; if (!PyArg_ParseTupleAndKeywords(args, keys, - "|sII:pygetdata.dirfile.nentries", keywords, &parent, &type, &flags)) + "|siI:pygetdata.dirfile.nentries", keywords, &parent, &type, &flags)) { dreturn("%p", NULL); return NULL; @@ -2633,12 +2634,12 @@ const char **entries; char* keywords[] = { "parent", "type", "flags", NULL }; - int i; - unsigned int type = 0, flags = 0; + int i, type = 0; + unsigned int flags = 0; const char *parent = NULL; if (!PyArg_ParseTupleAndKeywords(args, keys, - "|sII:pygetdata.dirfile.entry_list", keywords, &parent, &type, &flags)) + "|siI:pygetdata.dirfile.entry_list", keywords, &parent, &type, &flags)) { dreturn("%p", NULL); return NULL; Modified: trunk/getdata/bindings/python/pyentry.c =================================================================== --- trunk/getdata/bindings/python/pyentry.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/bindings/python/pyentry.c 2012-06-28 00:24:07 UTC (rev 726) @@ -460,6 +460,7 @@ PyErr_SetString(PyExc_ValueError, "'pygetdata.entry' invalid data type"); case GD_NO_ENTRY: + case GD_ALIAS_ENTRY: case GD_STRING_ENTRY: case GD_INDEX_ENTRY: break; @@ -571,6 +572,7 @@ break; case GD_STRING_ENTRY: case GD_NO_ENTRY: + case GD_ALIAS_ENTRY: case GD_INDEX_ENTRY: break; } @@ -778,6 +780,7 @@ self->E->in_fields[1]); break; case GD_NO_ENTRY: + case GD_ALIAS_ENTRY: case GD_RAW_ENTRY: case GD_INDEX_ENTRY: case GD_CONST_ENTRY: @@ -889,6 +892,7 @@ } break; case GD_NO_ENTRY: + case GD_ALIAS_ENTRY: case GD_RAW_ENTRY: case GD_INDEX_ENTRY: case GD_CONST_ENTRY: @@ -1855,6 +1859,7 @@ switch (self->E->field_type) { case GD_NO_ENTRY: + case GD_ALIAS_ENTRY: case GD_INDEX_ENTRY: case GD_STRING_ENTRY: tuple = Py_BuildValue("()"); Modified: trunk/getdata/src/add.c =================================================================== --- trunk/getdata/src/add.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/src/add.c 2012-06-28 00:24:07 UTC (rev 726) @@ -453,6 +453,7 @@ for (i = 0; i < E->EN(polynom,poly_ord); ++i) copy_scalar[i] = 1; break; + case GD_ALIAS_ENTRY: case GD_INDEX_ENTRY: case GD_NO_ENTRY: _GD_InternalError(D); /* We've already verrified field_type is valid */ Modified: trunk/getdata/src/common.c =================================================================== --- trunk/getdata/src/common.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/src/common.c 2012-06-28 00:24:07 UTC (rev 726) @@ -1180,7 +1180,7 @@ /* now we have to start all over again */ ptr = target; - if (_GD_AbsPath(target)) { + if (_GD_AbsPath(ptr)) { _GD_Root(res, target, res_root); res_len = res_root; ptr += res_root; Modified: trunk/getdata/src/del.c =================================================================== --- trunk/getdata/src/del.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/src/del.c 2012-06-28 00:24:07 UTC (rev 726) @@ -214,6 +214,7 @@ case GD_CONST_ENTRY: case GD_CARRAY_ENTRY: case GD_INDEX_ENTRY: + case GD_ALIAS_ENTRY: break; } Modified: trunk/getdata/src/entry.c =================================================================== --- trunk/getdata/src/entry.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/src/entry.c 2012-06-28 00:24:07 UTC (rev 726) @@ -287,6 +287,7 @@ case GD_CONST_ENTRY: case GD_CARRAY_ENTRY: case GD_INDEX_ENTRY: + case GD_ALIAS_ENTRY: break; } @@ -464,6 +465,7 @@ case GD_CARRAY_ENTRY: case GD_STRING_ENTRY: case GD_NO_ENTRY: + case GD_ALIAS_ENTRY: break; } @@ -811,6 +813,7 @@ case GD_STRING_ENTRY: case GD_INDEX_ENTRY: case GD_NO_ENTRY: + case GD_ALIAS_ENTRY: break; } Modified: trunk/getdata/src/field_list.c =================================================================== --- trunk/getdata/src/field_list.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/src/field_list.c 2012-06-28 00:24:07 UTC (rev 726) @@ -84,9 +84,12 @@ case GD_SCALAR_ENTRIES: i = 17; break; - case GD_ALL_ENTRIES: + case GD_ALIAS_ENTRY: i = 18; break; + case GD_ALL_ENTRIES: + i = 19; + break; default: i = -1; break; @@ -98,9 +101,9 @@ /* returns true if E a member of the given list */ int _GD_ListEntry(const gd_entry_t *E, int meta, int hidden, int noalias, - unsigned int special, gd_entype_t type) + int special, gd_entype_t type) { - dtrace("%p{%s}, %i, %i, %i, %u, 0x%X", E, E->field, meta, hidden, noalias, + dtrace("%p{%s}, %i, %i, %i, %i, 0x%X", E, E->field, meta, hidden, noalias, special, type); /* check hidden */ @@ -118,10 +121,18 @@ /* aliases */ if (E->field_type == GD_ALIAS_ENTRY) { int ret = 0; + if (noalias) { dreturn("%i (alias)", 0); return 0; } + + /* that's right: GD_ALIAS_ENTRY + noalias gets you what you deserve */ + if (special == GD_ALIAS_ENTRIES) { + dreturn("%i (aliases)", 1); + return 1; + } + if (E->e->entry[0]) ret = _GD_ListEntry(E->e->entry[0], meta, hidden, 0, special, type); dreturn("%i", ret); @@ -137,6 +148,9 @@ { dreturn("%i (scalar)", 0); return 0; + } else if (special == GD_ALIAS_ENTRIES) { /* we weeded out aliases earlier */ + dreturn("%i (aliases)", 0); + return 0; } else if (type && E->field_type != type) { dreturn("%i (type)", 0); return 0; @@ -147,12 +161,12 @@ } static const char **_GD_EntryList(DIRFILE *D, struct _gd_private_entry *p, - size_t offs, unsigned int type, unsigned int flags) gd_nothrow + size_t offs, int type, unsigned int flags) gd_nothrow { char** el; int i, index; unsigned int u, n = 0; - const unsigned int special = (type & GD_SPECIAL_ENTRY_BIT) ? type : 0; + const int special = (type & GD_SPECIAL_ENTRY_BIT) ? type : 0; const gd_entype_t ctype = (type & GD_SPECIAL_ENTRY_BIT) ? GD_NO_ENTRY : (gd_entype_t)type; const int hidden = (flags & GD_ENTRIES_HIDDEN); @@ -236,14 +250,14 @@ return (const char **)el; } -const char **gd_entry_list(DIRFILE* D, const char *parent, unsigned int type, +const char **gd_entry_list(DIRFILE* D, const char *parent, int type, unsigned int flags) gd_nothrow { const char **el; size_t offs = 0; struct _gd_private_entry *p = NULL; - dtrace("%p, \"%s\", %u, %u", D, parent, type, flags); + dtrace("%p, \"%s\", %i, %u", D, parent, type, flags); if (D->flags & GD_INVALID) { _GD_SetError(D, GD_E_BAD_DIRFILE, 0, NULL, 0, NULL); Modified: trunk/getdata/src/flimits.c =================================================================== --- trunk/getdata/src/flimits.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/src/flimits.c 2012-06-28 00:24:07 UTC (rev 726) @@ -339,6 +339,9 @@ case GD_NO_ENTRY: _GD_SetError(D, GD_E_BAD_FIELD_TYPE, GD_E_FIELD_BAD, NULL, 0, E->field); break; + case GD_ALIAS_ENTRY: + _GD_InternalError(D); + break; } D->recurse_level--; @@ -523,6 +526,7 @@ _GD_SetError(D, GD_E_DIMENSION, GD_E_DIM_CALLER, NULL, 0, E->field); break; case GD_NO_ENTRY: + case GD_ALIAS_ENTRY: _GD_InternalError(D); break; } Modified: trunk/getdata/src/flush.c =================================================================== --- trunk/getdata/src/flush.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/src/flush.c 2012-06-28 00:24:07 UTC (rev 726) @@ -78,6 +78,7 @@ case GD_STRING_ENTRY: case GD_INDEX_ENTRY: case GD_NO_ENTRY: + case GD_ALIAS_ENTRY: break; } @@ -552,6 +553,7 @@ fputc('\n', stream); break; case GD_INDEX_ENTRY: + case GD_ALIAS_ENTRY: case GD_NO_ENTRY: _GD_InternalError(D); break; @@ -1003,7 +1005,7 @@ if (D->entry[i]->hidden) D->av &= GD_VERS_GE_9; else - switch ((int)D->entry[i]->field_type) { + switch (D->entry[i]->field_type) { case GD_RAW_ENTRY: switch (D->entry[i]->EN(raw,data_type)) { case GD_COMPLEX128: Modified: trunk/getdata/src/fpos.c =================================================================== --- trunk/getdata/src/fpos.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/src/fpos.c 2012-06-28 00:24:07 UTC (rev 726) @@ -101,6 +101,7 @@ case GD_CONST_ENTRY: case GD_STRING_ENTRY: case GD_CARRAY_ENTRY: + case GD_ALIAS_ENTRY: _GD_InternalError(D); } @@ -296,6 +297,7 @@ case GD_CONST_ENTRY: case GD_STRING_ENTRY: case GD_CARRAY_ENTRY: + case GD_ALIAS_ENTRY: _GD_InternalError(D); } Modified: trunk/getdata/src/getdata.c =================================================================== --- trunk/getdata/src/getdata.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/src/getdata.c 2012-06-28 00:24:07 UTC (rev 726) @@ -1944,6 +1944,7 @@ case GD_STRING_ENTRY: n_read = _GD_DoString(E, num_samp, (char *)data_out); break; + case GD_ALIAS_ENTRY: case GD_NO_ENTRY: /* Can't get here */ _GD_InternalError(D); Modified: trunk/getdata/src/getdata.h.in =================================================================== --- trunk/getdata/src/getdata.h.in 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/src/getdata.h.in 2012-06-28 00:24:07 UTC (rev 726) @@ -242,16 +242,20 @@ GD_MPLEX_ENTRY = 0x0D, GD_CONST_ENTRY = GD_SCALAR_ENTRY_BIT | 0x00, GD_STRING_ENTRY = GD_SCALAR_ENTRY_BIT | 0x01, - GD_CARRAY_ENTRY = GD_SCALAR_ENTRY_BIT | 0x02 + GD_CARRAY_ENTRY = GD_SCALAR_ENTRY_BIT | 0x02, + + /* not a real entry type, but it's convenient to put this here */ + GD_ALIAS_ENTRY = -1 } gd_entype_t; -/* GD_NO_ENTRY is not part of this count */ +/* GD_NO_ENTRY and GD_ALIAS_ENTRY are not part of this count */ #define GD_N_ENTYPES 16 /* Special types for gd_nentries(3) and gd_entry_list(3) */ #define GD_ALL_ENTRIES 0 #define GD_VECTOR_ENTRIES (GD_SPECIAL_ENTRY_BIT | 0x01) #define GD_SCALAR_ENTRIES (GD_SPECIAL_ENTRY_BIT | 0x02) +#define GD_ALIAS_ENTRIES GD_ALIAS_ENTRY /* gd_nentries(3) and gd_entry_list(3) flags */ #define GD_ENTRIES_HIDDEN 0x1 @@ -688,8 +692,8 @@ extern int gd_entry(DIRFILE *dirfile, const char *field_code, gd_entry_t *entry) gd_nothrow gd_nonnull ((1, 2)); -extern const char **gd_entry_list(DIRFILE* D, const char *parent, - unsigned int type, unsigned int flags) gd_nothrow gd_nonnull ((1)); +extern const char **gd_entry_list(DIRFILE* D, const char *parent, int type, + unsigned int flags) gd_nothrow gd_nonnull ((1)); extern gd_entype_t gd_entry_type(DIRFILE *dirfile, const char *field_code) gd_nothrow gd_nonnull ((1)); @@ -850,8 +854,8 @@ extern gd_type_t gd_native_type(DIRFILE *dirfile, const char *field_code) gd_nothrow gd_nonnull ((1,2)); -extern unsigned int gd_nentries(DIRFILE *D, const char *parent, - unsigned int type, unsigned int flags) gd_nothrow gd_nonnull ((1)); +extern unsigned int gd_nentries(DIRFILE *D, const char *parent, int type, + unsigned int flags) gd_nothrow gd_nonnull ((1)); extern unsigned int gd_nfields(DIRFILE *dirfile) gd_nothrow gd_nonnull ((1)); Modified: trunk/getdata/src/internal.h =================================================================== --- trunk/getdata/src/internal.h 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/src/internal.h 2012-06-28 00:24:07 UTC (rev 726) @@ -743,8 +743,8 @@ #define GD_FILE_TEMP 0x4 #define GD_FILE_TOUCH 0x8 -/* lists */ -#define GD_N_ENTRY_LISTS (GD_N_ENTYPES + 3) +/* lists -- all the entry types plus alias, scalar, vector, all */ +#define GD_N_ENTRY_LISTS (GD_N_ENTYPES + 4) #define GD_LIST_VALID_STRING_VALUE 0x01 @@ -933,9 +933,6 @@ #define GD_HAVE_VERSION 0x40000000 /* have computed the version */ #define GD_INVALID 0x80000000 /* the dirfile is invalid */ -/* aliases */ -#define GD_ALIAS_ENTRY ((gd_entype_t)-1) - /* representation suffixes */ #define GD_REPR_NONE 0 #define GD_REPR_REAL 'r' @@ -1085,7 +1082,7 @@ void _GD_LinterpData(DIRFILE *restrict, void *restrict, gd_type_t, int, const double *restrict, size_t, const struct _gd_lut *restrict, size_t); int _GD_ListEntry(const gd_entry_t *E, int meta, int hidden, int noalias, - unsigned int special, gd_entype_t type); + int special, gd_entype_t type); char *_GD_MakeFullPath(DIRFILE *restrict, int, const char *restrict, int); #define _GD_MakeFullPathOnly gd_MakeFullPathOnly char *_GD_MakeFullPathOnly(const DIRFILE *D, int dirfd, const char *name); @@ -1100,8 +1097,8 @@ char *_GD_MungeFromFrag(DIRFILE *restrict, const gd_entry_t *restrict, int, const char *restrict, int *restrict); gd_type_t _GD_NativeType(DIRFILE *restrict, gd_entry_t *restrict, int); -unsigned int _GD_NEntries(DIRFILE *D, struct _gd_private_entry *p, - unsigned int type, unsigned int flags); +unsigned int _GD_NEntries(DIRFILE*, struct _gd_private_entry*, int, + unsigned int); DIRFILE *_GD_Open(DIRFILE*, int, const char*, unsigned long, gd_parser_callback_t, void*); gd_entry_t *_GD_ParseFieldSpec(DIRFILE *restrict, int, char**, Modified: trunk/getdata/src/legacy.c =================================================================== --- trunk/getdata/src/legacy.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/src/legacy.c 2012-06-28 00:24:07 UTC (rev 726) @@ -449,6 +449,7 @@ Format.n_mplex++; break; case GD_NO_ENTRY: + case GD_ALIAS_ENTRY: case GD_CONST_ENTRY: case GD_CARRAY_ENTRY: case GD_INDEX_ENTRY: @@ -526,6 +527,7 @@ case GD_CONST_ENTRY: case GD_CARRAY_ENTRY: case GD_INDEX_ENTRY: + case GD_ALIAS_ENTRY: case GD_NO_ENTRY: break; } Modified: trunk/getdata/src/mod.c =================================================================== --- trunk/getdata/src/mod.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/src/mod.c 2012-06-28 00:24:07 UTC (rev 726) @@ -894,6 +894,7 @@ /* INDEX may not be modified */ _GD_SetError(D, GD_E_BAD_FIELD_TYPE, GD_E_FIELD_BAD, NULL, 0, field_code); case GD_NO_ENTRY: + case GD_ALIAS_ENTRY: case GD_STRING_ENTRY: break; } Modified: trunk/getdata/src/native.c =================================================================== --- trunk/getdata/src/native.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/src/native.c 2012-06-28 00:24:07 UTC (rev 726) @@ -123,6 +123,7 @@ type = GD_NULL; break; case GD_NO_ENTRY: + case GD_ALIAS_ENTRY: _GD_InternalError(D); } Modified: trunk/getdata/src/nfields.c =================================================================== --- trunk/getdata/src/nfields.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/src/nfields.c 2012-06-28 00:24:07 UTC (rev 726) @@ -20,12 +20,12 @@ */ #include "internal.h" -unsigned int _GD_NEntries(DIRFILE *D, struct _gd_private_entry *p, - unsigned int type, unsigned int flags) +unsigned int _GD_NEntries(DIRFILE *D, struct _gd_private_entry *p, int type, + unsigned int flags) { int i; unsigned int u, n = 0; - const unsigned int special = (type & GD_SPECIAL_ENTRY_BIT) ? type : 0; + const int special = (type & GD_SPECIAL_ENTRY_BIT) ? type : 0; const gd_entype_t ctype = (type & GD_SPECIAL_ENTRY_BIT) ? GD_NO_ENTRY : (gd_entype_t)type; const int hidden = (flags & GD_ENTRIES_HIDDEN); @@ -54,7 +54,7 @@ return n; } -unsigned int gd_nentries(DIRFILE *D, const char *parent, unsigned int type, +unsigned int gd_nentries(DIRFILE *D, const char *parent, int type, unsigned int flags) gd_nothrow { unsigned int n; Modified: trunk/getdata/src/putdata.c =================================================================== --- trunk/getdata/src/putdata.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/src/putdata.c 2012-06-28 00:24:07 UTC (rev 726) @@ -764,6 +764,7 @@ case GD_STRING_ENTRY: n_wrote = _GD_DoStringOut(D, E, (const char *)data_in); break; + case GD_ALIAS_ENTRY: case GD_NO_ENTRY: _GD_InternalError(D); break; Modified: trunk/getdata/src/spf.c =================================================================== --- trunk/getdata/src/spf.c 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/src/spf.c 2012-06-28 00:24:07 UTC (rev 726) @@ -65,6 +65,7 @@ case GD_CONST_ENTRY: case GD_CARRAY_ENTRY: case GD_STRING_ENTRY: + case GD_ALIAS_ENTRY: case GD_NO_ENTRY: _GD_InternalError(D); } Property changes on: trunk/getdata/test ___________________________________________________________________ Modified: svn:ignore - Makefile Makefile.in *.o dirfile *.swp *.exe .deps .libs add add_affix add_alias add_alias_meta add_bit add_bit_bitnum add_bit_bitsize add_bit_invalid add_bit_numbits add_carray add_clincom add_code add_const add_cpolynom add_crecip add_crecip89 add_divide add_divide_invalid add_duplicate add_format add_invalid add_lincom add_lincom_invalid add_lincom_nfields add_linterp add_linterp_invalid add_meta add_meta_alias add_mplex add_mplex_val add_multiply add_multiply_invalid add_phase add_phase_invalid add_polynom add_protect add_raw add_raw_include add_raw_invalid add_raw_spf add_raw_type add_rdonly add_recip add_resolv add_sbit add_scalar add_scalar_carray add_sort add_spec add_spec_directive add_spec_invalid add_spec_meta add_spec_resolv add_string add_string_affix add_type add_window add_window_op alias_list alias_list_alias alias_list_missing alias_num alias_num_alias alias_num_missing alias_target alias_target_alias alias_target_missing alter_bit_bitnum alter_bit_numbits alter_carray_len alter_carray_type alter_const alter_cpolynom alter_crecip alter_crecip89 alter_crecip_zero alter_divide alter_entry alter_entry_affix alter_entry_hidden alter_entry_recode alter_entry_scalar2a alter_entry_scalar2n alter_entry_scalar3 alter_entry_scalar4 alter_lincom_23 alter_lincom_32 alter_lincom_input alter_lincom_offset alter_lincom_slope alter_linterp alter_linterp_move alter_mplex alter_mspec alter_mspec_affix alter_multiply alter_phase alter_polynom_coeff alter_polynom_input alter_polynom_ord alter_raw_spf alter_raw_type alter_recip alter_recip_zero alter_spec alter_spec_affix alter_spec_meta alter_window ascii_add ascii_get ascii_get_get ascii_nframes ascii_put bof bof_lincom bof_phase bzip_get bzip_get_get bzip_move_from bzip_nframes bzip_put close close_bad close_discard close_null convert_complex128_complex64 convert_complex128_float64 convert_complex128_int64 convert_complex128_uint64 convert_complex64_complex128 convert_complex64_float64 convert_complex64_int64 convert_complex64_uint64 convert_float32_complex128 convert_float32_complex64 convert_float32_float64 convert_float32_int16 convert_float32_int32 convert_float32_int64 convert_float32_int8 convert_float32_uint16 convert_float32_uint32 convert_float32_uint64 convert_float32_uint8 convert_float64_complex128 convert_float64_complex64 convert_float64_float32 convert_float64_int16 convert_float64_int32 convert_float64_int64 convert_float64_int8 convert_float64_uint16 convert_float64_uint32 convert_float64_uint64 convert_float64_uint8 convert_int16_complex128 convert_int16_complex64 convert_int16_float32 convert_int16_float64 convert_int16_int32 convert_int16_int64 convert_int16_int8 convert_int16_uint16 convert_int16_uint32 convert_int16_uint64 convert_int16_uint8 convert_int32_complex128 convert_int32_complex64 convert_int32_float32 convert_int32_float64 convert_int32_int16 convert_int32_int64 convert_int32_int8 convert_int32_uint16 convert_int32_uint32 convert_int32_uint64 convert_int32_uint8 convert_int64_complex128 convert_int64_complex64 convert_int64_float32 convert_int64_float64 convert_int64_int16 convert_int64_int32 convert_int64_int8 convert_int64_uint16 convert_int64_uint32 convert_int64_uint64 convert_int64_uint8 convert_int8_complex128 convert_int8_complex64 convert_int8_float32 convert_int8_float64 convert_int8_int16 convert_int8_int32 convert_int8_int64 convert_int8_uint16 convert_int8_uint32 convert_int8_uint64 convert_int8_uint8 convert_uint16_complex128 convert_uint16_complex64 convert_uint16_float32 convert_uint16_float64 convert_uint16_int16 convert_uint16_int32 convert_uint16_int64 convert_uint16_int8 convert_uint16_uint32 convert_uint16_uint64 convert_uint16_uint8 convert_uint32_complex128 convert_uint32_complex64 convert_uint32_float32 convert_uint32_float64 convert_uint32_int16 convert_uint32_int32 convert_uint32_int64 convert_uint32_int8 convert_uint32_uint16 convert_uint32_uint64 convert_uint32_uint8 convert_uint64_complex128 convert_uint64_complex64 convert_uint64_float32 convert_uint64_float64 convert_uint64_int16 convert_uint64_int32 convert_uint64_int64 convert_uint64_int8 convert_uint64_uint16 convert_uint64_uint32 convert_uint64_uint8 convert_uint8_complex128 convert_uint8_complex64 convert_uint8_float32 convert_uint8_float64 convert_uint8_int16 convert_uint8_int32 convert_uint8_int64 convert_uint8_int8 convert_uint8_uint16 convert_uint8_uint32 convert_uint8_uint64 creat creat_excl creat_rdonly cvlist cvlist_array cvlist_array_hidden cvlist_array_meta cvlist_array_meta_hidden cvlist_hidden cvlist_invalid cvlist_meta cvlist_meta_hidden cvlist_meta_invalid del del_carray del_carray_deref del_const del_const_deref del_const_force del_data del_derived del_derived_after del_derived_force del_meta del_meta_force desync desync_flush desync_reopen desync_reopen_inv dfes_bit dfes_divide dfes_lincom dfes_linterp dfes_multiply dfes_null dfes_phase dfes_raw dfes_recip dfes_zero elist_alias elist_hidden elist_scalar encode_alter encode_get encode_move endian_alter endian_alter_sie endian_get endian_move entry_bad_code entry_bit entry_bit_scalar entry_divide entry_invalid entry_lincom entry_lincom_scalar entry_linterp entry_mplex entry_mplex_scalar entry_multiply entry_phase entry_phase_scalar entry_polynom entry_polynom_scalar entry_raw entry_raw_scalar entry_raw_scalar_code entry_raw_scalar_type entry_recip entry_scalar_repr entry_type entry_type_alias entry_window entry_window_scalar eof eof_index eof_lincom eof_phase error error_error error_num error_short error_verbose error_verbose_prefix file file_code file_type flist flist_hidden flist_invalid flist_meta flist_meta_hidden flist_meta_invalid flist_type flist_type_hidden flist_type_invalid flist_type_meta flist_type_meta_hidden flist_type_meta_invalid flush flush_all flush_bad_code flush_invalid flush_meta flush_spec foffs_alter foffs_get foffs_move fragment_affix fragment_affix_alter fragment_affix_alter2 fragment_affix_dup fragment_index fragment_index_alias fragment_name fragment_name_oor fragment_num fragment_parent get64 get_bad_code get_bit get_carray get_carray_len get_carray_slice get_char get_clincom get_complex128 get_complex64 get_const get_const_complex get_const_repr get_cpolynom get_divide get_endian16 get_endian32 get_endian64 get_endian8 get_endian_complex128_arm get_endian_complex128_big get_endian_complex128_little get_endian_complex64_arm get_endian_complex64_big get_endian_complex64_little get_endian_float32_arm get_endian_float32_big get_endian_float32_little get_endian_float64_arm get_endian_float64_big get_endian_float64_little get_ff get_float32 get_float64 get_foffs get_fs get_here get_here_foffs get_heres get_int16 get_int32 get_int64 get_int8 get_invalid get_lincom1 get_lincom2 get_lincom3 get_lincom_noin get_lincom_non get_lincom_null get_lincom_spf get_linterp get_linterp_noin get_linterp_notab get_linterp_sort get_mplex get_mplex_lb get_mplex_lball get_mplex_nolb get_multiply get_multiply_noin get_nonexistent get_null get_off64 get_phase get_phase_affix get_polynom get_polynom_noin get_recip get_recip_const get_recurse get_rofs get_sbit get_sf get_ss get_type get_uint16 get_uint32 get_uint64 get_window get_window_clr get_window_ge get_window_gt get_window_le get_window_lt get_window_ne get_window_set get_zero global_flags global_name global_ref global_ref_empty global_ref_set gzip_add gzip_get gzip_get_get gzip_get_put gzip_move_from gzip_move_to gzip_nframes gzip_put gzip_put_get header_complex hide hide_hidden hide_unhide include include_accmode include_affix include_auto include_cb include_creat include_ignore include_index include_invalid include_nonexistent include_pc include_ref include_syntax index index_domain index_range legacy_get legacy_get_put legacy_get_rofs legacy_nframes legacy_nonexistent legacy_put legacy_spf lzma_get lzma_nframes madd madd_affix madd_alias madd_bit madd_bit_invalid madd_carray madd_clincom madd_const madd_cpolynom madd_crecip madd_crecip89 madd_divide madd_index madd_lincom madd_lincom_invalid madd_linterp madd_linterp_invalid madd_mplex madd_multiply madd_multiply_invalid madd_phase madd_phase_invalid madd_polynom madd_recip madd_sbit madd_spec madd_spec_directive madd_spec_invalid madd_spec_resolv madd_string madd_window move move_affix move_affix_dup move_alias move_data_enc_ar move_data_enc_ra move_data_endian move_data_foffs move_data_nop move_index move_meta move_protect move_subdir name name_affix name_affix_bad name_alias name_dup name_move name_move_alias name_updb name_updb_alias name_updb_const name_updb_const_alias nentries_alias nentries_hidden nentries_scalar nfields nfields_hidden nfields_invalid nfields_type nfields_type_hidden nfields_type_invalid nfields_vector nfields_vector_hidden nfields_vector_invalid nframes nframes64 nframes_empty nframes_invalid nframes_off64 nframes_spf nmeta nmeta_hidden nmeta_invalid nmeta_parent nmeta_type nmeta_type_hidden nmeta_type_invalid nmeta_type_parent nmeta_vectors nmeta_vectors_del nmeta_vectors_hidden nmeta_vectors_invalid nmeta_vectors_parent open open_abs open_cb_abort open_cb_cont open_cb_ignore open_cb_invalid open_cb_rescan open_eaccess open_nonexistent open_notdirfile parse_alias parse_alias_code parse_alias_dup parse_alias_meta parse_alias_missing parse_badline parse_bit parse_bit4 parse_bit_bitnum parse_bit_bitsize parse_bit_ncols parse_bit_numbits parse_bit_scalar parse_carray parse_carray_long parse_const parse_const_ncols parse_divide parse_duplicate parse_duplicate_ignore parse_endian_bad parse_endian_big parse_endian_force parse_endian_little parse_endian_slash parse_eol parse_foffs parse_foffs_include parse_foffs_slash parse_hidden parse_hidden_field parse_hidden_meta parse_include parse_include_absolute parse_include_absrel parse_include_loop parse_include_nonexistent parse_include_prefix parse_include_prefix_dup parse_include_preprefix parse_include_relabs parse_include_relrel parse_include_slash parse_include_suffix parse_include_sufsuffix parse_index parse_lincom parse_lincom_ncols1 parse_lincom_ncols2 parse_lincom_nfields parse_lincom_nofields parse_lincom_non parse_lincom_non_ncols parse_lincom_scalar parse_linterp parse_linterp_ncols parse_malias parse_malias_dup parse_malias_meta parse_meta parse_meta_affix parse_meta_alias parse_meta_implicit parse_meta_implicit2 parse_meta_implicit_affix parse_meta_index parse_meta_index2 parse_meta_jump parse_meta_malias parse_meta_meta parse_meta_parent parse_meta_raw parse_mplex parse_mplex_ncols parse_mplex_nomax parse_mplex_scalar parse_multiply parse_multiply_ncols parse_name parse_name_dot parse_name_ext parse_name_pedantic parse_ncols parse_phase parse_phase_ncols parse_phase_scalar parse_polynom parse_polynom_ncols1 parse_polynom_ncols2 parse_polynom_scalar parse_protect_all parse_protect_bad parse_protect_data parse_protect_format parse_protect_none parse_quote parse_quote_mismatch parse_raw parse_raw_char parse_raw_ncols parse_raw_scalar parse_raw_spf parse_raw_type parse_recip parse_ref parse_ref_nonexistent parse_sbit parse_sort parse_string parse_string_ncols parse_string_null parse_version parse_version_89 parse_version_98 parse_version_include parse_version_p8 parse_version_p9 parse_version_permissive parse_version_slash parse_whitespace parse_window parse_window_ncols parse_window_op parse_window_scalar protect_alter protect_get put64 put_bad_code put_bit put_bof put_carray put_carray_slice put_char put_complex128 put_complex64 put_const put_const_protect put_divide put_endian16 put_endian32 put_endian64 put_endian8 put_endian_complex128_arm put_endian_complex128_big put_endian_complex128_little put_endian_complex64_arm put_endian_complex64_big put_endian_complex64_little put_endian_float32_arm put_endian_float32_big put_endian_float32_little put_endian_float64_arm put_endian_float64_big put_endian_float64_little put_ff put_float32 put_float64 put_foffs put_fs put_here put_heres put_int16 put_int32 put_int64 put_int8 put_invalid put_lincom1 put_lincom2 put_lincom_noin put_linterp put_linterp_noin put_linterp_nomono put_linterp_notab put_linterp_reverse put_mplex put_multiply put_null put_off64 put_phase put_phase_noin put_polynom1 put_polynom2 put_polynom_noin put_protect put_rdonly put_recip put_recurse put_repr put_rofs put_sbit put_sf put_ss put_string put_string_protect put_type put_uint16 put_uint32 put_uint64 put_window put_zero ref ref_none ref_two repr_a repr_float32 repr_float64 repr_i repr_int16 repr_int32 repr_int64 repr_int8 repr_m repr_r repr_real_a repr_real_i repr_real_m repr_real_r repr_uint16 repr_uint32 repr_uint64 repr_uint8 seek64 seek_cur seek_end seek_foffs seek_set sie_get_big sie_get_little sie_move_from sie_move_to sie_nframes_big sie_nframes_little sie_put_big sie_put_little slim_get slim_nframes slim_put spf spf_alias spf_alias_meta spf_alias_missing spf_divide spf_lincom spf_multiply spf_polynom spf_recip spf_recurse svlist svlist_hidden svlist_invalid svlist_meta svlist_meta_hidden svlist_meta_invalid tell tell64 trunc trunc_dir trunc_rdonly trunc_rofs trunc_truncsub unclude unclude_del unclude_move version_0 version_0_write version_1 version_1_write version_2 version_2_write version_3 version_3_write version_4 version_4_write version_5 version_5_strict version_5_write version_6 version_6_strict version_6_write version_7 version_7_strict version_7_write version_8 version_8_strict version_8_write version_9 version_9_strict version_9_write vlist vlist_alias vlist_hidden vlist_invalid vlist_meta vlist_meta_hidden vlist_meta_invalid xz_get xz_nframes zzip_data zzip_get zzip_get_get zzip_nframes zzslim_get zzslim_nframes + Makefile Makefile.in *.o dirfile *.swp *.exe .deps .libs add add_affix add_alias add_alias_meta add_bit add_bit_bitnum add_bit_bitsize add_bit_invalid add_bit_numbits add_carray add_clincom add_code add_const add_cpolynom add_crecip add_crecip89 add_divide add_divide_invalid add_duplicate add_format add_invalid add_lincom add_lincom_invalid add_lincom_nfields add_linterp add_linterp_invalid add_meta add_meta_alias add_mplex add_mplex_val add_multiply add_multiply_invalid add_phase add_phase_invalid add_polynom add_protect add_raw add_raw_include add_raw_invalid add_raw_spf add_raw_type add_rdonly add_recip add_resolv add_sbit add_scalar add_scalar_carray add_sort add_spec add_spec_directive add_spec_invalid add_spec_meta add_spec_resolv add_string add_string_affix add_type add_window add_window_op alias_list alias_list_alias alias_list_missing alias_num alias_num_alias alias_num_missing alias_target alias_target_alias alias_target_missing alter_bit_bitnum alter_bit_numbits alter_carray_len alter_carray_type alter_const alter_cpolynom alter_crecip alter_crecip89 alter_crecip_zero alter_divide alter_entry alter_entry_affix alter_entry_hidden alter_entry_recode alter_entry_scalar2a alter_entry_scalar2n alter_entry_scalar3 alter_entry_scalar4 alter_lincom_23 alter_lincom_32 alter_lincom_input alter_lincom_offset alter_lincom_slope alter_linterp alter_linterp_move alter_mplex alter_mspec alter_mspec_affix alter_multiply alter_phase alter_polynom_coeff alter_polynom_input alter_polynom_ord alter_raw_spf alter_raw_type alter_recip alter_recip_zero alter_spec alter_spec_affix alter_spec_meta alter_window ascii_add ascii_get ascii_get_get ascii_nframes ascii_put bof bof_lincom bof_phase bzip_get bzip_get_get bzip_move_from bzip_nframes bzip_put close close_bad close_discard close_null convert_complex128_complex64 convert_complex128_float64 convert_complex128_int64 convert_complex128_uint64 convert_complex64_complex128 convert_complex64_float64 convert_complex64_int64 convert_complex64_uint64 convert_float32_complex128 convert_float32_complex64 convert_float32_float64 convert_float32_int16 convert_float32_int32 convert_float32_int64 convert_float32_int8 convert_float32_uint16 convert_float32_uint32 convert_float32_uint64 convert_float32_uint8 convert_float64_complex128 convert_float64_complex64 convert_float64_float32 convert_float64_int16 convert_float64_int32 convert_float64_int64 convert_float64_int8 convert_float64_uint16 convert_float64_uint32 convert_float64_uint64 convert_float64_uint8 convert_int16_complex128 convert_int16_complex64 convert_int16_float32 convert_int16_float64 convert_int16_int32 convert_int16_int64 convert_int16_int8 convert_int16_uint16 convert_int16_uint32 convert_int16_uint64 convert_int16_uint8 convert_int32_complex128 convert_int32_complex64 convert_int32_float32 convert_int32_float64 convert_int32_int16 convert_int32_int64 convert_int32_int8 convert_int32_uint16 convert_int32_uint32 convert_int32_uint64 convert_int32_uint8 convert_int64_complex128 convert_int64_complex64 convert_int64_float32 convert_int64_float64 convert_int64_int16 convert_int64_int32 convert_int64_int8 convert_int64_uint16 convert_int64_uint32 convert_int64_uint64 convert_int64_uint8 convert_int8_complex128 convert_int8_complex64 convert_int8_float32 convert_int8_float64 convert_int8_int16 convert_int8_int32 convert_int8_int64 convert_int8_uint16 convert_int8_uint32 convert_int8_uint64 convert_int8_uint8 convert_uint16_complex128 convert_uint16_complex64 convert_uint16_float32 convert_uint16_float64 convert_uint16_int16 convert_uint16_int32 convert_uint16_int64 convert_uint16_int8 convert_uint16_uint32 convert_uint16_uint64 convert_uint16_uint8 convert_uint32_complex128 convert_uint32_complex64 convert_uint32_float32 convert_uint32_float64 convert_uint32_int16 convert_uint32_int32 convert_uint32_int64 convert_uint32_int8 convert_uint32_uint16 convert_uint32_uint64 convert_uint32_uint8 convert_uint64_complex128 convert_uint64_complex64 convert_uint64_float32 convert_uint64_float64 convert_uint64_int16 convert_uint64_int32 convert_uint64_int64 convert_uint64_int8 convert_uint64_uint16 convert_uint64_uint32 convert_uint64_uint8 convert_uint8_complex128 convert_uint8_complex64 convert_uint8_float32 convert_uint8_float64 convert_uint8_int16 convert_uint8_int32 convert_uint8_int64 convert_uint8_int8 convert_uint8_uint16 convert_uint8_uint32 convert_uint8_uint64 creat creat_excl creat_rdonly cvlist cvlist_array cvlist_array_hidden cvlist_array_meta cvlist_array_meta_hidden cvlist_hidden cvlist_invalid cvlist_meta cvlist_meta_hidden cvlist_meta_invalid del del_carray del_carray_deref del_const del_const_deref del_const_force del_data del_derived del_derived_after del_derived_force del_meta del_meta_force desync desync_flush desync_reopen desync_reopen_inv dfes_bit dfes_divide dfes_lincom dfes_linterp dfes_multiply dfes_null dfes_phase dfes_raw dfes_recip dfes_zero elist_alias elist_hidden elist_noalias elist_scalar encode_alter encode_get encode_move endian_alter endian_alter_sie endian_get endian_move entry_bad_code entry_bit entry_bit_scalar entry_divide entry_invalid entry_lincom entry_lincom_scalar entry_linterp entry_mplex entry_mplex_scalar entry_multiply entry_phase entry_phase_scalar entry_polynom entry_polynom_scalar entry_raw entry_raw_scalar entry_raw_scalar_code entry_raw_scalar_type entry_recip entry_scalar_repr entry_type entry_type_alias entry_window entry_window_scalar eof eof_index eof_lincom eof_phase error error_error error_num error_short error_verbose error_verbose_prefix file file_code file_type flist flist_hidden flist_invalid flist_meta flist_meta_hidden flist_meta_invalid flist_type flist_type_hidden flist_type_invalid flist_type_meta flist_type_meta_hidden flist_type_meta_invalid flush flush_all flush_bad_code flush_invalid flush_meta flush_spec foffs_alter foffs_get foffs_move fragment_affix fragment_affix_alter fragment_affix_alter2 fragment_affix_dup fragment_index fragment_index_alias fragment_name fragment_name_oor fragment_num fragment_parent get64 get_bad_code get_bit get_carray get_carray_len get_carray_slice get_char get_clincom get_complex128 get_complex64 get_const get_const_complex get_const_repr get_cpolynom get_divide get_endian16 get_endian32 get_endian64 get_endian8 get_endian_complex128_arm get_endian_complex128_big get_endian_complex128_little get_endian_complex64_arm get_endian_complex64_big get_endian_complex64_little get_endian_float32_arm get_endian_float32_big get_endian_float32_little get_endian_float64_arm get_endian_float64_big get_endian_float64_little get_ff get_float32 get_float64 get_foffs get_fs get_here get_here_foffs get_heres get_int16 get_int32 get_int64 get_int8 get_invalid get_lincom1 get_lincom2 get_lincom3 get_lincom_noin get_lincom_non get_lincom_null get_lincom_spf get_linterp get_linterp_noin get_linterp_notab get_linterp_sort get_mplex get_mplex_lb get_mplex_lball get_mplex_nolb get_multiply get_multiply_noin get_nonexistent get_null get_off64 get_phase get_phase_affix get_polynom get_polynom_noin get_recip get_recip_const get_recurse get_rofs get_sbit get_sf get_ss get_type get_uint16 get_uint32 get_uint64 get_window get_window_clr get_window_ge get_window_gt get_window_le get_window_lt get_window_ne get_window_set get_zero global_flags global_name global_ref global_ref_empty global_ref_set gzip_add gzip_get gzip_get_get gzip_get_put gzip_move_from gzip_move_to gzip_nframes gzip_put gzip_put_get header_complex hide hide_hidden hide_unhide include include_accmode include_affix include_auto include_cb include_creat include_ignore include_index include_invalid include_nonexistent include_pc include_ref include_syntax index index_domain index_range legacy_get legacy_get_put legacy_get_rofs legacy_nframes legacy_nonexistent legacy_put legacy_spf lzma_get lzma_nframes madd madd_affix madd_alias madd_bit madd_bit_invalid madd_carray madd_clincom madd_const madd_cpolynom madd_crecip madd_crecip89 madd_divide madd_index madd_lincom madd_lincom_invalid madd_linterp madd_linterp_invalid madd_mplex madd_multiply madd_multiply_invalid madd_phase madd_phase_invalid madd_polynom madd_recip madd_sbit madd_spec madd_spec_directive madd_spec_invalid madd_spec_resolv madd_string madd_window move move_affix move_affix_dup move_alias move_data_enc_ar move_data_enc_ra move_data_endian move_data_foffs move_data_nop move_index move_meta move_protect move_subdir name name_affix name_affix_bad name_alias name_dup name_move name_move_alias name_updb name_updb_alias name_updb_const name_updb_const_alias nentries_alias nentries_hidden nentries_noalias nentries_scalar nfields nfields_hidden nfields_invalid nfields_type nfields_type_hidden nfields_type_invalid nfields_vector nfields_vector_hidden nfields_vector_invalid nframes nframes64 nframes_empty nframes_invalid nframes_off64 nframes_spf nmeta nmeta_hidden nmeta_invalid nmeta_parent nmeta_type nmeta_type_hidden nmeta_type_invalid nmeta_type_parent nmeta_vectors nmeta_vectors_del nmeta_vectors_hidden nmeta_vectors_invalid nmeta_vectors_parent open open_abs open_cb_abort open_cb_cont open_cb_ignore open_cb_invalid open_cb_rescan open_eaccess open_nonexistent open_notdirfile parse_alias parse_alias_code parse_alias_dup parse_alias_meta parse_alias_missing parse_badline parse_bit parse_bit4 parse_bit_bitnum parse_bit_bitsize parse_bit_ncols parse_bit_numbits parse_bit_scalar parse_carray parse_carray_long parse_const parse_const_ncols parse_divide parse_duplicate parse_duplicate_ignore parse_endian_bad parse_endian_big parse_endian_force parse_endian_little parse_endian_slash parse_eol parse_foffs parse_foffs_include parse_foffs_slash parse_hidden parse_hidden_field parse_hidden_meta parse_include parse_include_absolute parse_include_absrel parse_include_loop parse_include_nonexistent parse_include_prefix parse_include_prefix_dup parse_include_preprefix parse_include_relabs parse_include_relrel parse_include_slash parse_include_suffix parse_include_sufsuffix parse_index parse_lincom parse_lincom_ncols1 parse_lincom_ncols2 parse_lincom_nfields parse_lincom_nofields parse_lincom_non parse_lincom_non_ncols parse_lincom_scalar parse_linterp parse_linterp_ncols parse_malias parse_malias_dup parse_malias_meta parse_meta parse_meta_affix parse_meta_alias parse_meta_implicit parse_meta_implicit2 parse_meta_implicit_affix parse_meta_index parse_meta_index2 parse_meta_jump parse_meta_malias parse_meta_meta parse_meta_parent parse_meta_raw parse_mplex parse_mplex_ncols parse_mplex_nomax parse_mplex_scalar parse_multiply parse_multiply_ncols parse_name parse_name_dot parse_name_ext parse_name_pedantic parse_ncols parse_phase parse_phase_ncols parse_phase_scalar parse_polynom parse_polynom_ncols1 parse_polynom_ncols2 parse_polynom_scalar parse_protect_all parse_protect_bad parse_protect_data parse_protect_format parse_protect_none parse_quote parse_quote_mismatch parse_raw parse_raw_char parse_raw_ncols parse_raw_scalar parse_raw_spf parse_raw_type parse_recip parse_ref parse_ref_nonexistent parse_sbit parse_sort parse_string parse_string_ncols parse_string_null parse_version parse_version_89 parse_version_98 parse_version_include parse_version_p8 parse_version_p9 parse_version_permissive parse_version_slash parse_whitespace parse_window parse_window_ncols parse_window_op parse_window_scalar protect_alter protect_get put64 put_bad_code put_bit put_bof put_carray put_carray_slice put_char put_complex128 put_complex64 put_const put_const_protect put_divide put_endian16 put_endian32 put_endian64 put_endian8 put_endian_complex128_arm put_endian_complex128_big put_endian_complex128_little put_endian_complex64_arm put_endian_complex64_big put_endian_complex64_little put_endian_float32_arm put_endian_float32_big put_endian_float32_little put_endian_float64_arm put_endian_float64_big put_endian_float64_little put_ff put_float32 put_float64 put_foffs put_fs put_here put_heres put_int16 put_int32 put_int64 put_int8 put_invalid put_lincom1 put_lincom2 put_lincom_noin put_linterp put_linterp_noin put_linterp_nomono put_linterp_notab put_linterp_reverse put_mplex put_multiply put_null put_off64 put_phase put_phase_noin put_polynom1 put_polynom2 put_polynom_noin put_protect put_rdonly put_recip put_recurse put_repr put_rofs put_sbit put_sf put_ss put_string put_string_protect put_type put_uint16 put_uint32 put_uint64 put_window put_zero ref ref_none ref_two repr_a repr_float32 repr_float64 repr_i repr_int16 repr_int32 repr_int64 repr_int8 repr_m repr_r repr_real_a repr_real_i repr_real_m repr_real_r repr_uint16 repr_uint32 repr_uint64 repr_uint8 seek64 seek_cur seek_end seek_foffs seek_set sie_get_big sie_get_little sie_move_from sie_move_to sie_nframes_big sie_nframes_little sie_put_big sie_put_little slim_get slim_nframes slim_put spf spf_alias spf_alias_meta spf_alias_missing spf_divide spf_lincom spf_multiply spf_polynom spf_recip spf_recurse svlist svlist_hidden svlist_invalid svlist_meta svlist_meta_hidden svlist_meta_invalid tell tell64 trunc trunc_dir trunc_rdonly trunc_rofs trunc_truncsub unclude unclude_del unclude_move version_0 version_0_write version_1 version_1_write version_2 version_2_write version_3 version_3_write version_4 version_4_write version_5 version_5_strict version_5_write version_6 version_6_strict version_6_write version_7 version_7_strict version_7_write version_8 version_8_strict version_8_write version_9 version_9_strict version_9_write vlist vlist_alias vlist_hidden vlist_invalid vlist_meta vlist_meta_hidden vlist_meta_invalid xz_get xz_nframes zzip_data zzip_get zzip_get_get zzip_nframes zzslim_get zzslim_nframes Modified: trunk/getdata/test/Makefile.am =================================================================== --- trunk/getdata/test/Makefile.am 2012-06-27 23:16:46 UTC (rev 725) +++ trunk/getdata/test/Makefile.am 2012-06-28 00:24:07 UTC (rev 726) @@ -135,7 +135,7 @@ DESYNC_TESTS=desync desync_flush desync_reopen desync_reopen_inv -ELIST_TESTS=elist_alias elist_hidden elist_scalar +ELIST_TESTS=elist_alias elist_hidden elist_noalias elist_scalar ENCODE_TESTS=encode_alter encode_get encode_move @@ -228,7 +228,7 @@ name_move_alias name_updb name_updb_alias name_updb_const \ name_updb_const_alias -NENTRIES_TESTS=nentries_alias nentries_hidden nentries_scalar +NENTRIES_TESTS=nentries_alias nentries_hidden nentries_noalias nentries_scalar NFIELDS_TESTS=nfields nfields_hidden nfields_invalid nfields_type \ nfields_type_hidden nfields_type_invalid nfields_vector \ Added: trunk/getdata/test/elist_alias.c =================================================================== --- trunk/getdata/test/elist_alias.c (rev 0) +++ trunk/getdata/test/elist_alias.c 2012-06-28 00:24:07 UTC (rev 726) @@ -0,0 +1,78 @@ +/* Copyright (C) 2012 D. V. Wiebe + * + *************************************************************************** + * + * This file is part of the GetData project. + * + * GetData is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation; either version 2.1 of the License, or (at your + * option) any later version. + * + * GetData is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with GetData; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ +#include "test.h" + +#include <stdlib.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <stdio.h> +#include <string.h> +#include <errno.h> + +int main(void) +{ + const char *filedir = "dirfile"; + const char *format = "dirfile/format"; + const char *format_data = + "data1 RAW UINT8 1\n" + "/ALIAS data2 data1\n" + "/ALIAS data3 data4\n"; + int fd, i, error, r = 0; + const char **field_list; + DIRFILE *D; + + rmdirfile(); + mkdir(filedir, 0777); + + fd = open(format, O_CREAT | O_EXCL | O_WRONLY, 0666); + write(fd, format_data, strlen(format_data)); + close(fd); + + D = gd_open(filedir, GD_RDONLY | GD_VERBOSE); + field_list = gd_entry_list(D, NULL, GD_ALIAS_ENTRIES, 0); + + error = gd_error(D); + + CHECKI(error, 0); + CHECKPN(field_list); + + for (i = 0; ; ++i) { + if (field_list[i] == NULL) + break; + + if (strcmp(field_list[i], "data3") == 0) + continue; + else if (strcmp(field_list[i], "data2") == 0) + continue; + + fprintf(stderr, "field_list[%i] = \"%s\"\n", i, field_list[i]); + r = 1; + } + + CHECKI(i, 2); + + gd_close(D); + unlink(format); + rmdir(filedir); + + return r; +} Property changes on: trunk/getdata/test/elist_alias.c ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/getdata/test/nentries_alias.c =================================================================== --- trunk/getdata/test/nentries_alias.c (rev 0) +++ trunk/getdata/test/nentries_alias.c 2012-06-28 00:24:07 UTC (rev 726) @@ -0,0 +1,61 @@ +/* Copyright (C) 2012 D. V. Wiebe + * + *************************************************************************** + * + * This file is part of the GetData project. + * + * GetData is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation; either version 2.1 of the License, or (at your + * option) any later version. + * + * GetData is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with GetData; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ +#include "test.h" + +#include <stdlib.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <string.h> +#include <errno.h> + +int main(void) +{ + const char *filedir = "dirfile"; + const char *format = "dirfile/format"; + const char *format_data = + "data1 RAW UINT8 1\n" + "/ALIAS data2 data1\n" + "/ALIAS data3 data4\n"; + int fd, error, r = 0; + unsigned int nfields; + DIRFILE *D; + + rmdirfile(); + mkdir(filedir, 0777); + + fd = open(format, O_CREAT | O_EXCL | O_WRONLY, 0666); + write(fd, format_data, strlen(format_data)); + close(fd); + + D = gd_open(filedir, GD_RDONLY | GD_VERBOSE); + nfields = gd_nentries(D, NULL, GD_ALIAS_ENTRIES, 0); + error =... [truncated message content] |
From: <ket...@us...> - 2012-06-27 23:16:53
|
Revision: 725 http://getdata.svn.sourceforge.net/getdata/?rev=725&view=rev Author: ketiltrout Date: 2012-06-27 23:16:46 +0000 (Wed, 27 Jun 2012) Log Message: ----------- Rename. Added Paths: ----------- trunk/getdata/test/elist_noalias.c trunk/getdata/test/nentries_noalias.c Removed Paths: ------------- trunk/getdata/test/elist_alias.c trunk/getdata/test/nentries_alias.c Deleted: trunk/getdata/test/elist_alias.c =================================================================== --- trunk/getdata/test/elist_alias.c 2012-06-27 00:51:18 UTC (rev 724) +++ trunk/getdata/test/elist_alias.c 2012-06-27 23:16:46 UTC (rev 725) @@ -1,75 +0,0 @@ -/* Copyright (C) 2011 D. V. Wiebe - * - *************************************************************************** - * - * This file is part of the GetData project. - * - * GetData is free software; you can redistribute it and/or modify it under - * the terms of the GNU Lesser General Public License as published by the - * Free Software Foundation; either version 2.1 of the License, or (at your - * option) any later version. - * - * GetData is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public - * License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with GetData; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ -#include "test.h" - -int main(void) -{ - const char *filedir = "dirfile"; - const char *format = "dirfile/format"; - const char *format_data = - "data1 RAW UINT8 1\n" - "data2 RAW UINT8 1\n" - "data3 RAW UINT8 1\n" - "/ALIAS data4 data32\n"; - int fd, i, error, r = 0; - const char **entry_list; - DIRFILE *D; - - rmdirfile(); - mkdir(filedir, 0777); - - fd = open(format, O_CREAT | O_EXCL | O_WRONLY, 0666); - write(fd, format_data, strlen(format_data)); - close(fd); - - D = gd_open(filedir, GD_RDONLY | GD_VERBOSE); - entry_list = gd_entry_list(D, NULL, GD_ALL_ENTRIES, GD_ENTRIES_NOALIAS); - - error = gd_error(D); - - CHECKI(error, 0); - CHECKPN(entry_list); - - for (i = 0; ; ++i) { - if (entry_list[i] == NULL) - break; - - if (strcmp(entry_list[i], "data1") == 0) - continue; - else if (strcmp(entry_list[i], "data2") == 0) - continue; - else if (strcmp(entry_list[i], "data3") == 0) - continue; - else if (strcmp(entry_list[i], "INDEX") == 0) - continue; - - fprintf(stderr, "entry_list[%i] = \"%s\"\n", i, entry_list[i]); - r = 1; - } - - CHECKI(i, 4); - - gd_close(D); - unlink(format); - rmdir(filedir); - - return r; -} Copied: trunk/getdata/test/elist_noalias.c (from rev 724, trunk/getdata/test/elist_alias.c) =================================================================== --- trunk/getdata/test/elist_noalias.c (rev 0) +++ trunk/getdata/test/elist_noalias.c 2012-06-27 23:16:46 UTC (rev 725) @@ -0,0 +1,75 @@ +/* Copyright (C) 2011 D. V. Wiebe + * + *************************************************************************** + * + * This file is part of the GetData project. + * + * GetData is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation; either version 2.1 of the License, or (at your + * option) any later version. + * + * GetData is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with GetData; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ +#include "test.h" + +int main(void) +{ + const char *filedir = "dirfile"; + const char *format = "dirfile/format"; + const char *format_data = + "data1 RAW UINT8 1\n" + "data2 RAW UINT8 1\n" + "data3 RAW UINT8 1\n" + "/ALIAS data4 data32\n"; + int fd, i, error, r = 0; + const char **entry_list; + DIRFILE *D; + + rmdirfile(); + mkdir(filedir, 0777); + + fd = open(format, O_CREAT | O_EXCL | O_WRONLY, 0666); + write(fd, format_data, strlen(format_data)); + close(fd); + + D = gd_open(filedir, GD_RDONLY | GD_VERBOSE); + entry_list = gd_entry_list(D, NULL, GD_ALL_ENTRIES, GD_ENTRIES_NOALIAS); + + error = gd_error(D); + + CHECKI(error, 0); + CHECKPN(entry_list); + + for (i = 0; ; ++i) { + if (entry_list[i] == NULL) + break; + + if (strcmp(entry_list[i], "data1") == 0) + continue; + else if (strcmp(entry_list[i], "data2") == 0) + continue; + else if (strcmp(entry_list[i], "data3") == 0) + continue; + else if (strcmp(entry_list[i], "INDEX") == 0) + continue; + + fprintf(stderr, "entry_list[%i] = \"%s\"\n", i, entry_list[i]); + r = 1; + } + + CHECKI(i, 4); + + gd_close(D); + unlink(format); + rmdir(filedir); + + return r; +} Deleted: trunk/getdata/test/nentries_alias.c =================================================================== --- trunk/getdata/test/nentries_alias.c 2012-06-27 00:51:18 UTC (rev 724) +++ trunk/getdata/test/nentries_alias.c 2012-06-27 23:16:46 UTC (rev 725) @@ -1,66 +0,0 @@ -/* Copyright (C) 2012 D. V. Wiebe - * - *************************************************************************** - * - * This file is part of the GetData project. - * - * GetData is free software; you can redistribute it and/or modify it under - * the terms of the GNU Lesser General Public License as published by the - * Free Software Foundation; either version 2.1 of the License, or (at your - * option) any later version. - * - * GetData is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public - * License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with GetData; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ -#include "test.h" - -int main(void) -{ - const char *filedir = "dirfile"; - const char *format = "dirfile/format"; - const char *format_data = - "raw1 RAW UINT8 1\n" - "META raw1 linterp1 LINTERP raw2 table\n" - "META raw1 linterp2 LINTERP raw3 table\n" - "META raw1 linterp3 LINTERP raw4 table\n" - "META raw1 const CONST UINT8 1\n" - "META raw1 string STRING value\n" - "META raw1 string2 STRING value\n" - "/ALIAS raw0 raw1\n" - "/ALIAS raw1/const2 raw1/const\n" - "raw2 RAW UINT8 1\n" - "raw3 RAW UINT8 1\n" - "raw4 RAW UINT8 1\n" - "const CONST UINT8 1\n" - "string STRING value\n" - "string2 STRING value\n"; - int fd, error, r = 0; - unsigned int nfields; - DIRFILE *D; - - rmdirfile(); - mkdir(filedir, 0777); - - fd = open(format, O_CREAT | O_EXCL | O_WRONLY, 0666); - write(fd, format_data, strlen(format_data)); - close(fd); - - D = gd_open(filedir, GD_RDONLY | GD_VERBOSE); - nfields = gd_nentries(D, NULL, GD_ALL_ENTRIES, GD_ENTRIES_NOALIAS); - error = gd_error(D); - gd_close(D); - - unlink(format); - rmdir(filedir); - - CHECKI(error, 0); - CHECKI(nfields, 8); - - return r; -} Copied: trunk/getdata/test/nentries_noalias.c (from rev 724, trunk/getdata/test/nentries_alias.c) =================================================================== --- trunk/getdata/test/nentries_noalias.c (rev 0) +++ trunk/getdata/test/nentries_noalias.c 2012-06-27 23:16:46 UTC (rev 725) @@ -0,0 +1,66 @@ +/* Copyright (C) 2012 D. V. Wiebe + * + *************************************************************************** + * + * This file is part of the GetData project. + * + * GetData is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation; either version 2.1 of the License, or (at your + * option) any later version. + * + * GetData is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with GetData; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ +#include "test.h" + +int main(void) +{ + const char *filedir = "dirfile"; + const char *format = "dirfile/format"; + const char *format_data = + "raw1 RAW UINT8 1\n" + "META raw1 linterp1 LINTERP raw2 table\n" + "META raw1 linterp2 LINTERP raw3 table\n" + "META raw1 linterp3 LINTERP raw4 table\n" + "META raw1 const CONST UINT8 1\n" + "META raw1 string STRING value\n" + "META raw1 string2 STRING value\n" + "/ALIAS raw0 raw1\n" + "/ALIAS raw1/const2 raw1/const\n" + "raw2 RAW UINT8 1\n" + "raw3 RAW UINT8 1\n" + "raw4 RAW UINT8 1\n" + "const CONST UINT8 1\n" + "string STRING value\n" + "string2 STRING value\n"; + int fd, error, r = 0; + unsigned int nfields; + DIRFILE *D; + + rmdirfile(); + mkdir(filedir, 0777); + + fd = open(format, O_CREAT | O_EXCL | O_WRONLY, 0666); + write(fd, format_data, strlen(format_data)); + close(fd); + + D = gd_open(filedir, GD_RDONLY | GD_VERBOSE); + nfields = gd_nentries(D, NULL, GD_ALL_ENTRIES, GD_ENTRIES_NOALIAS); + error = gd_error(D); + gd_close(D); + + unlink(format); + rmdir(filedir); + + CHECKI(error, 0); + CHECKI(nfields, 8); + + return r; +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-06-27 00:51:28
|
Revision: 724 http://getdata.svn.sourceforge.net/getdata/?rev=724&view=rev Author: ketiltrout Date: 2012-06-27 00:51:18 +0000 (Wed, 27 Jun 2012) Log Message: ----------- Sanity fix: delete gd_rename_alias and make gd_rename not deref. Doc updates. Modified Paths: -------------- trunk/getdata/ChangeLog trunk/getdata/NEWS trunk/getdata/bindings/perl/GetData.pm.in trunk/getdata/configure.ac trunk/getdata/m4/perl.m4 trunk/getdata/man/Makefile.am trunk/getdata/man/dirfile-encoding.5 trunk/getdata/man/dirfile-format.5 trunk/getdata/man/gd_delete.3 trunk/getdata/man/gd_mplex_lookback.3 trunk/getdata/man/gd_naliases.3 trunk/getdata/man/gd_rename.3 trunk/getdata/man/make_html.pl trunk/getdata/src/add.c trunk/getdata/src/getdata.h.in trunk/getdata/src/internal.h trunk/getdata/src/name.c trunk/getdata/src/parse.c trunk/getdata/test/Makefile.am trunk/getdata/test/name.c trunk/getdata/test/name_updb.c trunk/getdata/test/name_updb_const.c Added Paths: ----------- trunk/getdata/doc/README.perl.in trunk/getdata/test/name_alias.c trunk/getdata/test/name_move_alias.c trunk/getdata/test/name_updb_alias.c trunk/getdata/test/name_updb_const_alias.c Removed Paths: ------------- trunk/getdata/doc/README.perl trunk/getdata/test/name_after.c trunk/getdata/test/name_after_const.c Property Changed: ---------------- trunk/getdata/test/ trunk/getdata/test/name_updb.c trunk/getdata/test/name_updb_const.c Modified: trunk/getdata/ChangeLog =================================================================== --- trunk/getdata/ChangeLog 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/ChangeLog 2012-06-27 00:51:18 UTC (rev 724) @@ -1,3 +1,17 @@ +2012-06-27 D. V. Wiebe <ge...@ke...> svn:724 + * src/name.c (_GD_UpdateScalar _GD_InvalidateConst _GD_UpdateInField + _GD_InvalidateVect): Handle aliases. + * src/name.c (gd_rename): Don't dereference aliases. + * src/name.c (gd_rename_alias): Deleted. + * test/name.c test/name_updb_const.c test/name_updb.c: Updated. + * test/name_updb_const_alias.c test/name_move_alias.c test/name_alias.c + test/name_updb_alias.c: Added. + * test/name_after_const.c test/name_after.c: Deleted. + + * src/parse.c (_GD_ResolveAlias): Reset aliases if requested. + + * man/make_html.pl: Don't eat "**" in synopses. + 2012-06-25 D. V. Wiebe <ge...@ke...> svn:723 * src/flush.c (_GD_FindVersion): ALIAS means >= 9. Modified: trunk/getdata/NEWS =================================================================== --- trunk/getdata/NEWS 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/NEWS 2012-06-27 00:51:18 UTC (rev 724) @@ -11,7 +11,11 @@ can't be used as a parent when defining metafields, but are otherwise indistinguishable from a field's original ("canonical") name. - * The /VERSION directive now has fragment scope, which should + * The /VERSION directive now has fragment scope, which should alleviate some + of the problems associated with "version leakage" found in previous + versions. Previous versions are unchanged, but a "/VERSION 9" directive + will not propagate back up into a parent fragment, nor will any /VERSION + directive be propagated back up into a Version 9 fragment. * Fields may be "hidden" using the /HIDDEN directive. The Standards don't say what a "hidden" field does, but GetData will, by default, exclude them from @@ -175,16 +179,15 @@ of an alias is retrned by gd_alias_target(); a list of aliases of a field, or their number, is returned by gd_aliases() and gd_naliases(). + * Because GetData considers aliases and canonical names to be + indistinguishable, passing an alias name to most functions will result in + the function operating on target field. To manipulate aliases themselves, + the API has the new interfaces gd_move_alias() and gd_delete_alias(). + * In addition to the special symbol GD_HERE which may be passed to gd_getdata() and gd_putdata(), the "current location" of fields may be queried with gd_tell() and moved with gd_seek(). - * Because GetData considers aliases and canonical names to be - indistinguishable, passing an alias name to most functions will result in - the function operating on target field. To manipulate aliases themselves, - the API has the new interfaces gd_move_alias(), gd_delete_alias(), and - gd_rename_alias(). - * The typedefs gd_bit_t and gd_spf_t have been deprecated. They are replaced with 'int' and 'unsigned int' respectively. For backwards compatibility, the typedefs (with their new types) are still declared in getdata.h, but the Modified: trunk/getdata/bindings/perl/GetData.pm.in =================================================================== --- trunk/getdata/bindings/perl/GetData.pm.in 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/bindings/perl/GetData.pm.in 2012-06-27 00:51:18 UTC (rev 724) @@ -285,7 +285,7 @@ =back -GetData internally converts the Perl data into a format readably by the C API. +GetData internally converts the Perl data into a format readable by the C API. In cases 3 and 4 above, the type the data is converted into is specified explicitly in the call. In the other cases, GetData must guess an appropriate C type into which to convert the data. It does so by looking at the first @@ -411,9 +411,9 @@ =back -This function always returns a valid Dirfile object, even if the call failed; +This function always returns a Dirfile object, even if the call failed; the caller should use the returned dirfile's L<error>() method to test for -success. +success. On error, the returned object will be flagged as invalid. =item invalid_dirfile () Modified: trunk/getdata/configure.ac =================================================================== --- trunk/getdata/configure.ac 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/configure.ac 2012-06-27 00:51:18 UTC (rev 724) @@ -312,6 +312,9 @@ AC_CHECK_PROGS([DIFF], [diff], []) GD_MSYS_SHELL +echo +echo "*** Checking host environment" +echo AC_MSG_CHECKING([whether ${host} supports fast unaligned memory access]) case "${host}" in i?86-*-*|powerpc-*-*|x86_64-*-*) gd_unaligned_ok=yes; @@ -965,6 +968,9 @@ AC_CONFIG_FILES([bindings/python/Makefile]) AC_CONFIG_FILES([bindings/python/test/Makefile]) AC_CONFIG_FILES([doc/Makefile]) +if test "x$make_perlbindings" != "xno"; then +AC_CONFIG_FILES([doc/README.perl]) +fi AC_CONFIG_FILES([man/Makefile]) AC_CONFIG_FILES([man/gd_alter_encoding.3]) AC_CONFIG_FILES([man/gd_alter_endianness.3]) Deleted: trunk/getdata/doc/README.perl =================================================================== --- trunk/getdata/doc/README.perl 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/doc/README.perl 2012-06-27 00:51:18 UTC (rev 724) @@ -1,12 +0,0 @@ -PERL BINDINGS FOR GETDATA -========================= - -The Perl bindings consist of a perl module, `GetData.pm'. They should work with -Perl 5.6 or newer. Complex is represented within the module as Math::Complex -objects. - -The GetData Perl bindings are documented in POD markup within GetData.pm. -After installation, this documentation should be available in section 3 of the -UNIX manual: - - $ man 3 GetData Copied: trunk/getdata/doc/README.perl.in (from rev 722, trunk/getdata/doc/README.perl) =================================================================== --- trunk/getdata/doc/README.perl.in (rev 0) +++ trunk/getdata/doc/README.perl.in 2012-06-27 00:51:18 UTC (rev 724) @@ -0,0 +1,16 @@ +PERL BINDINGS FOR GETDATA +========================= + +The Perl bindings consist of a perl module, `GetData.pm'. They should work with +Perl 5.6 or newer. Complex data are represented within the module as +Math::Complex objects. + +The GetData Perl bindings are documented in POD markup within GetData.pm. +After installation, this documentation should be available in section @PERL_MAN3EXT@ of +the UNIX manual: + + $ man @PERL_MAN3EXT@ GetData + +Before installation, the manual can be read using a command along the lines of + + $ pod2man bindings/perl/GetData.pm.in | nroff -mandoc | less Modified: trunk/getdata/m4/perl.m4 =================================================================== --- trunk/getdata/m4/perl.m4 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/m4/perl.m4 2012-06-27 00:51:18 UTC (rev 724) @@ -52,7 +52,7 @@ AC_DEFUN([GD_PERL_MAN3EXT], [ AC_MSG_CHECKING([for the section 3 manual page extension]) -PERL_MAN3EXT=`$PERL -MModule::Build -e 'print Module::Build->new(module_name=>"conftest",dist_version=>0)->config('man3ext');'` +PERL_MAN3EXT=`$PERL -MModule::Build -e 'print "\n>>GD ", Module::Build->new(module_name=>"conftest",dist_version=>0)->config('man3ext'), " GD<<";' | $AWK '/>>GD .* GD<</ { print @S|@2 }'` AC_MSG_RESULT([.$PERL_MAN3EXT]) AC_SUBST([PERL_MAN3EXT]) ]) Modified: trunk/getdata/man/Makefile.am =================================================================== --- trunk/getdata/man/Makefile.am 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/man/Makefile.am 2012-06-27 00:51:18 UTC (rev 724) @@ -84,7 +84,6 @@ gd_get_carray_slice.3:gd_get_carray.3 \ gd_put_carray_slice.3:gd_put_carray.3 \ gd_delete.3:gd_delete_alias.3 \ - gd_rename.3:gd_rename_alias.3 \ gd_move.3:gd_move_alias.3 \ gd_hide.3:gd_unhide.3 \ gd_add_alias.3:gd_madd_alias.3 \ @@ -98,8 +97,8 @@ gd_frameoffset64.3:gd_alter_frameoffset64.3 #man conversion -HTMLMANS=$(addsuffix .html,$(nodist_man_MANS)) \ - $(addsuffix .html,$(dist_man_MANS)) +HTMLMANS=$(addsuffix .html,${nodist_man_MANS}) \ + $(addsuffix .html,${dist_man_MANS}) %.html: % make_html.pl ./make_html.pl $< > $@ Modified: trunk/getdata/man/dirfile-encoding.5 =================================================================== --- trunk/getdata/man/dirfile-encoding.5 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/man/dirfile-encoding.5 2012-06-27 00:51:18 UTC (rev 724) @@ -231,7 +231,7 @@ The ZZSlim Encoding is a convolution of the Slim Encoding and the ZZip Encoding. To create ZZSlim Encoded files, first the raw data are compressed using the -slim library, and then these slim-compressed files are archived (and comrpessed +slim library, and then these slim-compressed files are archived (and compressed again) into a ZIP archive. As with the ZZip Encoding, the ZIP archive is .I raw.zip by default, but a different name may be specified with the @@ -239,7 +239,7 @@ directive. .PP Notably, since the archives have the same name as ZZip Encoded data, automatic -encodind detection on ZZSlim Encoded data always fails: they are incorrectly +encoding detection on ZZSlim Encoded data always fails: they are incorrectly identified as simply ZZip Encoded. As a result, an .B /ENCODING directive in the format file or else a Modified: trunk/getdata/man/dirfile-format.5 =================================================================== --- trunk/getdata/man/dirfile-format.5 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/man/dirfile-format.5 2012-06-27 00:51:18 UTC (rev 724) @@ -205,8 +205,7 @@ original, canonical name. Aliases may be chained (that is, the target name appearing in an /ALIAS directive may itself be an alias). In this case, the new alias is another name for the target's own target. Just as there is no -requriement that the input fields of a derived field exist -.RI ( q.v. ), +requriement that the input fields of a derived field exist, it is not an error for the target of an alias to not exist. Syntax is: .IP .RS @@ -214,12 +213,12 @@ .I <name> <target> .RE .IP -A metafield alias may defined by using the +A metafield alias may defined using the .IR <parent-field> / <alias-name> syntax for .I name in the /ALIAS directive. No restriction is placed on -.IR target , +.IR target ; specifically, a metafield alias may target a top-level field, or a metafield of with a different parent; conversely, a top-level alias may target a metafield. @@ -237,7 +236,7 @@ \fB/ALIAS\fR field2/alias field1 .RE .IP -The metafield +the metafield .I field1/meta may not be referred to as .IR field2/alias/meta , @@ -294,7 +293,7 @@ The .I enc-datum token provides additional data for certain encoding schemes; see -.BR dirfile-format (5) +.BR dirfile-encoding (5) for details. The form of enc-datum is not specified. .PP The /ENCODING directive has @@ -531,7 +530,7 @@ and propagating downwards to sub-fragments after the directive. .PP In Standards Version 8 and earlier, its effect also propagates upwards back to -the parent fragment, and affect subsequent metadata. Starting with Standards +the parent fragment, and affects subsequent metadata. Starting with Standards Version 9, this no longer happens. As a result, a /VERSION directive which indicates a version of 9 or later never propagates upwards; additionally, /VERSION directives found in subfragments included in a Version 9 or later @@ -831,15 +830,8 @@ .I count and .I max -are non-negative integers, either or both may be literal numbers, or else -the field code of a -.B CONST -or -.B CARRAY -field type containing their values. +are non-negative integers. .PP -The resultant field has the same sample rate as -.IR input . At every sample .IR n , the derived field is computed as: @@ -1199,8 +1191,6 @@ .IR check . It may never be complex valued. .PP -The derived field has the same sample rate as -.IR input . Outside the region extracted, the value of the derived field is implementation dependent. .PP Modified: trunk/getdata/man/gd_delete.3 =================================================================== --- trunk/getdata/man/gd_delete.3 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/man/gd_delete.3 2012-06-27 00:51:18 UTC (rev 724) @@ -65,7 +65,8 @@ specified a .B RAW field and this flag is not specified, the field will still be deleted but the -binary file will be left untouched. +binary file will be left untouched. Ignored by +.BR gd_delete_alias (). .TP .B GD_DEL_DEREF If the field to be deleted is a @@ -87,7 +88,8 @@ those, too. If the field has metafields and this flag is not specified, the call will fail with the .B GD_E_DELETE -error. +error. Ignored by +.BR gd_delete_alias (). .SH RETURN VALUE On successful deletion, zero is returned. On error, -1 is returned and the dirfile error is set to a non-zero error value. Possible error values are: Modified: trunk/getdata/man/gd_mplex_lookback.3 =================================================================== --- trunk/getdata/man/gd_mplex_lookback.3 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/man/gd_mplex_lookback.3 2012-06-27 00:51:18 UTC (rev 724) @@ -13,7 +13,7 @@ .\" Texts. A copy of the license is included in the `COPYING.DOC' file .\" as part of this distribution. .\" -.TH gd_mplex_lookback 3 "21 April 2012" "Version 0.8.0" "GETDATA" +.TH gd_mplex_lookback 3 "20 June 2012" "Version 0.8.0" "GETDATA" .SH NAME gd_mplex_lookback \(em set the GetData lookback length for MPLEX fields. .SH SYNOPSIS @@ -35,7 +35,8 @@ If the first sample returned of a .B MPLEX -field does not contain the value of the field, GetData must search the field +field does not contain the value of the field, because the index field does not +take on the specified multiplex index value, GetData must search the field backwards to find the last time the field was updated, in order to propagate that value into the initial portion of the returned data. (See .BR gd_getdata (3) @@ -63,10 +64,8 @@ .I MPLEX cycles to search. Each .B MPLEX -field has its own -.B MPLEX -cycle length, measured in samples of the index field, which is defined as -follows: +field has its own MPLEX cycle length, measured in samples of the index field, +which is defined as follows: .IP \(bu if the .B MPLEX @@ -75,7 +74,7 @@ positive parameter (see the MPLEX definition in dirfile-format(5)), its MPLEX cycle length is that many samples; .IP \(bu -if the +otherwise, if the .B MPLEX field's .I count_val Modified: trunk/getdata/man/gd_naliases.3 =================================================================== --- trunk/getdata/man/gd_naliases.3 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/man/gd_naliases.3 2012-06-27 00:51:18 UTC (rev 724) @@ -30,7 +30,7 @@ function queries a dirfile(5) database specified by .I dirfile and returns the number of aliases of the field specified by -.IR field code . +.IR field_code . The .I dirfile Modified: trunk/getdata/man/gd_rename.3 =================================================================== --- trunk/getdata/man/gd_rename.3 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/man/gd_rename.3 2012-06-27 00:51:18 UTC (rev 724) @@ -13,9 +13,9 @@ .\" Texts. A copy of the license is included in the `COPYING.DOC' file .\" as part of this distribution. .\" -.TH gd_rename 3 "19 April 2012" "Version 0.8.0" "GETDATA" +.TH gd_rename 3 "27 June 2012" "Version 0.8.0" "GETDATA" .SH NAME -gd_rename, gd_rename_alias \(em change the name of a dirfile field or alias +gd_rename \(em change the name of a dirfile field or alias .SH SYNOPSIS .B #include <getdata.h> .HP @@ -23,15 +23,12 @@ .ad l .BI "int gd_rename(DIRFILE *" dirfile ", const char" .BI * old_code ", const char *" new_name ", unsigned int " flags ); -.HP -.BI "int gd_rename_alias(DIRFILE *" dirfile ", const char *" old_code , -.BI "const char *" new_name ); .hy .ad n .SH DESCRIPTION The .BR gd_rename () -function changes the name of the field specified by +function changes the name of the field or alias specified by .IR old_code , which should not contain a representation suffix, defined in the dirfile specified by @@ -40,18 +37,6 @@ .IR new_name . If the new name is the same as the old name, this function does nothing. -The -.BR gd_rename_alias () -function behaves similarly, but renames the alias specified by -.I alias_name -instead. (This function is needed, since passing -.I alias_name -to -.BR gd_rename () -as -.I old_code -would have resulted in the field pointed to by the alias being renamed instead.) - When renaming a metafield, the metafield should be specified in .I old_code by its full (slashed) field code, while Modified: trunk/getdata/man/make_html.pl =================================================================== --- trunk/getdata/man/make_html.pl 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/man/make_html.pl 2012-06-27 00:51:18 UTC (rev 724) @@ -132,7 +132,7 @@ s/ / /g if ($nf and not /^\./); # sugar - s/\*\*([0-9]*)/<sup>$1<\/sup>/; + s/\*\*([0-9]+)/<sup>$1<\/sup>/; if ($table) { if (/center tab/) { @@ -366,7 +366,8 @@ $html =~ s/ \* / × /g; $html =~ s/\\~/ /g; $html =~ s/(<B>(gd_\w*?)<\/B>\(3\))/<A HREF="$2.3.html">$1<\/A>/g; -$html =~ s/((?:<B>)?(dirfile[-a-z]*)(?:<\/B>)?\(5\))/<A HREF="$2.5.html">$1<\/A>/g; +$html =~ s/(<B>(dirfile[-a-z]*)<\/B>\(5\))/<A HREF="$2.5.html">$1<\/A>/g; +$html =~ s/([^>])(dirfile[-a-z]*)<\/B>\(5\)/$1<A HREF="$2.5.html">$2<\/A>/g; $html =~ s/\\e/\\/g; Modified: trunk/getdata/src/add.c =================================================================== --- trunk/getdata/src/add.c 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/src/add.c 2012-06-27 00:51:18 UTC (rev 724) @@ -551,8 +551,8 @@ D->fragment[E->fragment_index].modified = 1; D->flags &= ~GD_HAVE_VERSION; - /* Update aliases */ - _GD_UpdateAliases(D); + /* Update aliases - no reason to do a reset: all we did was add a field */ + _GD_UpdateAliases(D, 0); dreturn("%p", E); return E; @@ -621,7 +621,7 @@ } /* Update aliases */ - _GD_UpdateAliases(D); + _GD_UpdateAliases(D, 0); D->fragment[me].modified = 1; D->flags &= ~GD_HAVE_VERSION; @@ -686,7 +686,7 @@ } /* Update aliases */ - _GD_UpdateAliases(D); + _GD_UpdateAliases(D, 0); D->fragment[fragment_index].modified = 1; D->flags &= ~GD_HAVE_VERSION; @@ -2040,7 +2040,7 @@ /* Update aliases */ - _GD_UpdateAliases(D); + _GD_UpdateAliases(D, 0); dreturn("%i", 0); return 0; Modified: trunk/getdata/src/getdata.h.in =================================================================== --- trunk/getdata/src/getdata.h.in 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/src/getdata.h.in 2012-06-27 00:51:18 UTC (rev 724) @@ -889,9 +889,6 @@ extern const char *gd_reference(DIRFILE *dirfile, const char *field_code) gd_nothrow gd_nonnull ((1)); -extern int gd_rename_alias(DIRFILE *dirfile, const char *old_code, - const char *new_name) gd_nothrow gd_nonnull ((1,2,3)); - extern unsigned int gd_spf(DIRFILE *dirfile, const char *field_code) gd_nothrow gd_nonnull ((1, 2)); Modified: trunk/getdata/src/internal.h =================================================================== --- trunk/getdata/src/internal.h 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/src/internal.h 2012-06-27 00:51:18 UTC (rev 724) @@ -1124,7 +1124,7 @@ int _GD_Tokenise(DIRFILE *restrict, const char *restrict, char **, const char **, int, char **, const char *restrict, int linenum, int standards, int pedantic); -void _GD_UpdateAliases(DIRFILE*); +void _GD_UpdateAliases(DIRFILE*, int); int _GD_ValidateField(const char*, int, int, int, int*); off64_t _GD_WriteSeek(DIRFILE *restrict, gd_entry_t *restrict, const struct encoding_t *restrict, off64_t, unsigned int mode); Modified: trunk/getdata/src/name.c =================================================================== --- trunk/getdata/src/name.c 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/src/name.c 2012-06-27 00:51:18 UTC (rev 724) @@ -204,13 +204,23 @@ * pass == 3: initialise update */ static char **_GD_UpdateScalar(DIRFILE *D, gd_entry_t *T, const gd_entry_t *E, - char **list, size_t len, int n, int pass, int *nl) + const char *old_name, char **list, size_t len, int n, int pass, int *nl) { char **ptr; - dtrace("%p, %p, %p, %p, %" PRNsize_t ", %i, %i, %i", D, T, E, list, len, n, - pass, *nl); + size_t old_len; - if (pass & GD_UPDI) { + dtrace("%p, %p, %p, \"%s\", %p, %" PRNsize_t ", %i, %i, %i", D, T, E, + old_name, list, len, n, pass, *nl); + + old_len = strlen(old_name); + if (strncmp(T->scalar[n], old_name, old_len) || + !(T->scalar[n][old_len] == 0 || T->scalar[n][old_len] == '.')) + { + dreturn("%p (-)", list); + return list; + } + + if (pass & GD_UPDI) { /* pass 1 or 3 */ if ((ptr = (char**)_GD_Realloc(D, list, sizeof(char *) * (*nl + 1))) == NULL) { @@ -220,7 +230,11 @@ } list = ptr; list[(*nl)++] = (char*)_GD_Malloc(D, len + 3); + } else if (pass == 0) { + if (!T->e->calculated) + _GD_CalculateEntry(D, T, 0); } else if (pass == 2) { + T->e->calculated = 0; D->fragment[T->fragment_index].modified = 1; free(T->scalar[n]); T->scalar[n] = list[(*nl)++]; @@ -236,91 +250,42 @@ return list; } -static char **_GD_InvalidateConst(DIRFILE *D, const gd_entry_t *E, char **list, - size_t len, int pass, int *nl) -{ - int i, j; - unsigned u; - - dtrace("%p, %p, %p, %" PRNsize_t ", %i, %p", D, E, list, len, pass, nl); - - if (pass & GD_UPDI) - for (u = 0; u < D->n_entries; ++u) - if (!D->entry[u]->e->calculated) - _GD_CalculateEntry(D, D->entry[u], 0); - - for (j = 0; j < E->e->u.scalar.n_client; ++j) { - if (!(pass & GD_UPDI)) - E->e->u.scalar.client[j]->e->calculated = 0; - - if (!(pass & GD_UPDU)) - continue; - - switch (E->e->u.scalar.client[j]->field_type) { - case GD_LINCOM_ENTRY: - for (i = 0; i < E->e->u.scalar.client[j]->EN(lincom,n_fields); ++i) { - list = _GD_UpdateScalar(D, E->e->u.scalar.client[j], E, list, len, i, - pass, nl); - list = _GD_UpdateScalar(D, E->e->u.scalar.client[j], E, list, len, - i + GD_MAX_LINCOM, pass, nl); - } - break; - case GD_POLYNOM_ENTRY: - for (i = 0; i <= E->e->u.scalar.client[j]->EN(polynom,poly_ord); ++i) - list = _GD_UpdateScalar(D, E->e->u.scalar.client[j], E, list, len, i, - pass, nl); - break; - case GD_BIT_ENTRY: - case GD_SBIT_ENTRY: - case GD_MPLEX_ENTRY: - list = _GD_UpdateScalar(D, E->e->u.scalar.client[j], E, list, len, 1, - pass, nl); - /* Fallthrough */ - case GD_PHASE_ENTRY: - case GD_RAW_ENTRY: - case GD_RECIP_ENTRY: - case GD_WINDOW_ENTRY: - list = _GD_UpdateScalar(D, E->e->u.scalar.client[j], E, list, len, 0, - pass, nl); - break; - case GD_NO_ENTRY: - case GD_LINTERP_ENTRY: - case GD_MULTIPLY_ENTRY: - case GD_DIVIDE_ENTRY: - case GD_INDEX_ENTRY: - case GD_STRING_ENTRY: - case GD_CONST_ENTRY: - case GD_CARRAY_ENTRY: - break; - } - } - - dreturn("%p", list); - return list; -} - /* pass == 0: clear cached derived entries - * pass == 1: initialise re-writen derived channels + * pass == 1: unused * pass == 2: finalise re-writen derivd channels + * pass == 3: initialise re-writen derived channels */ static char **_GD_UpdateInField(DIRFILE *D, gd_entry_t *T, const gd_entry_t *E, - char **list, size_t len, int n, int pass, int *nl) + const char *old_name, char **list, size_t len, int n, int pass, int *nl) { char **ptr; - dtrace("%p, %p, %p, %p, %" PRNsize_t ", %i, %i, %i", D, T, E, list, len, n, - pass, *nl); + int m = n; + dtrace("%p, %p, %p, \"%s\", %p, %" PRNsize_t ", %i, %i, %i", D, T, E, + old_name, list, len, n, pass, *nl); - if (pass != 0 && T->e->entry[n] == NULL) + if (T->field_type == GD_ALIAS_ENTRY) + m = 1; + else if (pass != 0 && T->e->entry[n] == NULL) _GD_BadInput(D, T, n, 0); - if (T->e->entry[n] != E) { + if (E->field_type == GD_ALIAS_ENTRY) { + /* it's hard to detect the use of an alias other than by inspecting the + * name itself */ + size_t len = strlen(old_name); + if (strncmp(T->in_fields[n], old_name, len) || + !(T->in_fields[n][len] == 0 || T->in_fields[n][len] == '.')) + { + dreturn("%p (a-)", list); + return list; + } + } else if (T->e->entry[m] != E) { dreturn("%p (-)", list); return list; } if (pass == 0) - T->e->entry[n] = NULL; - else if (pass == 1) { + T->e->entry[m] = NULL; + else if (pass == 3) { if ((ptr = (char**)_GD_Realloc(D, list, sizeof(char *) * (*nl + 1))) == NULL) { @@ -346,32 +311,99 @@ return list; } -static char **_GD_InvalidateVect(DIRFILE *D, const gd_entry_t *E, char **list, - size_t len, int pass, int *nl) +static char **_GD_InvalidateConst(DIRFILE *D, const gd_entry_t *E, + const char *old_name, char **list, size_t len, int pass, int *nl) { + int i; unsigned u; + dtrace("%p, %p, \"%s\", %p, %" PRNsize_t ", %i, %p", D, E, old_name, list, + len, pass, nl); + + /* aliases prevent us from just running over this field's client list */ + for (u = 0; u < D->n_entries; ++u) + if (D->entry[u] != E) { + switch (D->entry[u]->field_type) { + case GD_LINCOM_ENTRY: + for (i = 0; i < D->entry[u]->EN(lincom,n_fields); ++i) { + list = _GD_UpdateScalar(D, D->entry[u], E, old_name, list, len, i, + pass, nl); + list = _GD_UpdateScalar(D, D->entry[u], E, old_name, list, len, + i + GD_MAX_LINCOM, pass, nl); + } + break; + case GD_POLYNOM_ENTRY: + for (i = 0; i <= D->entry[u]->EN(polynom,poly_ord); ++i) + list = _GD_UpdateScalar(D, D->entry[u], E, old_name, list, len, i, + pass, nl); + break; + case GD_BIT_ENTRY: + case GD_SBIT_ENTRY: + case GD_MPLEX_ENTRY: + list = _GD_UpdateScalar(D, D->entry[u], E, old_name, list, len, 1, + pass, nl); + /* Fallthrough */ + case GD_PHASE_ENTRY: + case GD_RAW_ENTRY: + case GD_RECIP_ENTRY: + case GD_WINDOW_ENTRY: + list = _GD_UpdateScalar(D, D->entry[u], E, old_name, list, len, 0, + pass, nl); + break; + case GD_ALIAS_ENTRY: + list = _GD_UpdateInField(D, D->entry[u], E, old_name, list, len, 0, + pass, nl); + break; + case GD_NO_ENTRY: + case GD_LINTERP_ENTRY: + case GD_MULTIPLY_ENTRY: + case GD_DIVIDE_ENTRY: + case GD_INDEX_ENTRY: + case GD_STRING_ENTRY: + case GD_CONST_ENTRY: + case GD_CARRAY_ENTRY: + break; + } + } + + /* gotta update those aliases ... */ + for (u = 0; u < D->n_entries; ++u) + if (D->entry[u] != E && D->entry[u]->field_type == GD_ALIAS_ENTRY) + + dreturn("%p", list); + return list; +} + +static char **_GD_InvalidateVect(DIRFILE *D, const gd_entry_t *E, + const char *old_name, char **list, size_t len, int pass, int *nl) +{ + unsigned u; + dtrace("%p, %p, %p, %" PRNsize_t ", %i, %p", D, E, list, len, pass, nl); for (u = 0; u < D->n_entries; ++u) { if (D->entry[u] != E) switch (D->entry[u]->field_type) { case GD_LINCOM_ENTRY: - list = _GD_UpdateInField(D, D->entry[u], E, list, len, 2, pass, nl); + list = _GD_UpdateInField(D, D->entry[u], E, old_name, list, len, 2, + pass, nl); /* Fallthrough */ case GD_MULTIPLY_ENTRY: case GD_DIVIDE_ENTRY: case GD_WINDOW_ENTRY: case GD_MPLEX_ENTRY: - list = _GD_UpdateInField(D, D->entry[u], E, list, len, 1, pass, nl); + list = _GD_UpdateInField(D, D->entry[u], E, old_name, list, len, 1, + pass, nl); /* Fallthrough */ + case GD_ALIAS_ENTRY: case GD_LINTERP_ENTRY: case GD_BIT_ENTRY: case GD_PHASE_ENTRY: case GD_POLYNOM_ENTRY: case GD_RECIP_ENTRY: case GD_SBIT_ENTRY: - list = _GD_UpdateInField(D, D->entry[u], E, list, len, 0, pass, nl); + list = _GD_UpdateInField(D, D->entry[u], E, old_name, list, len, 0, + pass, nl); break; case GD_INDEX_ENTRY: case GD_RAW_ENTRY: @@ -593,6 +625,7 @@ gd_entry_t *E = NULL; int ret, i, nl = 0, old_dot = 0; size_t len; + gd_entype_t type; unsigned dot_ind = 0; char **code_list = NULL; @@ -615,7 +648,7 @@ if (E) old_dot = 1; else - E = _GD_FindField(D, old_code, D->entry, D->n_entries, 1, NULL); + E = _GD_FindField(D, old_code, D->entry, D->n_entries, 0, NULL); if (E == NULL) { _GD_SetError(D, GD_E_BAD_CODE, GD_E_CODE_MISSING, NULL, 0, old_code); @@ -623,19 +656,26 @@ return -1; } - if (E->field_type == GD_INDEX_ENTRY) { + type = E->field_type; + + if (type == GD_INDEX_ENTRY) { _GD_SetError(D, GD_E_BAD_FIELD_TYPE, GD_E_FIELD_BAD, NULL, 0, "INDEX"); dreturn("%i", -1); return -1; } + /* resolve field type */ + if (type == GD_ALIAS_ENTRY && E->e->entry[0]) + type = E->e->entry[0]->field_type; + /* check derived/client fields */ - if (E->field_type == GD_CARRAY_ENTRY || E->field_type == GD_CONST_ENTRY) - code_list = _GD_InvalidateConst(D, E, code_list, len, + if (type == GD_CARRAY_ENTRY || type == GD_CONST_ENTRY) + code_list = _GD_InvalidateConst(D, E, old_code, code_list, len, GD_UPDI | (flags & GD_REN_UPDB ? GD_UPDU : 0), &nl); - else if (E->field_type != GD_STRING_ENTRY) + else if (type != GD_STRING_ENTRY) if (flags & GD_REN_UPDB) - code_list = _GD_InvalidateVect(D, E, code_list, len, 1, &nl); + code_list = _GD_InvalidateVect(D, E, old_code, code_list, len, + GD_UPDI | GD_UPDU, &nl); if (D->error) { if (code_list) { @@ -652,14 +692,17 @@ if (!ret) { nl = 0; /* update derived/client fields */ - if (E->field_type == GD_CARRAY_ENTRY || E->field_type == GD_CONST_ENTRY) - _GD_InvalidateConst(D, E, code_list, 0, + if (type == GD_CARRAY_ENTRY || type == GD_CONST_ENTRY) + _GD_InvalidateConst(D, E, old_code, code_list, 0, flags & GD_REN_UPDB ? GD_UPDU : 0, &nl); - else if (E->field_type != GD_STRING_ENTRY) - _GD_InvalidateVect(D, E, code_list, 0, + else if (type != GD_STRING_ENTRY) + _GD_InvalidateVect(D, E, old_code, code_list, 0, flags & GD_REN_UPDB ? GD_UPDU : 0, &nl); } + /* rehash the aliases */ + _GD_UpdateAliases(D, 1); + if (code_list) { if (D->error) for (i = 0; i < nl; ++i) @@ -670,39 +713,3 @@ dreturn("%i", ret); return ret; } - -int gd_rename_alias(DIRFILE *D, const char *old_code, const char *new_name) - gd_nothrow -{ - gd_entry_t *E; - int ret; - - dtrace("%p, \"%s\", \"%s\"", D, old_code, new_name); - - if (D->flags & GD_INVALID) { - _GD_SetError(D, GD_E_BAD_DIRFILE, 0, NULL, 0, NULL); - dreturn("%i", -1); - return -1; - } - - _GD_ClearError(D); - - E = _GD_FindField(D, old_code, D->entry, D->n_entries, 0, NULL); - - if (E == NULL) { - _GD_SetError(D, GD_E_BAD_CODE, GD_E_CODE_MISSING, NULL, 0, old_code); - dreturn("%i", -1); - return -1; - } - - if (E->field_type != GD_ALIAS_ENTRY) { - _GD_SetError(D, GD_E_BAD_FIELD_TYPE, GD_E_FIELD_BAD, NULL, 0, "INDEX"); - dreturn("%i", -1); - return -1; - } - - ret = _GD_Rename(D, E, new_name, 0, 0, 0); - - dreturn("%i", ret); - return ret; -} Modified: trunk/getdata/src/parse.c =================================================================== --- trunk/getdata/src/parse.c 2012-06-25 15:13:34 UTC (rev 723) +++ trunk/getdata/src/parse.c 2012-06-27 00:51:18 UTC (rev 724) @@ -2229,12 +2229,17 @@ return D->error ? NULL : E->e->entry[0]; } -void _GD_UpdateAliases(DIRFILE *D) +void _GD_UpdateAliases(DIRFILE *D, int reset) { unsigned u; - dtrace("%p", D); + dtrace("%p, %i", D, reset); + if (reset) + for (u = 0; u < D->n_entries; ++u) + if (D->entry[u]->field_type == GD_ALIAS_ENTRY) + D->entry[u]->e->entry[0] = D->entry[u]->e->entry[1] = NULL; + for (u = 0; u < D->n_entries; ++u) if (D->entry[u]->field_type == GD_ALIAS_ENTRY && D->entry[u]->e->entry[1] == NULL) @@ -2377,7 +2382,7 @@ /* resolve aliases, if requested */ if (resolve && !D->error) - _GD_UpdateAliases(D); + _GD_UpdateAliases(D, 0); dreturn("%p", ref_name); return ref_name; Property changes on: trunk/getdata/test ___________________________________________________________________ Modified: svn:ignore - Makefile Makefile.in *.o dirfile *.swp *.exe .deps .libs add add_affix add_alias add_alias_meta add_bit add_bit_bitnum add_bit_bitsize add_bit_invalid add_bit_numbits add_carray add_clincom add_code add_const add_cpolynom add_crecip add_crecip89 add_divide add_divide_invalid add_duplicate add_format add_invalid add_lincom add_lincom_invalid add_lincom_nfields add_linterp add_linterp_invalid add_meta add_meta_alias add_mplex add_mplex_val add_multiply add_multiply_invalid add_phase add_phase_invalid add_polynom add_protect add_raw add_raw_include add_raw_invalid add_raw_spf add_raw_type add_rdonly add_recip add_resolv add_sbit add_scalar add_scalar_carray add_sort add_spec add_spec_directive add_spec_invalid add_spec_meta add_spec_resolv add_string add_string_affix add_type add_window add_window_op alias_list alias_list_alias alias_list_missing alias_num alias_num_alias alias_num_missing alias_target alias_target_alias alias_target_missing alter_bit_bitnum alter_bit_numbits alter_carray_len alter_carray_type alter_const alter_cpolynom alter_crecip alter_crecip89 alter_crecip_zero alter_divide alter_entry alter_entry_affix alter_entry_hidden alter_entry_recode alter_entry_scalar2a alter_entry_scalar2n alter_entry_scalar3 alter_entry_scalar4 alter_lincom_23 alter_lincom_32 alter_lincom_input alter_lincom_offset alter_lincom_slope alter_linterp alter_linterp_move alter_mplex alter_mspec alter_mspec_affix alter_multiply alter_phase alter_polynom_coeff alter_polynom_input alter_polynom_ord alter_raw_spf alter_raw_type alter_recip alter_recip_zero alter_spec alter_spec_affix alter_spec_meta alter_window ascii_add ascii_get ascii_get_get ascii_nframes ascii_put bof bof_lincom bof_phase bzip_get bzip_get_get bzip_move_from bzip_nframes bzip_put close close_bad close_discard close_null convert_complex128_complex64 convert_complex128_float64 convert_complex128_int64 convert_complex128_uint64 convert_complex64_complex128 convert_complex64_float64 convert_complex64_int64 convert_complex64_uint64 convert_float32_complex128 convert_float32_complex64 convert_float32_float64 convert_float32_int16 convert_float32_int32 convert_float32_int64 convert_float32_int8 convert_float32_uint16 convert_float32_uint32 convert_float32_uint64 convert_float32_uint8 convert_float64_complex128 convert_float64_complex64 convert_float64_float32 convert_float64_int16 convert_float64_int32 convert_float64_int64 convert_float64_int8 convert_float64_uint16 convert_float64_uint32 convert_float64_uint64 convert_float64_uint8 convert_int16_complex128 convert_int16_complex64 convert_int16_float32 convert_int16_float64 convert_int16_int32 convert_int16_int64 convert_int16_int8 convert_int16_uint16 convert_int16_uint32 convert_int16_uint64 convert_int16_uint8 convert_int32_complex128 convert_int32_complex64 convert_int32_float32 convert_int32_float64 convert_int32_int16 convert_int32_int64 convert_int32_int8 convert_int32_uint16 convert_int32_uint32 convert_int32_uint64 convert_int32_uint8 convert_int64_complex128 convert_int64_complex64 convert_int64_float32 convert_int64_float64 convert_int64_int16 convert_int64_int32 convert_int64_int8 convert_int64_uint16 convert_int64_uint32 convert_int64_uint64 convert_int64_uint8 convert_int8_complex128 convert_int8_complex64 convert_int8_float32 convert_int8_float64 convert_int8_int16 convert_int8_int32 convert_int8_int64 convert_int8_uint16 convert_int8_uint32 convert_int8_uint64 convert_int8_uint8 convert_uint16_complex128 convert_uint16_complex64 convert_uint16_float32 convert_uint16_float64 convert_uint16_int16 convert_uint16_int32 convert_uint16_int64 convert_uint16_int8 convert_uint16_uint32 convert_uint16_uint64 convert_uint16_uint8 convert_uint32_complex128 convert_uint32_complex64 convert_uint32_float32 convert_uint32_float64 convert_uint32_int16 convert_uint32_int32 convert_uint32_int64 convert_uint32_int8 convert_uint32_uint16 convert_uint32_uint64 convert_uint32_uint8 convert_uint64_complex128 convert_uint64_complex64 convert_uint64_float32 convert_uint64_float64 convert_uint64_int16 convert_uint64_int32 convert_uint64_int64 convert_uint64_int8 convert_uint64_uint16 convert_uint64_uint32 convert_uint64_uint8 convert_uint8_complex128 convert_uint8_complex64 convert_uint8_float32 convert_uint8_float64 convert_uint8_int16 convert_uint8_int32 convert_uint8_int64 convert_uint8_int8 convert_uint8_uint16 convert_uint8_uint32 convert_uint8_uint64 creat creat_excl creat_rdonly cvlist cvlist_array cvlist_array_hidden cvlist_array_meta cvlist_array_meta_hidden cvlist_hidden cvlist_invalid cvlist_meta cvlist_meta_hidden cvlist_meta_invalid del del_carray del_carray_deref del_const del_const_deref del_const_force del_data del_derived del_derived_after del_derived_force del_meta del_meta_force desync desync_flush desync_reopen desync_reopen_inv dfes_bit dfes_divide dfes_lincom dfes_linterp dfes_multiply dfes_null dfes_phase dfes_raw dfes_recip dfes_zero elist_alias elist_hidden elist_scalar encode_alter encode_get encode_move endian_alter endian_alter_sie endian_get endian_move entry_bad_code entry_bit entry_bit_scalar entry_divide entry_invalid entry_lincom entry_lincom_scalar entry_linterp entry_mplex entry_mplex_scalar entry_multiply entry_phase entry_phase_scalar entry_polynom entry_polynom_scalar entry_raw entry_raw_scalar entry_raw_scalar_code entry_raw_scalar_type entry_recip entry_scalar_repr entry_type entry_type_alias entry_window entry_window_scalar eof eof_index eof_lincom eof_phase error error_error error_num error_short error_verbose error_verbose_prefix file file_code file_type flist flist_hidden flist_invalid flist_meta flist_meta_hidden flist_meta_invalid flist_type flist_type_hidden flist_type_invalid flist_type_meta flist_type_meta_hidden flist_type_meta_invalid flush flush_all flush_bad_code flush_invalid flush_meta flush_spec foffs_alter foffs_get foffs_move fragment_affix fragment_affix_alter fragment_affix_alter2 fragment_affix_dup fragment_index fragment_index_alias fragment_name fragment_name_oor fragment_num fragment_parent get64 get_bad_code get_bit get_carray get_carray_len get_carray_slice get_char get_clincom get_complex128 get_complex64 get_const get_const_complex get_const_repr get_cpolynom get_divide get_endian16 get_endian32 get_endian64 get_endian8 get_endian_complex128_arm get_endian_complex128_big get_endian_complex128_little get_endian_complex64_arm get_endian_complex64_big get_endian_complex64_little get_endian_float32_arm get_endian_float32_big get_endian_float32_little get_endian_float64_arm get_endian_float64_big get_endian_float64_little get_ff get_float32 get_float64 get_foffs get_fs get_here get_here_foffs get_heres get_int16 get_int32 get_int64 get_int8 get_invalid get_lincom1 get_lincom2 get_lincom3 get_lincom_noin get_lincom_non get_lincom_null get_lincom_spf get_linterp get_linterp_noin get_linterp_notab get_linterp_sort get_mplex get_mplex_lb get_mplex_lball get_mplex_nolb get_multiply get_multiply_noin get_nonexistent get_null get_off64 get_phase get_phase_affix get_polynom get_polynom_noin get_recip get_recip_const get_recurse get_rofs get_sbit get_sf get_ss get_type get_uint16 get_uint32 get_uint64 get_window get_window_clr get_window_ge get_window_gt get_window_le get_window_lt get_window_ne get_window_set get_zero global_flags global_name global_ref global_ref_empty global_ref_set gzip_add gzip_get gzip_get_get gzip_get_put gzip_move_from gzip_move_to gzip_nframes gzip_put gzip_put_get header_complex hide hide_hidden hide_unhide include include_accmode include_affix include_auto include_cb include_creat include_ignore include_index include_invalid include_nonexistent include_pc include_ref include_syntax index index_domain index_range legacy_get legacy_get_put legacy_get_rofs legacy_nframes legacy_nonexistent legacy_put legacy_spf lzma_get lzma_nframes madd madd_affix madd_alias madd_bit madd_bit_invalid madd_carray madd_clincom madd_const madd_cpolynom madd_crecip madd_crecip89 madd_divide madd_index madd_lincom madd_lincom_invalid madd_linterp madd_linterp_invalid madd_mplex madd_multiply madd_multiply_invalid madd_phase madd_phase_invalid madd_polynom madd_recip madd_sbit madd_spec madd_spec_directive madd_spec_invalid madd_spec_resolv madd_string madd_window move move_affix move_affix_dup move_alias move_data_enc_ar move_data_enc_ra move_data_endian move_data_foffs move_data_nop move_index move_meta move_protect move_subdir name name_affix name_affix_bad name_after name_after_const name_dup name_move name_updb name_updb_const nentries_alias nentries_hidden nentries_scalar nfields nfields_hidden nfields_invalid nfields_type nfields_type_hidden nfields_type_invalid nfields_vector nfields_vector_hidden nfields_vector_invalid nframes nframes64 nframes_empty nframes_invalid nframes_off64 nframes_spf nmeta nmeta_hidden nmeta_invalid nmeta_parent nmeta_type nmeta_type_hidden nmeta_type_invalid nmeta_type_parent nmeta_vectors nmeta_vectors_del nmeta_vectors_hidden nmeta_vectors_invalid nmeta_vectors_parent open open_abs open_cb_abort open_cb_cont open_cb_ignore open_cb_invalid open_cb_rescan open_eaccess open_nonexistent open_notdirfile parse_alias parse_alias_code parse_alias_dup parse_alias_meta parse_alias_missing parse_badline parse_bit parse_bit4 parse_bit_bitnum parse_bit_bitsize parse_bit_ncols parse_bit_numbits parse_bit_scalar parse_carray parse_carray_long parse_const parse_const_ncols parse_divide parse_duplicate parse_duplicate_ignore parse_endian_bad parse_endian_big parse_endian_force parse_endian_little parse_endian_slash parse_eol parse_foffs parse_foffs_include parse_foffs_slash parse_hidden parse_hidden_field parse_hidden_meta parse_include parse_include_absolute parse_include_absrel parse_include_loop parse_include_nonexistent parse_include_prefix parse_include_prefix_dup parse_include_preprefix parse_include_relabs parse_include_relrel parse_include_slash parse_include_suffix parse_include_sufsuffix parse_index parse_lincom parse_lincom_ncols1 parse_lincom_ncols2 parse_lincom_nfields parse_lincom_nofields parse_lincom_non parse_lincom_non_ncols parse_lincom_scalar parse_linterp parse_linterp_ncols parse_malias parse_malias_dup parse_malias_meta parse_meta parse_meta_affix parse_meta_alias parse_meta_implicit parse_meta_implicit2 parse_meta_implicit_affix parse_meta_index parse_meta_index2 parse_meta_jump parse_meta_malias parse_meta_meta parse_meta_parent parse_meta_raw parse_mplex parse_mplex_ncols parse_mplex_nomax parse_mplex_scalar parse_multiply parse_multiply_ncols parse_name parse_name_dot parse_name_ext parse_name_pedantic parse_ncols parse_phase parse_phase_ncols parse_phase_scalar parse_polynom parse_polynom_ncols1 parse_polynom_ncols2 parse_polynom_scalar parse_protect_all parse_protect_bad parse_protect_data parse_protect_format parse_protect_none parse_quote parse_quote_mismatch parse_raw parse_raw_char parse_raw_ncols parse_raw_scalar parse_raw_spf parse_raw_type parse_recip parse_ref parse_ref_nonexistent parse_sbit parse_sort parse_string parse_string_ncols parse_string_null parse_version parse_version_89 parse_version_98 parse_version_include parse_version_p8 parse_version_p9 parse_version_permissive parse_version_slash parse_whitespace parse_window parse_window_ncols parse_window_op parse_window_scalar protect_alter protect_get put64 put_bad_code put_bit put_bof put_carray put_carray_slice put_char put_complex128 put_complex64 put_const put_const_protect put_divide put_endian16 put_endian32 put_endian64 put_endian8 put_endian_complex128_arm put_endian_complex128_big put_endian_complex128_little put_endian_complex64_arm put_endian_complex64_big put_endian_complex64_little put_endian_float32_arm put_endian_float32_big put_endian_float32_little put_endian_float64_arm put_endian_float64_big put_endian_float64_little put_ff put_float32 put_float64 put_foffs put_fs put_here put_heres put_int16 put_int32 put_int64 put_int8 put_invalid put_lincom1 put_lincom2 put_lincom_noin put_linterp put_linterp_noin put_linterp_nomono put_linterp_notab put_linterp_reverse put_mplex put_multiply put_null put_off64 put_phase put_phase_noin put_polynom1 put_polynom2 put_polynom_noin put_protect put_rdonly put_recip put_recurse put_repr put_rofs put_sbit put_sf put_ss put_string put_string_protect put_type put_uint16 put_uint32 put_uint64 put_window put_zero ref ref_none ref_two repr_a repr_float32 repr_float64 repr_i repr_int16 repr_int32 repr_int64 repr_int8 repr_m repr_r repr_real_a repr_real_i repr_real_m repr_real_r repr_uint16 repr_uint32 repr_uint64 repr_uint8 seek64 seek_cur seek_end seek_foffs seek_set sie_get_big sie_get_little sie_move_from sie_move_to sie_nframes_big sie_nframes_little sie_put_big sie_put_little slim_get slim_nframes slim_put spf spf_alias spf_alias_meta spf_alias_missing spf_divide spf_lincom spf_multiply spf_polynom spf_recip spf_recurse svlist svlist_hidden svlist_invalid svlist_meta svlist_meta_hidden svlist_meta_invalid tell tell64 trunc trunc_dir trunc_rdonly trunc_rofs trunc_truncsub unclude unclude_del unclude_move version_0 version_0_write version_1 version_1_write version_2 version_2_write version_3 version_3_write version_4 version_4_write version_5 version_5_strict version_5_write version_6 version_6_strict version_6_write version_7 version_7_strict version_7_write version_8 version_8_strict version_8_write version_9 version_9_strict version_9_write vlist vlist_alias vlist_hidden vlist_invalid vlist_meta vlist_meta_hidden vlist_meta_invalid xz_get xz_nframes zzip_data zzip_get zzip_get_get zzip_nframes zzslim_get zzslim_nframes + Makefile Makefile.in *.o dirfile *.swp *.exe .deps .libs add add_affix add_alias add_alias_meta add_bit add_bit_bitnum add_bit_bitsize add_bit_invalid add_bit_numbits add_carray add_clincom add_code add_const add_cpolynom add_crecip add_crecip89 add_divide add_divide_invalid add_duplicate add_format add_invalid add_lincom add_lincom_invalid add_lincom_nfields add_linterp add_linterp_invalid add_meta add_meta_alias add_mplex add_mplex_val add_multiply add_multiply_invalid add_phase add_phase_invalid add_polynom add_protect add_raw add_raw_include add_raw_invalid add_raw_spf add_raw_type add_rdonly add_recip add_resolv add_sbit add_scalar add_scalar_carray add_sort add_spec add_spec_directive add_spec_invalid add_spec_meta add_spec_resolv add_string add_string_affix add_type add_window add_window_op alias_list alias_list_alias alias_list_missing alias_num alias_num_alias alias_num_missing alias_target alias_target_alias alias_target_missing alter_bit_bitnum alter_bit_numbits alter_carray_len alter_carray_type alter_const alter_cpolynom alter_crecip alter_crecip89 alter_crecip_zero alter_divide alter_entry alter_entry_affix alter_entry_hidden alter_entry_recode alter_entry_scalar2a alter_entry_scalar2n alter_entry_scalar3 alter_entry_scalar4 alter_lincom_23 alter_lincom_32 alter_lincom_input alter_lincom_offset alter_lincom_slope alter_linterp alter_linterp_move alter_mplex alter_mspec alter_mspec_affix alter_multiply alter_phase alter_polynom_coeff alter_polynom_input alter_polynom_ord alter_raw_spf alter_raw_type alter_recip alter_recip_zero alter_spec alter_spec_affix alter_spec_meta alter_window ascii_add ascii_get ascii_get_get ascii_nframes ascii_put bof bof_lincom bof_phase bzip_get bzip_get_get bzip_move_from bzip_nframes bzip_put close close_bad close_discard close_null convert_complex128_complex64 convert_complex128_float64 convert_complex128_int64 convert_complex128_uint64 convert_complex64_complex128 convert_complex64_float64 convert_complex64_int64 convert_complex64_uint64 convert_float32_complex128 convert_float32_complex64 convert_float32_float64 convert_float32_int16 convert_float32_int32 convert_float32_int64 convert_float32_int8 convert_float32_uint16 convert_float32_uint32 convert_float32_uint64 convert_float32_uint8 convert_float64_complex128 convert_float64_complex64 convert_float64_float32 convert_float64_int16 convert_float64_int32 convert_float64_int64 convert_float64_int8 convert_float64_uint16 convert_float64_uint32 convert_float64_uint64 convert_float64_uint8 convert_int16_complex128 convert_int16_complex64 convert_int16_float32 convert_int16_float64 convert_int16_int32 convert_int16_int64 convert_int16_int8 convert_int16_uint16 convert_int16_uint32 convert_int16_uint64 convert_int16_uint8 convert_int32_complex128 convert_int32_complex64 convert_int32_float32 convert_int32_float64 convert_int32_int16 convert_int32_int64 convert_int32_int8 convert_int32_uint16 convert_int32_uint32 convert_int32_uint64 convert_int32_uint8 convert_int64_complex128 convert_int64_complex64 convert_int64_float32 convert_int64_float64 convert_int64_int16 convert_int64_int32 convert_int64_int8 convert_int64_uint16 convert_int64_uint32 convert_int64_uint64 convert_int64_uint8 convert_int8_complex128 convert_int8_complex64 convert_int8_float32 convert_int8_float64 convert_int8_int16 convert_int8_int32 convert_int8_int64 convert_int8_uint16 convert_int8_uint32 convert_int8_uint64 convert_int8_uint8 convert_uint16_complex128 convert_uint16_complex64 convert_uint16_float32 convert_uint16_float64 convert_uint16_int16 convert_uint16_int32 convert_uint16_int64 convert_uint16_int8 convert_uint16_uint32 convert_uint16_uint64 convert_uint16_uint8 convert_uint32_complex128 convert_uint32_complex64 convert_uint32_float32 convert_uint32_float64 convert_uint32_int16 convert_uint32_int32 convert_uint32_int64 convert_uint32_int8 convert_uint32_uint16 convert_uint32_uint64 convert_uint32_uint8 convert_uint64_complex128 convert_uint64_complex64 convert_uint64_float32 convert_uint64_float64 convert_uint64_int16 convert_uint64_int32 convert_uint64_int64 convert_uint64_int8 convert_uint64_uint16 convert_uint64_uint32 convert_uint64_uint8 convert_uint8_complex128 convert_uint8_complex64 convert_uint8_float32 convert_uint8_float64 convert_uint8_int16 convert_uint8_int32 convert_uint8_int64 convert_uint8_int8 convert_uint8_uint16 convert_uint8_uint32 convert_uint8_uint64 creat creat_excl creat_rdonly cvlist cvlist_array cvlist_array_hidden cvlist_array_meta cvlist_array_meta_hidden cvlist_hidden cvlist_invalid cvlist_meta cvlist_meta_hidden cvlist_meta_invalid del del_carray del_carray_deref del_const del_const_deref del_const_force del_data del_derived del_derived_after del_derived_force del_meta del_meta_force desync desync_flush desync_reopen desync_reopen_inv dfes_bit dfes_divide dfes_lincom dfes_linterp dfes_multiply dfes_null dfes_phase dfes_raw dfes_recip dfes_zero elist_alias elist_hidden elist_scalar encode_alter encode_get encode_move endian_alter endian_alter_sie endian_get endian_move entry_bad_code entry_bit entry_bit_scalar entry_divide entry_invalid entry_lincom entry_lincom_scalar entry_linterp entry_mplex entry_mplex_scalar entry_multiply entry_phase entry_phase_scalar entry_polynom entry_polynom_scalar entry_raw entry_raw_scalar entry_raw_scalar_code entry_raw_scalar_type entry_recip entry_scalar_repr entry_type entry_type_alias entry_window entry_window_scalar eof eof_index eof_lincom eof_phase error error_error error_num error_short error_verbose error_verbose_prefix file file_code file_type flist flist_hidden flist_invalid flist_meta flist_meta_hidden flist_meta_invalid flist_type flist_type_hidden flist_type_invalid flist_type_meta flist_type_meta_hidden flist_type_meta_invalid flush flush_all flush_bad_code flush_invalid flush_meta flush_spec foffs_alter foffs_get foffs_move fragment_affix fragment_affix_alter fragment_affix_alter2 fragment_affix_dup fragment_index fragment_index_alias fragment_name fragment_name_oor fragment_num fragment_parent get64 get_bad_code get_bit get_carray get_carray_len get_carray_slice get_char get_clincom get_complex128 get_complex64 get_const get_const_complex get_const_repr get_cpolynom get_divide get_endian16 get_endian32 get_endian64 get_endian8 get_endian_complex128_arm get_endian_complex128_big get_endian_complex128_little get_endian_complex64_arm get_endian_complex64_big get_endian_complex64_little get_endian_float32_arm get_endian_float32_big get_endian_float32_little get_endian_float64_arm get_endian_float64_big get_endian_float64_little get_ff get_float32 get_float64 get_foffs get_fs get_here get_here_foffs get_heres get_int16 get_int32 get_int64 get_int8 get_invalid get_lincom1 get_lincom2 get_lincom3 get_lincom_noin get_lincom_non get_lincom_null get_lincom_spf get_linterp get_linterp_noin get_linterp_notab get_linterp_sort get_mplex get_mplex_lb get_mplex_lball get_mplex_nolb get_multiply get_multiply_noin get_nonexistent get_null get_off64 get_phase get_phase_affix get_polynom get_polynom_noin get_recip get_recip_const get_recurse get_rofs get_sbit get_sf get_ss get_type get_uint16 get_uint32 get_uint64 get_window get_window_clr get_window_ge get_window_gt get_window_le get_window_lt get_window_ne get_window_set get_zero global_flags global_name global_ref global_ref_empty global_ref_set gzip_add gzip_get gzip_get_get gzip_get_put gzip_move_from gzip_move_to gzip_nframes gzip_put gzip_put_get header_complex hide hide_hidden hide_unhide include include_accmode include_affix include_auto include_cb include_creat include_ignore include_index include_invalid include_nonexistent include_pc include_ref include_syntax index index_domain index_range legacy_get legacy_get_put legacy_get_rofs legacy_nframes legacy_nonexistent legacy_put legacy_spf lzma_get lzma_nframes madd madd_affix madd_alias madd_bit madd_bit_invalid madd_carray madd_clincom madd_const madd_cpolynom madd_crecip madd_crecip89 madd_divide madd_index madd_lincom madd_lincom_invalid madd_linterp madd_linterp_invalid madd_mplex madd_multiply madd_multiply_invalid madd_phase madd_phase_invalid madd_polynom madd_recip madd_sbit madd_spec madd_spec_directive madd_spec_invalid madd_spec_resolv madd_string madd_window move move_affix move_affix_dup move_alias move_data_enc_ar move_data_enc_ra move_data_endian move_data_foffs move_data_nop move_index move_meta move_protect move_subdir name name_affix name_affix_bad name_alias name_dup name_move name_move_alias name_updb name_updb_alias name_updb_const name_updb_const_alias nentries_alias nentries_hidden nentries_scalar nfields nfields_hidden nfields_invalid nfields_type nfields_type_hidden nfields_type_invalid nfields_vector nfields_vector_hidden nfields_vector_invalid nframes nframes64 nframes_empty nframes_invalid nframes_off64 nframes_spf nmeta nmeta_hidden nmeta_invalid nmeta_parent nmeta_type nmeta_type_hidden nmeta_type_invalid nmeta_type_parent nmeta_vectors nmeta_vectors_del nmeta_vectors_hidden nmeta_vectors_invalid nmeta_vectors_parent open open_abs open_cb_abort open_cb_cont open_cb_ignore open_cb_invalid open_cb_rescan open_eaccess open_nonexistent open_notdirfile parse_alias parse_alias_code parse_alias_dup parse_alias_meta parse_alias_missing parse_badline parse_bit parse_bit4 parse_bit_bitnum parse_bit_bitsize parse_bit_ncols parse_bit_numbits parse_bit_scalar parse_carray parse_carray_long parse_const parse_const_ncols parse_divide parse_duplicate parse_duplicate_ignore parse_endian_bad parse_endian_big parse_endian_force parse_endian_little parse_endian_slash parse_eol parse_foffs parse_foffs_include parse_foffs_slash parse_hidden parse_hidden_field parse_hidden_meta parse_include parse_include_absolute parse_include_absrel parse_include_loop parse_include_nonexistent parse_include_prefix parse_include_prefix_dup parse_include_preprefix parse_include_relabs parse_include_relrel parse_include_slash parse_include_suffix parse_include_sufsuffix parse_index parse_lincom parse_lincom_ncols1 parse_lincom_ncols2 parse_lincom_nfields parse_lincom_nofields parse_lincom_non parse_lincom_non_ncols parse_lincom_scalar parse_linterp parse_linterp_ncols parse_malias parse_malias_dup parse_malias_meta parse_meta parse_meta_affix parse_meta_alias parse_meta_implicit parse_meta_implicit2 parse_meta_implicit_affix parse_meta_index parse_meta_index2 parse_meta_jump parse_meta_malias parse_meta_meta parse_meta_parent parse_meta_raw parse_mplex parse_mplex_ncols parse_mplex_nomax parse_mplex_scalar parse_multiply parse_multiply_ncols parse_name parse_name_dot parse_name_ext parse_name_pedantic parse_ncols parse_phase parse_phase_ncols parse_phase_scalar parse_polynom parse_polynom_ncols1 parse_polynom_ncols2 parse_polynom_scalar parse_protect_all parse_protect_bad parse_protect_data parse_protect_format parse_protect_none parse_quote parse_quote_mismatch parse_raw parse_raw_char parse_raw_ncols parse_raw_scalar parse_raw_spf parse_raw_type parse_recip parse_ref parse_ref_nonexistent parse_sbit parse_sort parse_string parse_string_ncols parse_string_null parse_version parse_version_89 parse_version_98 parse_version_include parse_version_p8 parse_version_p9 parse_version_permissive parse_version_slash parse_whitespace parse_window parse_window_ncols parse_window_op parse_window_scalar protect_alter protect_get put64 put_bad_code put_bit put_bof put_carray put_carray_slice put_char put_complex128 put_complex64 put_const put_const_protect put_divide put_endian16 put_endian32 put_endian64 put_endian8 put_endian_complex128_arm put_endian_complex128_big put_endian_complex128_little put_endian_complex64_arm put_endian_complex64_big put_endian_complex64_little put_endian_float32_arm put_endian_float32_big put_endian_float32_little put_endian_float64_arm put_endian_float64_big put_endian_float64_little put_ff put_float32 put_float64 put_foffs put_fs put_here put_heres put_int16 put_int32 put_int64 put_int8 put_invalid put_lincom1 put_lincom2 put_lincom_noin put_linterp put_linterp_noin put_linterp_nomono put_linterp_notab put_linterp_reverse put_mplex put_multiply put_null put_off64 put_phase put_phase_noin put_polynom1 put_polynom2 put_polynom_noin put_protect put_rdonly put_recip put_recurse put_repr put_rofs put_sbit put_sf put_ss put_string put_string_protect put_type put_uint16 put_uint32 put_uint64 put_window put_zero ref ref_none ref_two repr_a repr_float32 repr_float64 repr_i repr_int16 repr_int32 repr_int64 repr_int8 repr_m repr_r repr_real_a rep... [truncated message content] |
From: <ket...@us...> - 2012-06-25 15:13:45
|
Revision: 723 http://getdata.svn.sourceforge.net/getdata/?rev=723&view=rev Author: ketiltrout Date: 2012-06-25 15:13:34 +0000 (Mon, 25 Jun 2012) Log Message: ----------- Add ALIAS to _GD_FindVersion. Modified Paths: -------------- trunk/getdata/ChangeLog trunk/getdata/src/flush.c trunk/getdata/util/checkdirfile.c Modified: trunk/getdata/ChangeLog =================================================================== --- trunk/getdata/ChangeLog 2012-06-13 21:32:28 UTC (rev 722) +++ trunk/getdata/ChangeLog 2012-06-25 15:13:34 UTC (rev 723) @@ -1,3 +1,8 @@ +2012-06-25 D. V. Wiebe <ge...@ke...> svn:723 + * src/flush.c (_GD_FindVersion): ALIAS means >= 9. + + * util/checkdirfile.c: Grammar. + 2012-06-13 D. V. Wiebe <ge...@ke...> svn:721 GetData-0.8.0rc2. Modified: trunk/getdata/src/flush.c =================================================================== --- trunk/getdata/src/flush.c 2012-06-13 21:32:28 UTC (rev 722) +++ trunk/getdata/src/flush.c 2012-06-25 15:13:34 UTC (rev 723) @@ -1003,7 +1003,7 @@ if (D->entry[i]->hidden) D->av &= GD_VERS_GE_9; else - switch (D->entry[i]->field_type) { + switch ((int)D->entry[i]->field_type) { case GD_RAW_ENTRY: switch (D->entry[i]->EN(raw,data_type)) { case GD_COMPLEX128: @@ -1052,6 +1052,7 @@ D->av &= GD_VERS_GE_5; } break; + case GD_ALIAS_ENTRY: case GD_WINDOW_ENTRY: case GD_MPLEX_ENTRY: D->av &= GD_VERS_GE_9; Modified: trunk/getdata/util/checkdirfile.c =================================================================== --- trunk/getdata/util/checkdirfile.c 2012-06-13 21:32:28 UTC (rev 722) +++ trunk/getdata/util/checkdirfile.c 2012-06-25 15:13:34 UTC (rev 723) @@ -202,7 +202,8 @@ return 1; } - printf(" Found %llu frames.\n", (unsigned long long)n); + printf(" Found %llu %s.\n", (unsigned long long)n, + n == 1 ? "frame" : "frames"); gd_close(dirfile); return 0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-06-13 21:32:34
|
Revision: 722 http://getdata.svn.sourceforge.net/getdata/?rev=722&view=rev Author: ketiltrout Date: 2012-06-13 21:32:28 +0000 (Wed, 13 Jun 2012) Log Message: ----------- GetData-0.8.0rc2. Modified Paths: -------------- trunk/getdata/ChangeLog trunk/getdata/NEWS trunk/getdata/m4/version.m4 Modified: trunk/getdata/ChangeLog =================================================================== --- trunk/getdata/ChangeLog 2012-06-05 23:12:09 UTC (rev 721) +++ trunk/getdata/ChangeLog 2012-06-13 21:32:28 UTC (rev 722) @@ -1,4 +1,12 @@ -2012-05-25 D. V. Wiebe <ge...@ke...> svn:717 +2012-06-13 D. V. Wiebe <ge...@ke...> svn:721 + GetData-0.8.0rc2. + +2012-06-04 D. V. Wiebe <ge...@ke...> svn:720 + * bindings/cxx/dirfile.cpp bindings/cxx/fragment.cpp + bindings/cxx/getdata/dirfile.h bindings/cxx/getdata/fragment.h: off_t + -> gd_off64_t. + +2012-06-02 D. V. Wiebe <ge...@ke...> svn:717 * src/internal.h (_GD_AbsPath): Allow s == NULL. 2012-05-25 D. V. Wiebe <ge...@ke...> svn:712 Modified: trunk/getdata/NEWS =================================================================== --- trunk/getdata/NEWS 2012-06-05 23:12:09 UTC (rev 721) +++ trunk/getdata/NEWS 2012-06-13 21:32:28 UTC (rev 722) @@ -1,4 +1,4 @@ -New in version 0.8.0rc1: +New in version 0.8.0rc2: Dirfile Changes @@ -253,6 +253,11 @@ to the GD_...ENCODED symbols in the C API) have all been renamed. They are now of the form GDE_xx. + * C++: The bindings now make use of the explicitly-64-bit offset type + gd_off64_t defined in getdata.h. Previously, the bindings tried to force + off_t to be 64-bit through preprocessor shenanigans, which led, in certain + cases, to linking problems down the road when used by third parties. + * Python: The return_type, num_fields, and num_samples parameters to dirfile.getdata() are now optional. The return_type defautls to pygetdata.FLOAT, and if neither num_fields nor num_samples are given, all Modified: trunk/getdata/m4/version.m4 =================================================================== --- trunk/getdata/m4/version.m4 2012-06-05 23:12:09 UTC (rev 721) +++ trunk/getdata/m4/version.m4 2012-06-13 21:32:28 UTC (rev 722) @@ -21,7 +21,7 @@ m4_define(getdata_major, 0) m4_define(getdata_minor, 8) m4_define(getdata_revision, 0) -m4_define(getdata_extra, [rc1]) +m4_define(getdata_extra, [rc2]) m4_define(getdata_version, getdata_major.getdata_minor.getdata_revision[]getdata_extra) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-06-05 23:12:15
|
Revision: 721 http://getdata.svn.sourceforge.net/getdata/?rev=721&view=rev Author: ketiltrout Date: 2012-06-05 23:12:09 +0000 (Tue, 05 Jun 2012) Log Message: ----------- gd_tokenise -> gs_strtok Modified Paths: -------------- trunk/defile/lib/libdefile.c Modified: trunk/defile/lib/libdefile.c =================================================================== --- trunk/defile/lib/libdefile.c 2012-06-05 00:50:13 UTC (rev 720) +++ trunk/defile/lib/libdefile.c 2012-06-05 23:12:09 UTC (rev 721) @@ -199,7 +199,7 @@ /* skip fields we've been asked to exclude, this requires isolating the * field name; use GetData's parser to do this. */ - name = gd_tokenise(df->D, spec); + name = gd_strtok(df->D, spec); if (name == NULL) { if (gd_error(df->D) == GD_E_ALLOC) return DF_OUTPUT; /* better to just fold this into gd_add_spec failures @@ -214,7 +214,7 @@ } /* check the second token to see if it's a RAW field */ - type = gd_tokenise(df->D, NULL); + type = gd_strtok(df->D, NULL); if (type && strcmp(type, "RAW") == 0) { fputs("libdefile: Attempt to define RAW field via df_add_spec().\n", stderr); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-06-05 00:50:20
|
Revision: 720 http://getdata.svn.sourceforge.net/getdata/?rev=720&view=rev Author: ketiltrout Date: 2012-06-05 00:50:13 +0000 (Tue, 05 Jun 2012) Log Message: ----------- CXX: 64-bit off_t api. Modified Paths: -------------- trunk/getdata/bindings/cxx/dirfile.cpp trunk/getdata/bindings/cxx/fragment.cpp trunk/getdata/bindings/cxx/getdata/dirfile.h trunk/getdata/bindings/cxx/getdata/fragment.h Modified: trunk/getdata/bindings/cxx/dirfile.cpp =================================================================== --- trunk/getdata/bindings/cxx/dirfile.cpp 2012-06-04 22:25:43 UTC (rev 719) +++ trunk/getdata/bindings/cxx/dirfile.cpp 2012-06-05 00:50:13 UTC (rev 720) @@ -257,19 +257,19 @@ return gd_mvector_list(D, parent); } -off_t Dirfile::NFrames() const +gd_off64_t Dirfile::NFrames() const { - return (off_t)gd_nframes64(D); + return gd_nframes64(D); } -off_t Dirfile::EoF(const char *field_code) const +gd_off64_t Dirfile::EoF(const char *field_code) const { - return (off_t)gd_eof64(D, field_code); + return gd_eof64(D, field_code); } -off_t Dirfile::BoF(const char *field_code) const +gd_off64_t Dirfile::BoF(const char *field_code) const { - return (off_t)gd_bof64(D, field_code); + return gd_bof64(D, field_code); } int Dirfile::GetCarray(const char *field_code, DataType type, void *data_out, @@ -288,13 +288,12 @@ return gd_get_constant(D, field_code, (gd_type_t)type, data_out); } -size_t Dirfile::GetData(const char* field_code, off_t first_frame, - off_t first_sample, size_t num_frames, size_t num_samples, +size_t Dirfile::GetData(const char* field_code, gd_off64_t first_frame, + gd_off64_t first_sample, size_t num_frames, size_t num_samples, DataType type, void* data_out) const { - return gd_getdata64(D, field_code, (gd_off64_t)first_frame, - (gd_off64_t)first_sample, num_frames, num_samples, (gd_type_t)type, - data_out); + return gd_getdata64(D, field_code, first_frame, first_sample, num_frames, + num_samples, (gd_type_t)type, data_out); } size_t Dirfile::GetString(const char *field_code, size_t len, char* data_out) @@ -319,13 +318,12 @@ return gd_put_constant(D, field_code, (gd_type_t)type, data_in); } -size_t Dirfile::PutData(const char* field_code, off_t first_frame, - off_t first_sample, size_t num_frames, size_t num_samples, +size_t Dirfile::PutData(const char* field_code, gd_off64_t first_frame, + gd_off64_t first_sample, size_t num_frames, size_t num_samples, DataType type, const void* data_in) const { - return gd_putdata64(D, field_code, (gd_off64_t)first_frame, - (gd_off64_t)first_sample, num_frames, num_samples, (gd_type_t)type, - data_in); + return gd_putdata64(D, field_code, first_frame, first_sample, num_frames, + num_samples, (gd_type_t)type, data_in); } size_t Dirfile::PutString(const char *field_code, const char* data_in) const @@ -424,10 +422,9 @@ } double Dirfile::FrameNum(const char* field_code, double value, - off_t frame_start, off_t frame_end) const + gd_off64_t frame_start, gd_off64_t frame_end) const { - return gd_framenum_subset64(D, field_code, value, (gd_off64_t)frame_start, - (gd_off64_t)frame_end); + return gd_framenum_subset64(D, field_code, value, frame_start, frame_end); } int Dirfile::FragmentIndex(const char* field_code) const @@ -445,16 +442,15 @@ return gd_dirfile_standards(D, version); } -off_t Dirfile::Seek(const char* field_code, off_t frame_num, - off_t sample_num, int flags) const +gd_off64_t Dirfile::Seek(const char* field_code, gd_off64_t frame_num, + gd_off64_t sample_num, int flags) const { - return (off_t)gd_seek64(D, field_code, (gd_off64_t)frame_num, - (gd_off64_t)sample_num, flags); + return gd_seek64(D, field_code, frame_num, sample_num, flags); } -off_t Dirfile::Tell(const char* field_code) const +gd_off64_t Dirfile::Tell(const char* field_code) const { - return (off_t)gd_tell64(D, field_code); + return gd_tell64(D, field_code); } int Dirfile::AddAlias(const char* field_code, const char* target, Modified: trunk/getdata/bindings/cxx/fragment.cpp =================================================================== --- trunk/getdata/bindings/cxx/fragment.cpp 2012-06-04 22:25:43 UTC (rev 719) +++ trunk/getdata/bindings/cxx/fragment.cpp 2012-06-05 00:50:13 UTC (rev 720) @@ -31,7 +31,7 @@ ind = index; enc = (GetData::EncodingScheme)gd_encoding(D->D, index); end = gd_endianness(D->D, index); - off = (off_t)gd_frameoffset64(D->D, index); + off = gd_frameoffset64(D->D, index); prot = gd_protection(D->D, index); name = gd_fragmentname(D->D, index); parent = (index == 0) ? -1 : gd_parent_fragment(D->D, index); @@ -71,9 +71,9 @@ return ret; } -int Fragment::SetFrameOffset(off_t offset, int recode) +int Fragment::SetFrameOffset(gd_off64_t offset, int recode) { - int ret = gd_alter_frameoffset64(D->D, (gd_off64_t)offset, ind, recode); + int ret = gd_alter_frameoffset64(D->D, offset, ind, recode); if (!ret) off = offset; Modified: trunk/getdata/bindings/cxx/getdata/dirfile.h =================================================================== --- trunk/getdata/bindings/cxx/getdata/dirfile.h 2012-06-04 22:25:43 UTC (rev 719) +++ trunk/getdata/bindings/cxx/getdata/dirfile.h 2012-06-05 00:50:13 UTC (rev 720) @@ -107,7 +107,7 @@ int AlterSpec(const char* spec, int recode = 0) const; - off_t BoF(const char *field_code) const; + gd_off64_t BoF(const char *field_code) const; size_t CarrayLen(const char *field_code) const; @@ -130,7 +130,7 @@ const char **EntryList(const char *parent = NULL, unsigned int type = 0, unsigned int flags = 0) const; - off_t EoF(const char *field_code) const; + gd_off64_t EoF(const char *field_code) const; int Error() const; @@ -152,7 +152,7 @@ int FragmentIndex(const char* field_code) const; double FrameNum(const char* field_code, double value, - off_t frame_start = 0, off_t frame_end = 0) const; + gd_off64_t frame_start = 0, gd_off64_t frame_end = 0) const; int GetCarray(const char *field_code, DataType type, void *data_out, unsigned int start = 0, size_t len = 0) const; @@ -160,8 +160,8 @@ int GetConstant(const char *field_code, DataType type, void *data_out) const; - size_t GetData(const char *field_code, off_t first_frame, - off_t first_sample, size_t num_frames, size_t num_samples, + size_t GetData(const char *field_code, gd_off64_t first_frame, + gd_off64_t first_sample, size_t num_frames, size_t num_samples, DataType type, void* data_out) const; size_t GetString(const char *field_code, size_t len, char *data_out) @@ -228,7 +228,7 @@ int NFragments() const; - off_t NFrames() const; + gd_off64_t NFrames() const; unsigned int NVectors() const; @@ -238,8 +238,8 @@ int PutConstant(const char *field_code, DataType type, const void *data_in) const; - size_t PutData(const char *field_code, off_t first_frame, - off_t first_sample, size_t num_frames, size_t num_samples, + size_t PutData(const char *field_code, gd_off64_t first_frame, + gd_off64_t first_sample, size_t num_frames, size_t num_samples, DataType type, const void* data_in) const; size_t PutString(const char *field_code, const char *data_in) const; @@ -252,8 +252,8 @@ unsigned int SamplesPerFrame(const char *field_code) const; - off_t Seek(const char* field_code, off_t frame_num, off_t sample_num, - int flags) const; + gd_off64_t Seek(const char* field_code, gd_off64_t frame_num, + gd_off64_t sample_num, int flags) const; void SetCallback(gd_parser_callback_t sehandler, void* extra = NULL) const; @@ -264,7 +264,7 @@ int Sync(const char *field_code = NULL) const; - off_t Tell(const char* field_code) const; + gd_off64_t Tell(const char* field_code) const; char *StrTok(const char *string = NULL); Modified: trunk/getdata/bindings/cxx/getdata/fragment.h =================================================================== --- trunk/getdata/bindings/cxx/getdata/fragment.h 2012-06-04 22:25:43 UTC (rev 719) +++ trunk/getdata/bindings/cxx/getdata/fragment.h 2012-06-05 00:50:13 UTC (rev 720) @@ -47,7 +47,7 @@ unsigned long Endianness() const { return end; }; - off_t FrameOffset() const { return (off_t)off; }; + gd_off64_t FrameOffset() const { return off; }; int Index() const { return ind; } @@ -67,7 +67,7 @@ int SetEndianness(unsigned long byte_sex, int recode = 0); - int SetFrameOffset(off_t offset, int recode = 0); + int SetFrameOffset(gd_off64_t offset, int recode = 0); int SetPrefix(const char *preix); @@ -83,7 +83,7 @@ unsigned long end; int ind; int prot; - off_t off; + gd_off64_t off; const char* name; char* prefix; char* suffix; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-06-04 22:25:50
|
Revision: 719 http://getdata.svn.sourceforge.net/getdata/?rev=719&view=rev Author: ketiltrout Date: 2012-06-04 22:25:43 +0000 (Mon, 04 Jun 2012) Log Message: ----------- svn:ignore Property Changed: ---------------- trunk/getdata/bindings/perl/ trunk/getdata/test/ Property changes on: trunk/getdata/bindings/perl ___________________________________________________________________ Modified: svn:ignore - simple_funcs.xs Makefile.in GetData.pm GetData.c .deps make_parameters.sed Makefile MYMETA.yml MYMETA.json _build Build lib debug.c blib Build.PL t MANIFEST + simple_funcs.xs Makefile.in GetData.pm GetData.c .deps make_parameters.sed Makefile MYMETA.yml MYMETA.json _build Build lib debug.c blib Build.PL t MANIFEST build.stamp Property changes on: trunk/getdata/test ___________________________________________________________________ Modified: svn:ignore - Makefile Makefile.in *.o dirfile *.swp *.exe .deps .libs add add_affix add_alias add_alias_meta add_bit add_bit_bitnum add_bit_bitsize add_bit_invalid add_bit_numbits add_carray add_clincom add_code add_const add_cpolynom add_crecip add_crecip89 add_divide add_divide_invalid add_duplicate add_format add_invalid add_lincom add_lincom_invalid add_lincom_nfields add_linterp add_linterp_invalid add_meta add_meta_alias add_mplex add_mplex_val add_multiply add_multiply_invalid add_phase add_phase_invalid add_polynom add_protect add_raw add_raw_include add_raw_invalid add_raw_spf add_raw_type add_rdonly add_recip add_resolv add_sbit add_scalar add_scalar_carray add_sort add_spec add_spec_directive add_spec_invalid add_spec_meta add_spec_resolv add_string add_string_affix add_type add_window add_window_op alias_list alias_list_alias alias_list_missing alias_num alias_num_alias alias_num_missing alias_target alias_target_alias alias_target_missing alter_bit_bitnum alter_bit_numbits alter_carray_len alter_carray_type alter_const alter_cpolynom alter_crecip alter_crecip89 alter_crecip_zero alter_divide alter_entry alter_entry_affix alter_entry_hidden alter_entry_recode alter_entry_scalar2a alter_entry_scalar2n alter_entry_scalar3 alter_entry_scalar4 alter_lincom_23 alter_lincom_32 alter_lincom_input alter_lincom_offset alter_lincom_slope alter_linterp alter_linterp_move alter_mplex alter_mspec alter_mspec_affix alter_multiply alter_phase alter_polynom_coeff alter_polynom_input alter_polynom_ord alter_raw_spf alter_raw_type alter_recip alter_recip_zero alter_spec alter_spec_affix alter_spec_meta alter_window ascii_add ascii_get ascii_get_get ascii_nframes ascii_put bof bof_lincom bof_phase bzip_get bzip_get_get bzip_move_from bzip_nframes bzip_put close close_bad close_discard close_null convert_complex128_complex64 convert_complex128_float64 convert_complex128_int64 convert_complex128_uint64 convert_complex64_complex128 convert_complex64_float64 convert_complex64_int64 convert_complex64_uint64 convert_float32_complex128 convert_float32_complex64 convert_float32_float64 convert_float32_int16 convert_float32_int32 convert_float32_int64 convert_float32_int8 convert_float32_uint16 convert_float32_uint32 convert_float32_uint64 convert_float32_uint8 convert_float64_complex128 convert_float64_complex64 convert_float64_float32 convert_float64_int16 convert_float64_int32 convert_float64_int64 convert_float64_int8 convert_float64_uint16 convert_float64_uint32 convert_float64_uint64 convert_float64_uint8 convert_int16_complex128 convert_int16_complex64 convert_int16_float32 convert_int16_float64 convert_int16_int32 convert_int16_int64 convert_int16_int8 convert_int16_uint16 convert_int16_uint32 convert_int16_uint64 convert_int16_uint8 convert_int32_complex128 convert_int32_complex64 convert_int32_float32 convert_int32_float64 convert_int32_int16 convert_int32_int64 convert_int32_int8 convert_int32_uint16 convert_int32_uint32 convert_int32_uint64 convert_int32_uint8 convert_int64_complex128 convert_int64_complex64 convert_int64_float32 convert_int64_float64 convert_int64_int16 convert_int64_int32 convert_int64_int8 convert_int64_uint16 convert_int64_uint32 convert_int64_uint64 convert_int64_uint8 convert_int8_complex128 convert_int8_complex64 convert_int8_float32 convert_int8_float64 convert_int8_int16 convert_int8_int32 convert_int8_int64 convert_int8_uint16 convert_int8_uint32 convert_int8_uint64 convert_int8_uint8 convert_uint16_complex128 convert_uint16_complex64 convert_uint16_float32 convert_uint16_float64 convert_uint16_int16 convert_uint16_int32 convert_uint16_int64 convert_uint16_int8 convert_uint16_uint32 convert_uint16_uint64 convert_uint16_uint8 convert_uint32_complex128 convert_uint32_complex64 convert_uint32_float32 convert_uint32_float64 convert_uint32_int16 convert_uint32_int32 convert_uint32_int64 convert_uint32_int8 convert_uint32_uint16 convert_uint32_uint64 convert_uint32_uint8 convert_uint64_complex128 convert_uint64_complex64 convert_uint64_float32 convert_uint64_float64 convert_uint64_int16 convert_uint64_int32 convert_uint64_int64 convert_uint64_int8 convert_uint64_uint16 convert_uint64_uint32 convert_uint64_uint8 convert_uint8_complex128 convert_uint8_complex64 convert_uint8_float32 convert_uint8_float64 convert_uint8_int16 convert_uint8_int32 convert_uint8_int64 convert_uint8_int8 convert_uint8_uint16 convert_uint8_uint32 convert_uint8_uint64 creat creat_excl creat_rdonly cvlist cvlist_array cvlist_array_hidden cvlist_array_meta cvlist_array_meta_hidden cvlist_hidden cvlist_invalid cvlist_meta cvlist_meta_hidden cvlist_meta_invalid del del_carray del_carray_deref del_const del_const_deref del_const_force del_data del_derived del_derived_after del_derived_force del_meta del_meta_force desync desync_flush desync_reopen desync_reopen_inv dfes_bit dfes_divide dfes_lincom dfes_linterp dfes_multiply dfes_null dfes_phase dfes_raw dfes_recip dfes_zero elist_alias elist_hidden elist_scalar encode_alter encode_get encode_move endian_alter endian_alter_sie endian_get endian_move entry_bad_code entry_bit entry_bit_scalar entry_divide entry_invalid entry_lincom entry_lincom_scalar entry_linterp entry_mplex entry_mplex_scalar entry_multiply entry_phase entry_phase_scalar entry_polynom entry_polynom_scalar entry_raw entry_raw_scalar entry_raw_scalar_code entry_raw_scalar_type entry_recip entry_scalar_repr entry_type entry_type_alias entry_window entry_window_scalar eof eof_index eof_lincom eof_phase error error_error error_num error_short error_verbose error_verbose_prefix file file_code file_type flist flist_hidden flist_invalid flist_meta flist_meta_hidden flist_meta_invalid flist_type flist_type_hidden flist_type_invalid flist_type_meta flist_type_meta_hidden flist_type_meta_invalid flush flush_all flush_bad_code flush_invalid flush_meta flush_spec foffs_alter foffs_get foffs_move fragment_affix fragment_affix_alter fragment_affix_alter2 fragment_affix_dup fragment_index fragment_index_alias fragment_name fragment_name_oor fragment_num fragment_parent get64 get_bad_code get_bit get_carray get_carray_len get_carray_slice get_char get_clincom get_complex128 get_complex64 get_const get_const_complex get_const_repr get_cpolynom get_divide get_endian16 get_endian32 get_endian64 get_endian8 get_endian_complex128_arm get_endian_complex128_big get_endian_complex128_little get_endian_complex64_arm get_endian_complex64_big get_endian_complex64_little get_endian_float32_arm get_endian_float32_big get_endian_float32_little get_endian_float64_arm get_endian_float64_big get_endian_float64_little get_ff get_float32 get_float64 get_foffs get_fs get_here get_here_foffs get_heres get_int16 get_int32 get_int64 get_int8 get_invalid get_lincom1 get_lincom2 get_lincom3 get_lincom_noin get_lincom_non get_lincom_null get_lincom_spf get_linterp get_linterp_noin get_linterp_notab get_linterp_sort get_mplex get_mplex_lb get_mplex_lball get_mplex_nolb get_multiply get_multiply_noin get_nonexistent get_null get_off64 get_phase get_phase_affix get_polynom get_polynom_noin get_recip get_recip_const get_recurse get_rofs get_sbit get_sf get_ss get_type get_uint16 get_uint32 get_uint64 get_window get_window_clr get_window_ge get_window_gt get_window_le get_window_lt get_window_ne get_window_set get_zero global_flags global_name global_ref global_ref_empty global_ref_set gzip_add gzip_get gzip_get_get gzip_get_put gzip_move_from gzip_move_to gzip_nframes gzip_put gzip_put_get header_complex hide hide_hidden hide_unhide include include_accmode include_affix include_auto include_cb include_creat include_ignore include_index include_invalid include_nonexistent include_pc include_ref include_syntax index index_domain index_range legacy_get legacy_get_put legacy_get_rofs legacy_nframes legacy_nonexistent legacy_put legacy_spf lzma_get lzma_nframes madd madd_affix madd_alias madd_bit madd_bit_invalid madd_carray madd_clincom madd_const madd_cpolynom madd_crecip madd_crecip89 madd_divide madd_index madd_lincom madd_lincom_invalid madd_linterp madd_linterp_invalid madd_mplex madd_multiply madd_multiply_invalid madd_phase madd_phase_invalid madd_polynom madd_recip madd_sbit madd_spec madd_spec_directive madd_spec_invalid madd_spec_resolv madd_string madd_window move move_affix move_affix_dup move_alias move_data_enc_ar move_data_enc_ra move_data_endian move_data_foffs move_data_nop move_index move_meta move_protect move_subdir name name_affix name_affix_bad name_after name_after_const name_dup name_move name_update name_update_const nentries_alias nentries_hidden nentries_scalar nfields nfields_hidden nfields_invalid nfields_type nfields_type_hidden nfields_type_invalid nfields_vector nfields_vector_hidden nfields_vector_invalid nframes nframes64 nframes_empty nframes_invalid nframes_off64 nframes_spf nmeta nmeta_hidden nmeta_invalid nmeta_parent nmeta_type nmeta_type_hidden nmeta_type_invalid nmeta_type_parent nmeta_vectors nmeta_vectors_del nmeta_vectors_hidden nmeta_vectors_invalid nmeta_vectors_parent open open_abs open_cb_abort open_cb_cont open_cb_ignore open_cb_invalid open_cb_rescan open_eaccess open_nonexistent open_notdirfile parse_alias parse_alias_code parse_alias_dup parse_alias_meta parse_alias_missing parse_badline parse_bit parse_bit4 parse_bit_bitnum parse_bit_bitsize parse_bit_ncols parse_bit_numbits parse_bit_scalar parse_carray parse_carray_long parse_const parse_const_ncols parse_divide parse_duplicate parse_duplicate_ignore parse_endian_bad parse_endian_big parse_endian_force parse_endian_little parse_endian_slash parse_eol parse_foffs parse_foffs_include parse_foffs_slash parse_hidden parse_hidden_field parse_hidden_meta parse_include parse_include_absolute parse_include_absrel parse_include_loop parse_include_nonexistent parse_include_prefix parse_include_prefix_dup parse_include_preprefix parse_include_relabs parse_include_relrel parse_include_slash parse_include_suffix parse_include_sufsuffix parse_index parse_lincom parse_lincom_ncols1 parse_lincom_ncols2 parse_lincom_nfields parse_lincom_nofields parse_lincom_non parse_lincom_non_ncols parse_lincom_scalar parse_linterp parse_linterp_ncols parse_malias parse_malias_dup parse_malias_meta parse_meta parse_meta_affix parse_meta_alias parse_meta_implicit parse_meta_implicit2 parse_meta_implicit_affix parse_meta_index parse_meta_index2 parse_meta_jump parse_meta_malias parse_meta_meta parse_meta_parent parse_meta_raw parse_mplex parse_mplex_ncols parse_mplex_nomax parse_mplex_scalar parse_multiply parse_multiply_ncols parse_name parse_name_dot parse_name_ext parse_name_pedantic parse_ncols parse_phase parse_phase_ncols parse_phase_scalar parse_polynom parse_polynom_ncols1 parse_polynom_ncols2 parse_polynom_scalar parse_protect_all parse_protect_bad parse_protect_data parse_protect_format parse_protect_none parse_quote parse_quote_mismatch parse_raw parse_raw_char parse_raw_ncols parse_raw_scalar parse_raw_spf parse_raw_type parse_recip parse_ref parse_ref_nonexistent parse_sbit parse_sort parse_string parse_string_ncols parse_string_null parse_version parse_version_89 parse_version_98 parse_version_include parse_version_p8 parse_version_p9 parse_version_permissive parse_version_slash parse_whitespace parse_window parse_window_ncols parse_window_op parse_window_scalar protect_alter protect_get put64 put_bad_code put_bit put_bof put_carray put_carray_slice put_char put_complex128 put_complex64 put_const put_const_protect put_divide put_endian16 put_endian32 put_endian64 put_endian8 put_endian_complex128_arm put_endian_complex128_big put_endian_complex128_little put_endian_complex64_arm put_endian_complex64_big put_endian_complex64_little put_endian_float32_arm put_endian_float32_big put_endian_float32_little put_endian_float64_arm put_endian_float64_big put_endian_float64_little put_ff put_float32 put_float64 put_foffs put_fs put_here put_heres put_int16 put_int32 put_int64 put_int8 put_invalid put_lincom1 put_lincom2 put_lincom_noin put_linterp put_linterp_noin put_linterp_nomono put_linterp_notab put_linterp_reverse put_mplex put_multiply put_null put_off64 put_phase put_phase_noin put_polynom1 put_polynom2 put_polynom_noin put_protect put_rdonly put_recip put_recurse put_repr put_rofs put_sbit put_sf put_ss put_string put_string_protect put_type put_uint16 put_uint32 put_uint64 put_window put_zero ref ref_none ref_two repr_a repr_float32 repr_float64 repr_i repr_int16 repr_int32 repr_int64 repr_int8 repr_m repr_r repr_real_a repr_real_i repr_real_m repr_real_r repr_uint16 repr_uint32 repr_uint64 repr_uint8 seek64 seek_cur seek_end seek_foffs seek_set sie_get_big sie_get_little sie_move_from sie_move_to sie_nframes_big sie_nframes_little sie_put_big sie_put_little slim_get slim_nframes slim_put spf spf_alias spf_alias_meta spf_alias_missing spf_divide spf_lincom spf_multiply spf_polynom spf_recip spf_recurse svlist svlist_hidden svlist_invalid svlist_meta svlist_meta_hidden svlist_meta_invalid tell tell64 trunc trunc_dir trunc_rdonly trunc_rofs trunc_truncsub unclude unclude_del unclude_move version_0 version_0_write version_1 version_1_write version_2 version_2_write version_3 version_3_write version_4 version_4_write version_5 version_5_strict version_5_write version_6 version_6_strict version_6_write version_7 version_7_strict version_7_write version_8 version_8_strict version_8_write version_9 version_9_strict version_9_write vlist vlist_alias vlist_hidden vlist_invalid vlist_meta vlist_meta_hidden vlist_meta_invalid xz_get xz_nframes zzip_data zzip_get zzip_get_get zzip_nframes zzslim_get zzslim_nframes + Makefile Makefile.in *.o dirfile *.swp *.exe .deps .libs add add_affix add_alias add_alias_meta add_bit add_bit_bitnum add_bit_bitsize add_bit_invalid add_bit_numbits add_carray add_clincom add_code add_const add_cpolynom add_crecip add_crecip89 add_divide add_divide_invalid add_duplicate add_format add_invalid add_lincom add_lincom_invalid add_lincom_nfields add_linterp add_linterp_invalid add_meta add_meta_alias add_mplex add_mplex_val add_multiply add_multiply_invalid add_phase add_phase_invalid add_polynom add_protect add_raw add_raw_include add_raw_invalid add_raw_spf add_raw_type add_rdonly add_recip add_resolv add_sbit add_scalar add_scalar_carray add_sort add_spec add_spec_directive add_spec_invalid add_spec_meta add_spec_resolv add_string add_string_affix add_type add_window add_window_op alias_list alias_list_alias alias_list_missing alias_num alias_num_alias alias_num_missing alias_target alias_target_alias alias_target_missing alter_bit_bitnum alter_bit_numbits alter_carray_len alter_carray_type alter_const alter_cpolynom alter_crecip alter_crecip89 alter_crecip_zero alter_divide alter_entry alter_entry_affix alter_entry_hidden alter_entry_recode alter_entry_scalar2a alter_entry_scalar2n alter_entry_scalar3 alter_entry_scalar4 alter_lincom_23 alter_lincom_32 alter_lincom_input alter_lincom_offset alter_lincom_slope alter_linterp alter_linterp_move alter_mplex alter_mspec alter_mspec_affix alter_multiply alter_phase alter_polynom_coeff alter_polynom_input alter_polynom_ord alter_raw_spf alter_raw_type alter_recip alter_recip_zero alter_spec alter_spec_affix alter_spec_meta alter_window ascii_add ascii_get ascii_get_get ascii_nframes ascii_put bof bof_lincom bof_phase bzip_get bzip_get_get bzip_move_from bzip_nframes bzip_put close close_bad close_discard close_null convert_complex128_complex64 convert_complex128_float64 convert_complex128_int64 convert_complex128_uint64 convert_complex64_complex128 convert_complex64_float64 convert_complex64_int64 convert_complex64_uint64 convert_float32_complex128 convert_float32_complex64 convert_float32_float64 convert_float32_int16 convert_float32_int32 convert_float32_int64 convert_float32_int8 convert_float32_uint16 convert_float32_uint32 convert_float32_uint64 convert_float32_uint8 convert_float64_complex128 convert_float64_complex64 convert_float64_float32 convert_float64_int16 convert_float64_int32 convert_float64_int64 convert_float64_int8 convert_float64_uint16 convert_float64_uint32 convert_float64_uint64 convert_float64_uint8 convert_int16_complex128 convert_int16_complex64 convert_int16_float32 convert_int16_float64 convert_int16_int32 convert_int16_int64 convert_int16_int8 convert_int16_uint16 convert_int16_uint32 convert_int16_uint64 convert_int16_uint8 convert_int32_complex128 convert_int32_complex64 convert_int32_float32 convert_int32_float64 convert_int32_int16 convert_int32_int64 convert_int32_int8 convert_int32_uint16 convert_int32_uint32 convert_int32_uint64 convert_int32_uint8 convert_int64_complex128 convert_int64_complex64 convert_int64_float32 convert_int64_float64 convert_int64_int16 convert_int64_int32 convert_int64_int8 convert_int64_uint16 convert_int64_uint32 convert_int64_uint64 convert_int64_uint8 convert_int8_complex128 convert_int8_complex64 convert_int8_float32 convert_int8_float64 convert_int8_int16 convert_int8_int32 convert_int8_int64 convert_int8_uint16 convert_int8_uint32 convert_int8_uint64 convert_int8_uint8 convert_uint16_complex128 convert_uint16_complex64 convert_uint16_float32 convert_uint16_float64 convert_uint16_int16 convert_uint16_int32 convert_uint16_int64 convert_uint16_int8 convert_uint16_uint32 convert_uint16_uint64 convert_uint16_uint8 convert_uint32_complex128 convert_uint32_complex64 convert_uint32_float32 convert_uint32_float64 convert_uint32_int16 convert_uint32_int32 convert_uint32_int64 convert_uint32_int8 convert_uint32_uint16 convert_uint32_uint64 convert_uint32_uint8 convert_uint64_complex128 convert_uint64_complex64 convert_uint64_float32 convert_uint64_float64 convert_uint64_int16 convert_uint64_int32 convert_uint64_int64 convert_uint64_int8 convert_uint64_uint16 convert_uint64_uint32 convert_uint64_uint8 convert_uint8_complex128 convert_uint8_complex64 convert_uint8_float32 convert_uint8_float64 convert_uint8_int16 convert_uint8_int32 convert_uint8_int64 convert_uint8_int8 convert_uint8_uint16 convert_uint8_uint32 convert_uint8_uint64 creat creat_excl creat_rdonly cvlist cvlist_array cvlist_array_hidden cvlist_array_meta cvlist_array_meta_hidden cvlist_hidden cvlist_invalid cvlist_meta cvlist_meta_hidden cvlist_meta_invalid del del_carray del_carray_deref del_const del_const_deref del_const_force del_data del_derived del_derived_after del_derived_force del_meta del_meta_force desync desync_flush desync_reopen desync_reopen_inv dfes_bit dfes_divide dfes_lincom dfes_linterp dfes_multiply dfes_null dfes_phase dfes_raw dfes_recip dfes_zero elist_alias elist_hidden elist_scalar encode_alter encode_get encode_move endian_alter endian_alter_sie endian_get endian_move entry_bad_code entry_bit entry_bit_scalar entry_divide entry_invalid entry_lincom entry_lincom_scalar entry_linterp entry_mplex entry_mplex_scalar entry_multiply entry_phase entry_phase_scalar entry_polynom entry_polynom_scalar entry_raw entry_raw_scalar entry_raw_scalar_code entry_raw_scalar_type entry_recip entry_scalar_repr entry_type entry_type_alias entry_window entry_window_scalar eof eof_index eof_lincom eof_phase error error_error error_num error_short error_verbose error_verbose_prefix file file_code file_type flist flist_hidden flist_invalid flist_meta flist_meta_hidden flist_meta_invalid flist_type flist_type_hidden flist_type_invalid flist_type_meta flist_type_meta_hidden flist_type_meta_invalid flush flush_all flush_bad_code flush_invalid flush_meta flush_spec foffs_alter foffs_get foffs_move fragment_affix fragment_affix_alter fragment_affix_alter2 fragment_affix_dup fragment_index fragment_index_alias fragment_name fragment_name_oor fragment_num fragment_parent get64 get_bad_code get_bit get_carray get_carray_len get_carray_slice get_char get_clincom get_complex128 get_complex64 get_const get_const_complex get_const_repr get_cpolynom get_divide get_endian16 get_endian32 get_endian64 get_endian8 get_endian_complex128_arm get_endian_complex128_big get_endian_complex128_little get_endian_complex64_arm get_endian_complex64_big get_endian_complex64_little get_endian_float32_arm get_endian_float32_big get_endian_float32_little get_endian_float64_arm get_endian_float64_big get_endian_float64_little get_ff get_float32 get_float64 get_foffs get_fs get_here get_here_foffs get_heres get_int16 get_int32 get_int64 get_int8 get_invalid get_lincom1 get_lincom2 get_lincom3 get_lincom_noin get_lincom_non get_lincom_null get_lincom_spf get_linterp get_linterp_noin get_linterp_notab get_linterp_sort get_mplex get_mplex_lb get_mplex_lball get_mplex_nolb get_multiply get_multiply_noin get_nonexistent get_null get_off64 get_phase get_phase_affix get_polynom get_polynom_noin get_recip get_recip_const get_recurse get_rofs get_sbit get_sf get_ss get_type get_uint16 get_uint32 get_uint64 get_window get_window_clr get_window_ge get_window_gt get_window_le get_window_lt get_window_ne get_window_set get_zero global_flags global_name global_ref global_ref_empty global_ref_set gzip_add gzip_get gzip_get_get gzip_get_put gzip_move_from gzip_move_to gzip_nframes gzip_put gzip_put_get header_complex hide hide_hidden hide_unhide include include_accmode include_affix include_auto include_cb include_creat include_ignore include_index include_invalid include_nonexistent include_pc include_ref include_syntax index index_domain index_range legacy_get legacy_get_put legacy_get_rofs legacy_nframes legacy_nonexistent legacy_put legacy_spf lzma_get lzma_nframes madd madd_affix madd_alias madd_bit madd_bit_invalid madd_carray madd_clincom madd_const madd_cpolynom madd_crecip madd_crecip89 madd_divide madd_index madd_lincom madd_lincom_invalid madd_linterp madd_linterp_invalid madd_mplex madd_multiply madd_multiply_invalid madd_phase madd_phase_invalid madd_polynom madd_recip madd_sbit madd_spec madd_spec_directive madd_spec_invalid madd_spec_resolv madd_string madd_window move move_affix move_affix_dup move_alias move_data_enc_ar move_data_enc_ra move_data_endian move_data_foffs move_data_nop move_index move_meta move_protect move_subdir name name_affix name_affix_bad name_after name_after_const name_dup name_move name_updb name_updb_const nentries_alias nentries_hidden nentries_scalar nfields nfields_hidden nfields_invalid nfields_type nfields_type_hidden nfields_type_invalid nfields_vector nfields_vector_hidden nfields_vector_invalid nframes nframes64 nframes_empty nframes_invalid nframes_off64 nframes_spf nmeta nmeta_hidden nmeta_invalid nmeta_parent nmeta_type nmeta_type_hidden nmeta_type_invalid nmeta_type_parent nmeta_vectors nmeta_vectors_del nmeta_vectors_hidden nmeta_vectors_invalid nmeta_vectors_parent open open_abs open_cb_abort open_cb_cont open_cb_ignore open_cb_invalid open_cb_rescan open_eaccess open_nonexistent open_notdirfile parse_alias parse_alias_code parse_alias_dup parse_alias_meta parse_alias_missing parse_badline parse_bit parse_bit4 parse_bit_bitnum parse_bit_bitsize parse_bit_ncols parse_bit_numbits parse_bit_scalar parse_carray parse_carray_long parse_const parse_const_ncols parse_divide parse_duplicate parse_duplicate_ignore parse_endian_bad parse_endian_big parse_endian_force parse_endian_little parse_endian_slash parse_eol parse_foffs parse_foffs_include parse_foffs_slash parse_hidden parse_hidden_field parse_hidden_meta parse_include parse_include_absolute parse_include_absrel parse_include_loop parse_include_nonexistent parse_include_prefix parse_include_prefix_dup parse_include_preprefix parse_include_relabs parse_include_relrel parse_include_slash parse_include_suffix parse_include_sufsuffix parse_index parse_lincom parse_lincom_ncols1 parse_lincom_ncols2 parse_lincom_nfields parse_lincom_nofields parse_lincom_non parse_lincom_non_ncols parse_lincom_scalar parse_linterp parse_linterp_ncols parse_malias parse_malias_dup parse_malias_meta parse_meta parse_meta_affix parse_meta_alias parse_meta_implicit parse_meta_implicit2 parse_meta_implicit_affix parse_meta_index parse_meta_index2 parse_meta_jump parse_meta_malias parse_meta_meta parse_meta_parent parse_meta_raw parse_mplex parse_mplex_ncols parse_mplex_nomax parse_mplex_scalar parse_multiply parse_multiply_ncols parse_name parse_name_dot parse_name_ext parse_name_pedantic parse_ncols parse_phase parse_phase_ncols parse_phase_scalar parse_polynom parse_polynom_ncols1 parse_polynom_ncols2 parse_polynom_scalar parse_protect_all parse_protect_bad parse_protect_data parse_protect_format parse_protect_none parse_quote parse_quote_mismatch parse_raw parse_raw_char parse_raw_ncols parse_raw_scalar parse_raw_spf parse_raw_type parse_recip parse_ref parse_ref_nonexistent parse_sbit parse_sort parse_string parse_string_ncols parse_string_null parse_version parse_version_89 parse_version_98 parse_version_include parse_version_p8 parse_version_p9 parse_version_permissive parse_version_slash parse_whitespace parse_window parse_window_ncols parse_window_op parse_window_scalar protect_alter protect_get put64 put_bad_code put_bit put_bof put_carray put_carray_slice put_char put_complex128 put_complex64 put_const put_const_protect put_divide put_endian16 put_endian32 put_endian64 put_endian8 put_endian_complex128_arm put_endian_complex128_big put_endian_complex128_little put_endian_complex64_arm put_endian_complex64_big put_endian_complex64_little put_endian_float32_arm put_endian_float32_big put_endian_float32_little put_endian_float64_arm put_endian_float64_big put_endian_float64_little put_ff put_float32 put_float64 put_foffs put_fs put_here put_heres put_int16 put_int32 put_int64 put_int8 put_invalid put_lincom1 put_lincom2 put_lincom_noin put_linterp put_linterp_noin put_linterp_nomono put_linterp_notab put_linterp_reverse put_mplex put_multiply put_null put_off64 put_phase put_phase_noin put_polynom1 put_polynom2 put_polynom_noin put_protect put_rdonly put_recip put_recurse put_repr put_rofs put_sbit put_sf put_ss put_string put_string_protect put_type put_uint16 put_uint32 put_uint64 put_window put_zero ref ref_none ref_two repr_a repr_float32 repr_float64 repr_i repr_int16 repr_int32 repr_int64 repr_int8 repr_m repr_r repr_real_a repr_real_i repr_real_m repr_real_r repr_uint16 repr_uint32 repr_uint64 repr_uint8 seek64 seek_cur seek_end seek_foffs seek_set sie_get_big sie_get_little sie_move_from sie_move_to sie_nframes_big sie_nframes_little sie_put_big sie_put_little slim_get slim_nframes slim_put spf spf_alias spf_alias_meta spf_alias_missing spf_divide spf_lincom spf_multiply spf_polynom spf_recip spf_recurse svlist svlist_hidden svlist_invalid svlist_meta svlist_meta_hidden svlist_meta_invalid tell tell64 trunc trunc_dir trunc_rdonly trunc_rofs trunc_truncsub unclude unclude_del unclude_move version_0 version_0_write version_1 version_1_write version_2 version_2_write version_3 version_3_write version_4 version_4_write version_5 version_5_strict version_5_write version_6 version_6_strict version_6_write version_7 version_7_strict version_7_write version_8 version_8_strict version_8_write version_9 version_9_strict version_9_write vlist vlist_alias vlist_hidden vlist_invalid vlist_meta vlist_meta_hidden vlist_meta_invalid xz_get xz_nframes zzip_data zzip_get zzip_get_get zzip_nframes zzslim_get zzslim_nframes This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-06-02 23:21:20
|
Revision: 718 http://getdata.svn.sourceforge.net/getdata/?rev=718&view=rev Author: ketiltrout Date: 2012-06-02 23:21:13 +0000 (Sat, 02 Jun 2012) Log Message: ----------- tweak Modified Paths: -------------- trunk/getdata/bindings/perl/Makefile.am Modified: trunk/getdata/bindings/perl/Makefile.am =================================================================== --- trunk/getdata/bindings/perl/Makefile.am 2012-06-02 21:32:56 UTC (rev 717) +++ trunk/getdata/bindings/perl/Makefile.am 2012-06-02 23:21:13 UTC (rev 718) @@ -38,7 +38,7 @@ nodist_perlautogetdata_SCRIPTS=blib/arch/auto/GetData/GetData.bs blib/arch/auto/GetData/GetData.so t lib: - mkdir $@ + mkdir -p $@ t/%.t: test/%.t $(MAKE) t @@ -73,8 +73,9 @@ chmod a-w $@ blib/arch/auto/GetData/GetData.bs blib/arch/auto/GetData/GetData.so \ - blib/lib/GetData.pm blib/libdoc/GetData.$(PERL_MAN3EXT): Build \ - lib/GetData.xs lib/simple_funcs.xs lib/typemap + blib/lib/GetData.pm blib/libdoc/GetData.$(PERL_MAN3EXT): build.stamp + +build.stamp: Build lib/GetData.xs lib/simple_funcs.xs lib/typemap $(PERL) Build build touch $@ @@ -89,7 +90,7 @@ $(PERL) Build clean; \ fi rm -f $(BUILT_SOURCES) make_parameters.sed MYMETA.yml MYMETA.json GetData.pm - rm -rf Build _build MANIFEST t + rm -rf Build _build MANIFEST t build.stamp uninstall-hook: rmdir $(DESTDIR)${perlautogetdatadir} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-06-02 21:33:02
|
Revision: 717 http://getdata.svn.sourceforge.net/getdata/?rev=717&view=rev Author: ketiltrout Date: 2012-06-02 21:32:56 +0000 (Sat, 02 Jun 2012) Log Message: ----------- Allow NULL in call to _GD_AbsPath Modified Paths: -------------- trunk/getdata/ChangeLog trunk/getdata/configure.ac trunk/getdata/src/internal.h Modified: trunk/getdata/ChangeLog =================================================================== --- trunk/getdata/ChangeLog 2012-05-27 01:24:27 UTC (rev 716) +++ trunk/getdata/ChangeLog 2012-06-02 21:32:56 UTC (rev 717) @@ -1,3 +1,6 @@ +2012-05-25 D. V. Wiebe <ge...@ke...> svn:717 + * src/internal.h (_GD_AbsPath): Allow s == NULL. + 2012-05-25 D. V. Wiebe <ge...@ke...> svn:712 * bindings/cxx/fragment.cpp (Fragment::Fragment Fragment::SetEndianness) bindings/cxx/dirfile.cpp (Dirfile::NFrames Dirfile::EoF Dirfile::BoF Modified: trunk/getdata/configure.ac =================================================================== --- trunk/getdata/configure.ac 2012-05-27 01:24:27 UTC (rev 716) +++ trunk/getdata/configure.ac 2012-06-02 21:32:56 UTC (rev 717) @@ -411,7 +411,7 @@ case "${host}" in *-pc-mingw*|*-pc-cygwin*) - NO_UNDEFINED=" -no-undefined --enable-auto-import"; + NO_UNDEFINED=" -no-undefined -enable-auto-import"; NO_DLOPEN_TESTS=1 ;; *) NO_DLOPEN_TESTS=0 ;; esac Modified: trunk/getdata/src/internal.h =================================================================== --- trunk/getdata/src/internal.h 2012-05-27 01:24:27 UTC (rev 716) +++ trunk/getdata/src/internal.h 2012-06-02 21:32:56 UTC (rev 717) @@ -613,8 +613,8 @@ /* path malarkey */ #if defined _WIN32 || defined _WIN64 -# define _GD_AbsPath(s) ((s)[0] == '/' || (s)[0] == GD_DIRSEP || \ - ((s)[0] != '\0' && (s)[1] == ':')) +# define _GD_AbsPath(s) (s && ((s)[0] == '/' || (s)[0] == GD_DIRSEP || \ + ((s)[0] != '\0' && (s)[1] == ':'))) # define _GD_Root(s,d,l) \ do { \ if ((d)[0] == '/' || (d)[0] == GD_DIRSEP) { \ @@ -637,7 +637,7 @@ ((d)[1] == '/' || (d)[1] == GD_DIRSEP) ? 2 : 1 : 3 \ ) #else -# define _GD_AbsPath(s) ((s)[0] == '/') +# define _GD_AbsPath(s) (s && (s)[0] == '/') # define _GD_Root(s,d,l) \ do { \ (s)[0] = '/'; \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-05-27 01:24:34
|
Revision: 716 http://getdata.svn.sourceforge.net/getdata/?rev=716&view=rev Author: ketiltrout Date: 2012-05-27 01:24:27 +0000 (Sun, 27 May 2012) Log Message: ----------- Fix gd_off64_t definition. Modified Paths: -------------- trunk/getdata/configure.ac Modified: trunk/getdata/configure.ac =================================================================== --- trunk/getdata/configure.ac 2012-05-27 01:06:57 UTC (rev 715) +++ trunk/getdata/configure.ac 2012-05-27 01:24:27 UTC (rev 716) @@ -682,7 +682,7 @@ " gd_off64_t="off64_t" elif test $ac_cv_sizeof_off_t -eq 8;then - gd_off64_t="off64_t" + gd_off64_t="off_t" else gd_off64_t=$gd_int64_t fi This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-05-27 01:07:04
|
Revision: 715 http://getdata.svn.sourceforge.net/getdata/?rev=715&view=rev Author: ketiltrout Date: 2012-05-27 01:06:57 +0000 (Sun, 27 May 2012) Log Message: ----------- Windows doesn't seem to like executables with "update" in their name...? Added Paths: ----------- trunk/getdata/test/name_updb.c trunk/getdata/test/name_updb_const.c Removed Paths: ------------- trunk/getdata/test/name_update.c trunk/getdata/test/name_update_const.c Deleted: trunk/getdata/test/name_update.c =================================================================== Deleted: trunk/getdata/test/name_update_const.c =================================================================== Added: trunk/getdata/test/name_updb.c =================================================================== --- trunk/getdata/test/name_updb.c (rev 0) +++ trunk/getdata/test/name_updb.c 2012-05-27 01:06:57 UTC (rev 715) @@ -0,0 +1,60 @@ +/* Copyright (C) 2011 D. V. Wiebe + * + *************************************************************************** + * + * This file is part of the GetData project. + * + * GetData is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation; either version 2.1 of the License, or (at your + * option) any later version. + * + * GetData is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with GetData; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ +#include "test.h" + +int main(void) +{ + const char *filedir = "dirfile"; + const char *format = "dirfile/format"; + const char *format_data = + "early PHASE data 0\n" + "late PHASE data 0\n" + "data RAW UINT8 8\n"; + int fd, e1, e2, e3, r = 0; + DIRFILE *D; + + rmdirfile(); + mkdir(filedir, 0777); + + fd = open(format, O_CREAT | O_EXCL | O_WRONLY, 0666); + write(fd, format_data, strlen(format_data)); + close(fd); + + D = gd_open(filedir, GD_RDWR | GD_VERBOSE); + gd_validate(D, "early"); + gd_rename(D, "data", "zata", GD_REN_UPDB); + e1 = gd_error(D); + gd_spf(D, "early"); + e2 = gd_error(D); + gd_spf(D, "late"); + e3 = gd_error(D); + + gd_discard(D); + + unlink(format); + rmdir(filedir); + + CHECKI(e1,0); + CHECKI(e2,0); + CHECKI(e3,0); + + return r; +} Added: trunk/getdata/test/name_updb_const.c =================================================================== --- trunk/getdata/test/name_updb_const.c (rev 0) +++ trunk/getdata/test/name_updb_const.c 2012-05-27 01:06:57 UTC (rev 715) @@ -0,0 +1,63 @@ +/* Copyright (C) 2011 D. V. Wiebe + * + *************************************************************************** + * + * This file is part of the GetData project. + * + * GetData is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation; either version 2.1 of the License, or (at your + * option) any later version. + * + * GetData is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with GetData; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ +#include "test.h" + +int main(void) +{ + const char *filedir = "dirfile"; + const char *format = "dirfile/format"; + const char *format_data = + "early RAW UINT8 c<1>\n" + "late RAW UINT8 c<0>\n" + "c CARRAY UINT8 2 3\n"; + int fd, e1, e2, e3, r = 0; + unsigned s2, s3; + DIRFILE *D; + + rmdirfile(); + mkdir(filedir, 0777); + + fd = open(format, O_CREAT | O_EXCL | O_WRONLY, 0666); + write(fd, format_data, strlen(format_data)); + close(fd); + + D = gd_open(filedir, GD_RDWR | GD_VERBOSE); + gd_validate(D, "early"); + gd_rename(D, "c", "d", GD_REN_UPDB); + e1 = gd_error(D); + s2 = gd_spf(D, "early"); + e2 = gd_error(D); + s3 = gd_spf(D, "late"); + e3 = gd_error(D); + + gd_discard(D); + + unlink(format); + rmdir(filedir); + + CHECKI(e1,0); + CHECKI(e2,0); + CHECKI(e3,0); + CHECKU(s2,3); + CHECKU(s3,2); + + return r; +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-05-26 23:17:32
|
Revision: 714 http://getdata.svn.sourceforge.net/getdata/?rev=714&view=rev Author: ketiltrout Date: 2012-05-26 23:17:26 +0000 (Sat, 26 May 2012) Log Message: ----------- Update mingw cmake defined based on configure under msys. Modified Paths: -------------- trunk/getdata/cmake/CMakeLists.txt trunk/getdata/cmake/test/CMakeLists.txt trunk/getdata/src/internal.h trunk/getdata/test/Makefile.am trunk/getdata/test/get_endian64.c trunk/getdata/test/get_int64.c trunk/getdata/test/get_uint64.c trunk/getdata/test/name_update.c trunk/getdata/test/name_update_const.c trunk/getdata/test/put_endian64.c Modified: trunk/getdata/cmake/CMakeLists.txt =================================================================== --- trunk/getdata/cmake/CMakeLists.txt 2012-05-26 00:25:05 UTC (rev 713) +++ trunk/getdata/cmake/CMakeLists.txt 2012-05-26 23:17:26 UTC (rev 714) @@ -42,6 +42,7 @@ # MSVCRT integer types set(DEFINE_gd_int64_t "#define gd_int64_t __int64") set(DEFINE_gd_uint64_t "#define gd_uint64_t unsigned __int64") + set(DEFINE_gd_off64_t "#define gd_off64_t __int64") add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS) add_definitions( @@ -91,33 +92,76 @@ set(DEFINE_gd_uint16_t "#define gd_uint16_t unsigned __int16") set(DEFINE_gd_int64_t "#define gd_int64_t __int64") set(DEFINE_gd_uint64_t "#define gd_uint64_t unsigned __int64") + set(DEFINE_gd_off64_t "#define gd_off64_t off64_t") add_definitions( - -D__MSVCRT__ -D__MSVCRT_VERSION__=0x0601 - -DSTDC_HEADERS + -DGD_DIRSEP='\\\\' + -DGD_RESTRICT_ARRAY_OK=1 + -DHAVE_BASENAME + -DHAVE_CABS + -DHAVE_COMPLEX_H + -DHAVE_DIRECT_H + -DHAVE_DIRENT_H + -DHAVE_FCNTL_H + -DHAVE_FLOAT_H + -DHAVE_FSEEKO64 + -DHAVE_FTELLO64 + -DHAVE_FTRUNCATE + -DHAVE_GETCWD + -DHAVE_INTTYPES_H -DHAVE_IO_H + -DHAVE_ISNAN + -DHAVE_LIBGEN_H + -DHAVE_LSEEK64 + -DHAVE_MEMORY_H + -DHAVE_NAN + -DHAVE_OFF64_T + -DHAVE_SNPRINTF + -DHAVE_SSIZE_T + -DHAVE_STDDEF_H -DHAVE_STDINT_H - -DHAVE_COMPLEX_H - -DHAVE_OFF64_T - -DHAVE_LIBGEN_H + -DHAVE_STDLIB_H + -DHAVE_STRINGS_H + -DHAVE_STRING_H -DHAVE_STRTOLL - -DHAVE_DIRENT_H - -DHAVE_DIRECT_H + -DHAVE_STRTOULL + -DHAVE_STRUCT___STAT64 + -DHAVE_SYS_FILE_H + -DHAVE_SYS_PARAM_H + -DHAVE_SYS_STAT_H + -DHAVE_SYS_TYPES_H + -DHAVE_UNISTD_H + -DHAVE__CHSIZE -DHAVE__COMMIT + -DHAVE__COMPLEX_DOUBLE + -DHAVE__COMPLEX_FLOAT + -DHAVE__FDOPEN + -DHAVE__FSTAT + -DHAVE__FSTAT64 + -DHAVE__GETCWD + -DHAVE__ISNAN + -DHAVE__LSEEKI64 + -DHAVE__MKDIR + -DHAVE__OPEN + -DHAVE__READ + -DHAVE__RMDIR + -DHAVE__SNPRINTF -DHAVE__STAT64 -DHAVE__STRTOI64 -DHAVE__STRTOUI64 - -DHAVE_STRUCT___STAT64 - -DHAVE__GETCWD + -DHAVE__UNLINK + -DHAVE__WRITE -DMKDIR_NO_MODE - -DHAVE_SYS_FILE_H - -DHAVE_SYS_STAT_H - -DHAVE_DIRENT_H - -DS_IFLNK=0xa000 - -DHAVE_DECL_OFFSETOF - -DHAVE__CHSIZE - -DGD_DIRSEP=0x53 + -DSIZEOF_INT=4 + -DSIZEOF_UNSIGNED_INT=4 + -DSTDC_HEADERS + -D_BSD_SOURCE=1 + -D_GNU_SOURCE=1 + -D_POSIX_C_SOURCE=1200809L + -D_POSIX_SOURCE=1 + -D_SVID_SOURCE=0 + -Drestrict=__restrict ) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99") endif() Modified: trunk/getdata/cmake/test/CMakeLists.txt =================================================================== --- trunk/getdata/cmake/test/CMakeLists.txt 2012-05-26 00:25:05 UTC (rev 713) +++ trunk/getdata/cmake/test/CMakeLists.txt 2012-05-26 23:17:26 UTC (rev 714) @@ -21,23 +21,15 @@ set(tests_ignored ${tests_ignored} error_verbose error_verbose_prefix - get64 get_uint64 get_endian64 get_int64 get_off64 - nframes64 - put64 put_endian64 put_off64 - seek64 - tell64 + get_off64 put_off64 ) endif() if(MINGW) set(tests_ignored ${tests_ignored} - add_crecip89 - alter_crecip89 - endian_alter endian_get endian_move - header_complex - madd_crecip89 - move_data_endian + error_verbose error_verbose_prefix + get_off64 put_off64 ) endif() @@ -45,7 +37,7 @@ list(REMOVE_ITEM gd_sources ${GD_DIR}/test/${_item}.c) endforeach() -#set(gd_sources ${GD_DIR}/test/parse_include_relabs.c) +#set(gd_sources ${GD_DIR}/test/sie_get_little.c) foreach(_test ${gd_sources}) get_filename_component(testname ${_test} NAME_WE) Modified: trunk/getdata/src/internal.h =================================================================== --- trunk/getdata/src/internal.h 2012-05-26 00:25:05 UTC (rev 713) +++ trunk/getdata/src/internal.h 2012-05-26 23:17:26 UTC (rev 714) @@ -112,7 +112,7 @@ #endif #ifndef HAVE_OFF64_T -typedef off_t off64_t; +typedef gd_off64_t off64_t; #endif #ifdef _MSC_VER Modified: trunk/getdata/test/Makefile.am =================================================================== --- trunk/getdata/test/Makefile.am 2012-05-26 00:25:05 UTC (rev 713) +++ trunk/getdata/test/Makefile.am 2012-05-26 23:17:26 UTC (rev 714) @@ -225,7 +225,7 @@ move_index move_meta move_protect move_subdir NAME_TESTS=name name_affix name_affix_bad name_after name_after_const name_dup \ - name_move name_update name_update_const + name_move name_updb name_updb_const NENTRIES_TESTS=nentries_alias nentries_hidden nentries_scalar Modified: trunk/getdata/test/get_endian64.c =================================================================== --- trunk/getdata/test/get_endian64.c 2012-05-26 00:25:05 UTC (rev 713) +++ trunk/getdata/test/get_endian64.c 2012-05-26 23:17:26 UTC (rev 714) @@ -59,7 +59,7 @@ ? "little" : "big"); for (fd = 0; fd < 128; ++fd) - data_data[fd] = fd * (0x020100000201LLU); + data_data[fd] = fd * (0x020100000201); fd = open(format, O_CREAT | O_EXCL | O_WRONLY, 0666); write(fd, format_data, strlen(format_data)); @@ -81,7 +81,7 @@ CHECKI(error, 0); CHECKI(n, 1); - CHECKX(c, 0x50a0000050a0000LLU); + CHECKX(c, 0x50a0000050a0000); return r; } Modified: trunk/getdata/test/get_int64.c =================================================================== --- trunk/getdata/test/get_int64.c 2012-05-26 00:25:05 UTC (rev 713) +++ trunk/getdata/test/get_int64.c 2012-05-26 23:17:26 UTC (rev 714) @@ -45,7 +45,7 @@ mkdir(filedir, 0777); for (fd = 0; fd < 64; ++fd) - data_data[fd] = fd * (0x0200000000000001LLU) * (2 * (fd % 2) - 1); + data_data[fd] = fd * (0x0200000000000001) * (2 * (fd % 2) - 1); fd = open(format, O_CREAT | O_EXCL | O_WRONLY, 0666); write(fd, format_data, strlen(format_data)); @@ -63,7 +63,7 @@ CHECKI(n, 8); for (i = 0; i < 8; ++i) - CHECKIi(i,c[i], (0x5000000000000028LL + i * 0x0200000000000001LL) + CHECKIi(i,c[i], (0x5000000000000028 + i * 0x0200000000000001) * (2 * (i % 2) - 1)); gd_close(D); Modified: trunk/getdata/test/get_uint64.c =================================================================== --- trunk/getdata/test/get_uint64.c 2012-05-26 00:25:05 UTC (rev 713) +++ trunk/getdata/test/get_uint64.c 2012-05-26 23:17:26 UTC (rev 714) @@ -45,7 +45,7 @@ mkdir(filedir, 0777); for (fd = 0; fd < 128; ++fd) - data_data[fd] = fd * (0x0200000000000001LLU); + data_data[fd] = fd * (0x0200000000000001); fd = open(format, O_CREAT | O_EXCL | O_WRONLY, 0666); write(fd, format_data, strlen(format_data)); @@ -62,7 +62,7 @@ CHECKI(error, 0); CHECKI(n, 8); for (i = 0; i < 8; ++i) - CHECKUi(i,c[i],0x5000000000000028LLU + i * 0x0200000000000001LLU); + CHECKUi(i,c[i],0x5000000000000028 + i * 0x0200000000000001); gd_close(D); Modified: trunk/getdata/test/name_update.c =================================================================== --- trunk/getdata/test/name_update.c 2012-05-26 00:25:05 UTC (rev 713) +++ trunk/getdata/test/name_update.c 2012-05-26 23:17:26 UTC (rev 714) @@ -1,60 +0,0 @@ -/* Copyright (C) 2011 D. V. Wiebe - * - *************************************************************************** - * - * This file is part of the GetData project. - * - * GetData is free software; you can redistribute it and/or modify it under - * the terms of the GNU Lesser General Public License as published by the - * Free Software Foundation; either version 2.1 of the License, or (at your - * option) any later version. - * - * GetData is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public - * License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with GetData; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ -#include "test.h" - -int main(void) -{ - const char *filedir = "dirfile"; - const char *format = "dirfile/format"; - const char *format_data = - "early PHASE data 0\n" - "late PHASE data 0\n" - "data RAW UINT8 8\n"; - int fd, e1, e2, e3, r = 0; - DIRFILE *D; - - rmdirfile(); - mkdir(filedir, 0777); - - fd = open(format, O_CREAT | O_EXCL | O_WRONLY, 0666); - write(fd, format_data, strlen(format_data)); - close(fd); - - D = gd_open(filedir, GD_RDWR | GD_VERBOSE); - gd_validate(D, "early"); - gd_rename(D, "data", "zata", GD_REN_UPDB); - e1 = gd_error(D); - gd_spf(D, "early"); - e2 = gd_error(D); - gd_spf(D, "late"); - e3 = gd_error(D); - - gd_discard(D); - - unlink(format); - rmdir(filedir); - - CHECKI(e1,0); - CHECKI(e2,0); - CHECKI(e3,0); - - return r; -} Modified: trunk/getdata/test/name_update_const.c =================================================================== --- trunk/getdata/test/name_update_const.c 2012-05-26 00:25:05 UTC (rev 713) +++ trunk/getdata/test/name_update_const.c 2012-05-26 23:17:26 UTC (rev 714) @@ -1,63 +0,0 @@ -/* Copyright (C) 2011 D. V. Wiebe - * - *************************************************************************** - * - * This file is part of the GetData project. - * - * GetData is free software; you can redistribute it and/or modify it under - * the terms of the GNU Lesser General Public License as published by the - * Free Software Foundation; either version 2.1 of the License, or (at your - * option) any later version. - * - * GetData is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public - * License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with GetData; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ -#include "test.h" - -int main(void) -{ - const char *filedir = "dirfile"; - const char *format = "dirfile/format"; - const char *format_data = - "early RAW UINT8 c<1>\n" - "late RAW UINT8 c<0>\n" - "c CARRAY UINT8 2 3\n"; - int fd, e1, e2, e3, r = 0; - unsigned s2, s3; - DIRFILE *D; - - rmdirfile(); - mkdir(filedir, 0777); - - fd = open(format, O_CREAT | O_EXCL | O_WRONLY, 0666); - write(fd, format_data, strlen(format_data)); - close(fd); - - D = gd_open(filedir, GD_RDWR | GD_VERBOSE); - gd_validate(D, "early"); - gd_rename(D, "c", "d", GD_REN_UPDB); - e1 = gd_error(D); - s2 = gd_spf(D, "early"); - e2 = gd_error(D); - s3 = gd_spf(D, "late"); - e3 = gd_error(D); - - gd_discard(D); - - unlink(format); - rmdir(filedir); - - CHECKI(e1,0); - CHECKI(e2,0); - CHECKI(e3,0); - CHECKU(s2,3); - CHECKU(s3,2); - - return r; -} Modified: trunk/getdata/test/put_endian64.c =================================================================== --- trunk/getdata/test/put_endian64.c 2012-05-26 00:25:05 UTC (rev 713) +++ trunk/getdata/test/put_endian64.c 2012-05-26 23:17:26 UTC (rev 714) @@ -46,7 +46,7 @@ const char *format = "dirfile/format"; const char *data = "dirfile/data"; char format_data[1000]; - uint64_t c = 0x0203000000040001LLU, d = 0; + uint64_t c = 0x0203000000040001, d = 0; const int big_endian = BigEndian(); int fd, n, error, r = 0; DIRFILE *D; @@ -76,7 +76,7 @@ unlink(format); rmdir(filedir); - CHECKX(d,0x0100040000000302LLU); + CHECKX(d,0x0100040000000302); CHECKI(n,1); CHECKI(error,0); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-05-26 00:25:16
|
Revision: 713 http://getdata.svn.sourceforge.net/getdata/?rev=713&view=rev Author: ketiltrout Date: 2012-05-26 00:25:05 +0000 (Sat, 26 May 2012) Log Message: ----------- Change hot the 64-bit off_t API is handled. It's now always available, regardless of platform. Fix C++ bindings to use it, instead of _FILE_OFFSET_BITS. Modified Paths: -------------- trunk/getdata/ChangeLog trunk/getdata/bindings/cxx/dirfile.cpp trunk/getdata/bindings/cxx/fragment.cpp trunk/getdata/bindings/cxx/getdata/dirfile.h trunk/getdata/bindings/perl/Makefile.am trunk/getdata/configure.ac trunk/getdata/man/Makefile.am trunk/getdata/man/gd_framenum_subset64.3 trunk/getdata/man/gd_frameoffset64.3 trunk/getdata/man/gd_getdata64.3 trunk/getdata/man/gd_nframes64.3 trunk/getdata/man/gd_putdata64.3 trunk/getdata/src/common.c trunk/getdata/src/constant.c trunk/getdata/src/encoding.c trunk/getdata/src/flush.c trunk/getdata/src/getdata.c trunk/getdata/src/getdata.h.in trunk/getdata/src/internal.h trunk/getdata/src/name.c trunk/getdata/src/putdata.c trunk/getdata/src/types.c trunk/getdata/test/Makefile.am Added Paths: ----------- trunk/getdata/man/gd_bof64.3 trunk/getdata/man/gd_eof64.3 trunk/getdata/man/gd_seek64.3 trunk/getdata/man/gd_tell64.3 Modified: trunk/getdata/ChangeLog =================================================================== --- trunk/getdata/ChangeLog 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/ChangeLog 2012-05-26 00:25:05 UTC (rev 713) @@ -1,3 +1,20 @@ +2012-05-25 D. V. Wiebe <ge...@ke...> svn:712 + * bindings/cxx/fragment.cpp (Fragment::Fragment Fragment::SetEndianness) + bindings/cxx/dirfile.cpp (Dirfile::NFrames Dirfile::EoF Dirfile::BoF + Dirfile::GetData Dirfile::PutData Dirfile::FrameNum Dirfile::Seek + Dirfile::Tell): Call the 64-bit API. + + * src/getdata.h.in: Support GD_64BIT_API and use configure to define + gd_off64_t. + * src/internal.h bindings/cxx/getdata/dirfile.h: Define GD_64BIT_API before + including getdata.h. + + * test/Makefile.am man/Makefile.am: Remove LFS_TRANSITIONAL_API (always + enabled). + + * confihure.ac: Figure out a suitable type for gd_off64_t. Remove + LFS_TRANSITIONAL_API conditional. + 2012-05-23 D. V. Wiebe <ge...@ke...> svn:710 * test/test.h: Don't redefine isnan if it's okay as-is. Modified: trunk/getdata/bindings/cxx/dirfile.cpp =================================================================== --- trunk/getdata/bindings/cxx/dirfile.cpp 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/bindings/cxx/dirfile.cpp 2012-05-26 00:25:05 UTC (rev 713) @@ -259,17 +259,17 @@ off_t Dirfile::NFrames() const { - return gd_nframes(D); + return (off_t)gd_nframes64(D); } off_t Dirfile::EoF(const char *field_code) const { - return gd_eof(D, field_code); + return (off_t)gd_eof64(D, field_code); } off_t Dirfile::BoF(const char *field_code) const { - return gd_bof(D, field_code); + return (off_t)gd_bof64(D, field_code); } int Dirfile::GetCarray(const char *field_code, DataType type, void *data_out, @@ -292,8 +292,9 @@ off_t first_sample, size_t num_frames, size_t num_samples, DataType type, void* data_out) const { - return gd_getdata(D, field_code, first_frame, first_sample, num_frames, - num_samples, (gd_type_t)type, data_out); + return gd_getdata64(D, field_code, (gd_off64_t)first_frame, + (gd_off64_t)first_sample, num_frames, num_samples, (gd_type_t)type, + data_out); } size_t Dirfile::GetString(const char *field_code, size_t len, char* data_out) @@ -322,8 +323,9 @@ off_t first_sample, size_t num_frames, size_t num_samples, DataType type, const void* data_in) const { - return gd_putdata(D, field_code, first_frame, first_sample, num_frames, - num_samples, (gd_type_t)type, data_in); + return gd_putdata64(D, field_code, (gd_off64_t)first_frame, + (gd_off64_t)first_sample, num_frames, num_samples, (gd_type_t)type, + data_in); } size_t Dirfile::PutString(const char *field_code, const char* data_in) const @@ -424,7 +426,8 @@ double Dirfile::FrameNum(const char* field_code, double value, off_t frame_start, off_t frame_end) const { - return gd_framenum_subset(D, field_code, value, frame_start, frame_end); + return gd_framenum_subset64(D, field_code, value, (gd_off64_t)frame_start, + (gd_off64_t)frame_end); } int Dirfile::FragmentIndex(const char* field_code) const @@ -445,12 +448,13 @@ off_t Dirfile::Seek(const char* field_code, off_t frame_num, off_t sample_num, int flags) const { - return gd_seek(D, field_code, frame_num, sample_num, flags); + return (off_t)gd_seek64(D, field_code, (gd_off64_t)frame_num, + (gd_off64_t)sample_num, flags); } off_t Dirfile::Tell(const char* field_code) const { - return gd_tell(D, field_code); + return (off_t)gd_tell64(D, field_code); } int Dirfile::AddAlias(const char* field_code, const char* target, Modified: trunk/getdata/bindings/cxx/fragment.cpp =================================================================== --- trunk/getdata/bindings/cxx/fragment.cpp 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/bindings/cxx/fragment.cpp 2012-05-26 00:25:05 UTC (rev 713) @@ -31,7 +31,7 @@ ind = index; enc = (GetData::EncodingScheme)gd_encoding(D->D, index); end = gd_endianness(D->D, index); - off = gd_frameoffset(D->D, index); + off = (off_t)gd_frameoffset64(D->D, index); prot = gd_protection(D->D, index); name = gd_fragmentname(D->D, index); parent = (index == 0) ? -1 : gd_parent_fragment(D->D, index); @@ -73,7 +73,7 @@ int Fragment::SetFrameOffset(off_t offset, int recode) { - int ret = gd_alter_frameoffset(D->D, offset, ind, recode); + int ret = gd_alter_frameoffset64(D->D, (gd_off64_t)offset, ind, recode); if (!ret) off = offset; Modified: trunk/getdata/bindings/cxx/getdata/dirfile.h =================================================================== --- trunk/getdata/bindings/cxx/getdata/dirfile.h 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/bindings/cxx/getdata/dirfile.h 2012-05-26 00:25:05 UTC (rev 713) @@ -22,16 +22,17 @@ #ifndef GETDATA_DIRFILE_H #define GETDATA_DIRFILE_H -#ifndef _FILE_OFFSET_BITS -# define _FILE_OFFSET_BITS 64 +// Enable the explicit 64-bit API (gd_getdata64() &c.) +#ifndef GD_64BIT_API +# define GD_64BIT_API #endif -// We don't want the legacy API since its symbols clash with us. +// Disable the legacy API since its symbols clash with us. #ifndef GD_NO_LEGACY_API # define GD_NO_LEGACY_API #endif -// We use the C89 API since C++ compilers aren't required to support the +// Use the C89 API since C++ compilers aren't required to support the // C99 _Complex keyword #ifndef GD_C89_API # define GD_C89_API Modified: trunk/getdata/bindings/perl/Makefile.am =================================================================== --- trunk/getdata/bindings/perl/Makefile.am 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/bindings/perl/Makefile.am 2012-05-26 00:25:05 UTC (rev 713) @@ -37,22 +37,23 @@ perlautogetdatadir=${perldir}/auto/GetData nodist_perlautogetdata_SCRIPTS=blib/arch/auto/GetData/GetData.bs blib/arch/auto/GetData/GetData.so -t: - mkdir t +t lib: + mkdir $@ -t/%.t: test/%.t t +t/%.t: test/%.t + $(MAKE) t cat $< > $@ -lib: - mkdir lib - -lib/GetData.xs: lib GetData.xs +lib/GetData.xs: GetData.xs + $(MAKE) lib cat $(srcdir)/GetData.xs > $@ -lib/typemap: lib typemap +lib/typemap: typemap + $(MAKE) lib cat $(srcdir)/typemap > $@ -lib/simple_funcs.xs: lib simple_funcs.xsin simple_funcs.pl +lib/simple_funcs.xs: simple_funcs.xsin simple_funcs.pl + $(MAKE) lib $(PERL) $(srcdir)/simple_funcs.pl $(srcdir)/simple_funcs.xsin > $@ MANIFEST: MANIFEST.in @@ -75,6 +76,7 @@ blib/lib/GetData.pm blib/libdoc/GetData.$(PERL_MAN3EXT): Build \ lib/GetData.xs lib/simple_funcs.xs lib/typemap $(PERL) Build build + touch $@ .PRECIOUS: Build Build: Build.PL GetData.pm lib/GetData.xs lib/simple_funcs.xs lib/typemap \ Modified: trunk/getdata/configure.ac =================================================================== --- trunk/getdata/configure.ac 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/configure.ac 2012-05-26 00:25:05 UTC (rev 713) @@ -620,17 +620,6 @@ #endif ]) -if test "x$gd_cv_c_need_lfs_defined" = "xyes"; then - AC_DEFINE([_LARGEFILE64_SOURCE], [1], - [ Additional functionality from LFS for large files. ]) -fi - -if test "x$gd_cv_type_off64_t" = "xyes"; then - dnl Assume we have the entire LFS defined transitional API - AC_DEFINE([HAVE_OFF64_T], [1], - [ Define to 1 if the system has the type `off64_t'. ]) dnl ` -fi - dnl integer sizes AC_CHECK_SIZEOF([short int]) AC_CHECK_SIZEOF([int]) @@ -683,14 +672,31 @@ gd_uint64_t="long long int" fi +if test "x$gd_cv_type_off64_t" = "xyes"; then + dnl Assume we have the entire LFS defined transitional API + AC_DEFINE([HAVE_OFF64_T], [1], + [ Define to 1 if the system has the type `off64_t'. ]) dnl ` + define_lf64s="#ifndef _LARGEFILE64_SOURCE +#define _LARGEFILE64_SOURCE +#endif +" + gd_off64_t="off64_t" +elif test $ac_cv_sizeof_off_t -eq 8;then + gd_off64_t="off64_t" +else + gd_off64_t=$gd_int64_t +fi + DEFINE_gd_int16_t="# define gd_int16_t $gd_int16_t"; DEFINE_gd_uint16_t="# define gd_uint16_t $gd_uint16_t"; DEFINE_gd_int64_t="# define gd_int64_t $gd_int64_t"; DEFINE_gd_uint64_t="# define gd_uint64_t $gd_uint64_t"; +DEFINE_gd_off64_t="$define_lf64s# define gd_off64_t $gd_off64_t"; AC_SUBST([DEFINE_gd_int16_t]) AC_SUBST([DEFINE_gd_uint16_t]) AC_SUBST([DEFINE_gd_int64_t]) AC_SUBST([DEFINE_gd_uint64_t]) +AC_SUBST([DEFINE_gd_off64_t]) dnl library functions echo @@ -987,7 +993,6 @@ AM_CONDITIONAL(INTEL_F77_COMPILER, [test "x$gd_cv_f77_compiler_intel" == "xyes"]) AM_CONDITIONAL(INTEL_FC_COMPILER, [test "x$gd_cv_fc_compiler_intel" == "xyes"]) -AM_CONDITIONAL(LFS_TRANSITIONAL_API, [test "x$gd_cv_type_off64_t" = "xyes"]) AM_CONDITIONAL(INCLUDE_LEGACY_API, [test "x$include_legacy_api" != "xno"]) AM_CONDITIONAL(MAKE_CXXBINDINGS, [test "x$make_cxxbindings" = "xyes"]) AM_CONDITIONAL(MAKE_F77BINDINGS, [test "x$make_f77bindings" != "xno"]) @@ -1066,16 +1071,9 @@ enable_debug="assert only" fi -if test "x$gd_cv_type_off64_t" = "xyes"; then - lfs_transitional_api="yes" -else - lfs_transitional_api="no" -fi - echo echo "Configuration summary: " echo " ANSI C compatibility mode: ${disable_c99}" -echo " LFS transitional API: ${lfs_transitional_api}" echo " Legacy API: ${include_legacy_api}" echo " Verbose debugging: ${enable_debug}" echo " Use modules: ${use_modules}" Modified: trunk/getdata/man/Makefile.am =================================================================== --- trunk/getdata/man/Makefile.am 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/man/Makefile.am 2012-05-26 00:25:05 UTC (rev 713) @@ -20,37 +20,33 @@ # AUTOMAKE_OPTIONS = foreign -if LFS_TRANSITIONAL_API -LFS_transitional_mans = gd_getdata64.3 gd_framenum_subset64.3 \ - gd_frameoffset64.3 gd_nframes64.3 gd_putdata64.3 -MAN3ALIASES64=gd_frameoffset64.3:gd_alter_frameoffset64.3 -endif - nodist_man_MANS = gd_alter_encoding.3 gd_alter_endianness.3 \ gd_alter_frameoffset.3 dist_man_MANS = checkdirfile.1 dirfile2ascii.1 gd_add.3 gd_add_alias.3 \ gd_add_bit.3 gd_add_spec.3 gd_alias_target.3 gd_aliases.3 \ gd_alter_affixes.3 gd_alter_bit.3 gd_alter_entry.3 \ - gd_alter_protection.3 gd_alter_spec.3 gd_bof.3 gd_carray_len.3 \ - gd_carrays.3 gd_cbopen.3 gd_close.3 gd_constants.3 gd_delete.3 \ - gd_desync.3 gd_dirfile_standards.3 gd_dirfilename.3 \ - gd_encoding.3 gd_endianness.3 gd_entry.3 gd_entry_list.3 \ - gd_entry_type.3 gd_eof.3 gd_error.3 gd_error_count.3 \ - gd_error_string.3 gd_flags.3 gd_flush.3 gd_fragment_affixes.3 \ - gd_fragment_index.3 gd_fragmentname.3 gd_framenum_subset.3 \ - gd_frameoffset.3 gd_free_entry_strings.3 gd_get_carray_slice.3 \ - gd_get_constant.3 gd_get_string.3 gd_getdata.3 gd_hidden.3 \ - gd_hide.3 gd_include_affix.3 gd_invalid_dirfile.3 \ - gd_madd_bit.3 gd_mcarrays.3 gd_mconstants.3 gd_metaflush.3 \ - gd_move.3 gd_mplex_lookback.3 gd_mstrings.3 gd_naliases.3 \ + gd_alter_protection.3 gd_alter_spec.3 gd_bof.3 gd_bof64.3 \ + gd_carray_len.3 gd_carrays.3 gd_cbopen.3 gd_close.3 \ + gd_constants.3 gd_delete.3 gd_desync.3 gd_dirfile_standards.3 \ + gd_dirfilename.3 gd_encoding.3 gd_endianness.3 gd_entry.3 \ + gd_entry_list.3 gd_entry_type.3 gd_eof.3 gd_eof64.3 gd_error.3 \ + gd_error_count.3 gd_error_string.3 gd_flags.3 gd_flush.3 \ + gd_fragment_affixes.3 gd_fragment_index.3 gd_fragmentname.3 \ + gd_framenum_subset.3 gd_framenum_subset64.3 gd_frameoffset.3 \ + gd_frameoffset64.3 gd_free_entry_strings.3 \ + gd_get_carray_slice.3 gd_get_constant.3 gd_get_string.3 \ + gd_getdata.3 gd_getdata64.3 gd_hidden.3 gd_hide.3 \ + gd_include_affix.3 gd_invalid_dirfile.3 gd_madd_bit.3 \ + gd_mcarrays.3 gd_mconstants.3 gd_metaflush.3 gd_move.3 \ + gd_mplex_lookback.3 gd_mstrings.3 gd_naliases.3 \ gd_native_type.3 gd_nentries.3 gd_nfragments.3 gd_nframes.3 \ - gd_parent_fragment.3 gd_parser_callback.3 gd_protection.3 \ - gd_put_carray_slice.3 gd_put_constant.3 gd_put_string.3 \ - gd_putdata.3 gd_raw_filename.3 gd_reference.3 gd_rename.3 \ - gd_rewrite_fragment.3 gd_seek.3 gd_spf.3 gd_strings.3 \ - gd_tell.3 gd_uninclude.3 gd_validate.3 gd_verbose_prefix.3 \ - dirfile.5 dirfile-encoding.5 dirfile-format.5 \ - $(LFS_transitional_mans) + gd_nframes64.3 gd_parent_fragment.3 gd_parser_callback.3 \ + gd_protection.3 gd_put_carray_slice.3 gd_put_constant.3 \ + gd_put_string.3 gd_putdata.3 gd_putdata64.3 gd_raw_filename.3 \ + gd_reference.3 gd_rename.3 gd_rewrite_fragment.3 gd_seek.3 \ + gd_seek64.3 gd_spf.3 gd_strings.3 gd_tell.3 gd_tell64.3 \ + gd_uninclude.3 gd_validate.3 gd_verbose_prefix.3 dirfile.5 \ + dirfile-encoding.5 dirfile-format.5 # these are real_file:alias MAN3ALIASES=gd_add_bit.3:gd_add_carray.3 gd_add_bit.3:gd_add_clincom.3 \ @@ -99,7 +95,7 @@ gd_entry_list.3:gd_field_list.3 gd_entry_list.3:gd_field_list_by_type.3 \ gd_entry_list.3:gd_mfield_list.3 gd_entry_list.3:gd_mfield_list_by_type.3 \ gd_entry_list.3:gd_nmvectore.3 gd_entry_list.3:gd_vector_list.3 \ - $(MAN3ALIASES64) + gd_frameoffset64.3:gd_alter_frameoffset64.3 #man conversion HTMLMANS=$(addsuffix .html,$(nodist_man_MANS)) \ Added: trunk/getdata/man/gd_bof64.3 =================================================================== --- trunk/getdata/man/gd_bof64.3 (rev 0) +++ trunk/getdata/man/gd_bof64.3 2012-05-26 00:25:05 UTC (rev 713) @@ -0,0 +1,54 @@ +.\" gd_bof64.3. The gd_bof64 man page. +.\" +.\" Copyright (C) 2012 D. V. Wiebe +.\" +.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\" +.\" This file is part of the GetData project. +.\" +.\" Permission is granted to copy, distribute and/or modify this document +.\" under the terms of the GNU Free Documentation License, Version 1.2 or +.\" any later version published by the Free Software Foundation; with no +.\" Invariant Sections, with no Front-Cover Texts, and with no Back-Cover +.\" Texts. A copy of the license is included in the `COPYING.DOC' file +.\" as part of this distribution. +.\" +.TH gd_bof64 3 "25 May 2012" "Version 0.8.0" "GETDATA" +.SH NAME +gd_bof64 \(em retrieve data from a dirfile database, with largefile support +.SH SYNOPSIS +.B #define GD_64BIT_API + +.B #include <getdata.h> +.HP +.nh +.ad l +.BI "gd_off64_t gd_bof64(DIRFILE *" dirfile ", const char *" field_code ); +.hy +.ad n +.SH DESCRIPTION +This version of +.BR gd_bof (3) +uses a 64-bit offset type +.RB ( gd_off64_t ), +where one is available, regardless of the size of +.BR off_t . +It is only available if one defines +.IR GD_64BIT_API +or +.IR _LARGEFILE64_SOURCE +before including getdata.h. + +If +.I off_t +is a 64-bit type (possibly because +.I _FILE_OFFSET_BITS +has been defined to 64), this function will the same as +.BR gd_bof (3). +Otherwise, +.BR gd_bof (3) +will be a version of this function which uses a 32-bit +.IR off_t . +.SH SEE ALSO +.BR gd_bof (3), +.BR feature_test_macros (7) Added: trunk/getdata/man/gd_eof64.3 =================================================================== --- trunk/getdata/man/gd_eof64.3 (rev 0) +++ trunk/getdata/man/gd_eof64.3 2012-05-26 00:25:05 UTC (rev 713) @@ -0,0 +1,54 @@ +.\" gd_eof64.3. The gd_eof64 man page. +.\" +.\" Copyright (C) 2012 D. V. Wiebe +.\" +.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\" +.\" This file is part of the GetData project. +.\" +.\" Permission is granted to copy, distribute and/or modify this document +.\" under the terms of the GNU Free Documentation License, Version 1.2 or +.\" any later version published by the Free Software Foundation; with no +.\" Invariant Sections, with no Front-Cover Texts, and with no Back-Cover +.\" Texts. A copy of the license is included in the `COPYING.DOC' file +.\" as part of this distribution. +.\" +.TH gd_eof64 3 "25 May 2012" "Version 0.8.0" "GETDATA" +.SH NAME +gd_eof64 \(em retrieve data from a dirfile database, with largefile support +.SH SYNOPSIS +.B #define GD_64BIT_API + +.B #include <getdata.h> +.HP +.nh +.ad l +.BI "gd_off64_t gd_eof64(DIRFILE *" dirfile ", const char *" field_code ); +.hy +.ad n +.SH DESCRIPTION +This version of +.BR gd_eof (3) +uses a 64-bit offset type +.RB ( gd_off64_t ), +where one is available, regardless of the size of +.BR off_t . +It is only available if one defines +.IR GD_64BIT_API +or +.IR _LARGEFILE64_SOURCE +before including getdata.h. + +If +.I off_t +is a 64-bit type (possibly because +.I _FILE_OFFSET_BITS +has been defined to 64), this function will the same as +.BR gd_eof (3). +Otherwise, +.BR gd_eof (3) +will be a version of this function which uses a 32-bit +.IR off_t . +.SH SEE ALSO +.BR gd_eof (3), +.BR feature_test_macros (7) Modified: trunk/getdata/man/gd_framenum_subset64.3 =================================================================== --- trunk/getdata/man/gd_framenum_subset64.3 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/man/gd_framenum_subset64.3 2012-05-26 00:25:05 UTC (rev 713) @@ -1,6 +1,6 @@ .\" gd_framenum_subset64.3. The gd_framenum_subset64 man page. .\" -.\" Copyright (C) 2008, 2010 D. V. Wiebe +.\" Copyright (C) 2008, 2010, 2012 D. V. Wiebe .\" .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .\" @@ -13,37 +13,43 @@ .\" Texts. A copy of the license is included in the `COPYING.DOC' file .\" as part of this distribution. .\" -.TH gd_framenum_subset64 3 "15 July 2010" "Version 0.7.0" "GETDATA" +.TH gd_framenum_subset64 3 "25 May 2012" "Version 0.8.0" "GETDATA" .SH NAME gd_framenum_subset64 \(em perform a reverse look-up on a monotonic dirfile -field +field, with largefile support. .SH SYNOPSIS -.B #define _LARGEFILE64_SOURCE +.B #define GD_64BIT_API .B #include <getdata.h> .HP .nh .ad l .BI "double gd_framenum_subset64(DIRFILE *" dirfile , -.BI "const char *" field_code ", double " value ", off64_t " field_start , -.BI "off64_t " field_end ); +.BI "const char *" field_code ", double " value ", gd_off64_t " field_start , +.BI "gd_off64_t " field_end ); .hy .ad n .SH DESCRIPTION This version of .BR gd_framenum_subset (3) -uses a 64-bit offset type, even if -.I off_t -is a 32-bit type. It is only available if one defines -.IR _LARGEFILE64_SOURCE . +uses a 64-bit offset type +.RB ( gd_off64_t ), +where one is available, regardless of the size of +.BR off_t . +It is only available if one defines +.IR GD_64BIT_API +or +.IR _LARGEFILE64_SOURCE +before including getdata.h. + If .I off_t -is a 64-bit type (i.e. if +is a 64-bit type (possibly because .I _FILE_OFFSET_BITS -is defined to be 64), this function will be called -.BR gd_framenum_subset (). +has been defined to 64), this function will the same as +.BR gd_framenum_subset (3). Otherwise, -.BR gd_framenum_subset () +.BR gd_framenum_subset (3) will be a version of this function which uses a 32-bit .IR off_t . .SH SEE ALSO Modified: trunk/getdata/man/gd_frameoffset64.3 =================================================================== --- trunk/getdata/man/gd_frameoffset64.3 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/man/gd_frameoffset64.3 2012-05-26 00:25:05 UTC (rev 713) @@ -13,47 +13,51 @@ .\" Texts. A copy of the license is included in the `COPYING.DOC' file .\" as part of this distribution. .\" -.TH gd_frameoffset64 3 "16 July 2010" "Version 0.7.0" "GETDATA" +.TH gd_frameoffset64 3 "25 May 2012" "Version 0.8.0" "GETDATA" .SH NAME gd_frameoffset64, gd_alter_frameoffset64 \(em report or change the frame offset of fields in a dirfile, with largefile support .SH SYNOPSIS -.B #define _LARGEFILE64_SOURCE +.B #define GD_64BIT_API .B #include <getdata.h> .HP .nh .ad l -.BI "off64_t gd_frameoffset(DIRFILE *" dirfile ", int " fragment_index ); +.BI "gd_off64_t gd_frameoffset(DIRFILE *" dirfile ", int " fragment_index ); .HP -.BI "int gd_alter_frameoffset64(DIRFILE *" dirfile ", off64_t " offset , +.BI "int gd_alter_frameoffset64(DIRFILE *" dirfile ", gd_off64_t " offset , .BI "int " fragment_index ", int " move ); .hy .ad n .SH DESCRIPTION -These version of +These versions of .BR gd_frameoffset (3) and .BR gd_alter_frameoffset (3) -use a 64-bit offset type, even if -.I off_t -is a 32-bit type. They are only available if the caller defines -.I _LARGEFILE64_SOURCE +use a 64-bit offset type +.RB ( gd_off64_t ), +where one is available, regardless of the size of +.BR off_t . +They are only available if one defines +.IR GD_64BIT_API +or +.IR _LARGEFILE64_SOURCE before including getdata.h. If .I off_t -is a 64-bit type (i.e. if +is a 64-bit type (possibly because .I _FILE_OFFSET_BITS -is defined to be 64), these function will be called -.BR gd_frameoffset () +has been defined to 64), these functions will the same as +.BR gd_framenum_subset (3) and -.BR gd_alter_frameoffset (). +.BR gd_alter_frameoffset (3). Otherwise, -.BR gd_frameoffset () +.BR gd_framenum_subset (3) and -.BR gd_alter_frameoffset () -will be versions of these functions which use a 32-bit +.BR gd_alter_frameoffset (3) +will be versions of these function which use a 32-bit .IR off_t . .SH SEE ALSO .BR gd_alter_frameoffset (3), Modified: trunk/getdata/man/gd_getdata64.3 =================================================================== --- trunk/getdata/man/gd_getdata64.3 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/man/gd_getdata64.3 2012-05-26 00:25:05 UTC (rev 713) @@ -1,6 +1,6 @@ .\" gd_getdata64.3. The gd_getdata64 man page. .\" -.\" Copyright (C) 2008, 2010 D. V. Wiebe +.\" Copyright (C) 2008, 2010, 2012 D. V. Wiebe .\" .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .\" @@ -13,36 +13,43 @@ .\" Texts. A copy of the license is included in the `COPYING.DOC' file .\" as part of this distribution. .\" -.TH gd_getdata64 3 "25 May 2010" "Version 0.7.0" "GETDATA" +.TH gd_getdata64 3 "25 May 2012" "Version 0.8.0" "GETDATA" .SH NAME -gd_getdata64 \(em retrieve data from a dirfile database with largefile support +gd_getdata64 \(em retrieve data from a dirfile database, with largefile support .SH SYNOPSIS -.B #define _LARGEFILE64_SOURCE +.B #define GD_64BIT_API .B #include <getdata.h> .HP .nh .ad l -.BI "size_t gd_getdata64(DIRFILE *" dirfile ", const char *" field_code ", off64_t" -.IB first_frame ", off64_t " first_sample ", size_t " num_frames ", size_t" -.IB num_samples ", gd_type_t " return_type ", void *" data_out ); +.BI "size_t gd_getdata64(DIRFILE *" dirfile ", const char *" field_code , +.BI "gd_off64_t " first_frame ", gd_off64_t " first_sample ", size_t +.IB num_frames ", size_t " num_samples ", gd_type_t " return_type , +.BI "void *" data_out ); .hy .ad n .SH DESCRIPTION This version of .BR gd_getdata (3) -uses a 64-bit offset type, even if -.I off_t -is a 32-bit type. It is only available if one defines -.IR _LARGEFILE64_SOURCE . +uses a 64-bit offset type +.RB ( gd_off64_t ), +where one is available, regardless of the size of +.BR off_t . +It is only available if one defines +.IR GD_64BIT_API +or +.IR _LARGEFILE64_SOURCE +before including getdata.h. + If .I off_t -is a 64-bit type (i.e. if +is a 64-bit type (possibly because .I _FILE_OFFSET_BITS -is defined to be 64), this function will be called -.BR gd_getdata (). +has been defined to 64), this function will the same as +.BR gd_getdata (3). Otherwise, -.BR gd_getdata () +.BR gd_getdata (3) will be a version of this function which uses a 32-bit .IR off_t . .SH SEE ALSO Modified: trunk/getdata/man/gd_nframes64.3 =================================================================== --- trunk/getdata/man/gd_nframes64.3 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/man/gd_nframes64.3 2012-05-26 00:25:05 UTC (rev 713) @@ -1,6 +1,6 @@ .\" gd_nframes64.3. The gd_nframes64 man page. .\" -.\" Copyright (C) 2008, 2010 D. V. Wiebe +.\" Copyright (C) 2008, 2010, 2012 D. V. Wiebe .\" .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .\" @@ -13,34 +13,40 @@ .\" Texts. A copy of the license is included in the `COPYING.DOC' file .\" as part of this distribution. .\" -.TH gd_nframes64 3 "16 July 2010" "Version 0.7.0" "GETDATA" +.TH gd_nframes64 3 "25 May 2012" "Version 0.8.0" "GETDATA" .SH NAME -gd_nframes64 \(em report the size of a dirfile with largefile support +gd_nframes64 \(em report the size of a dirfile, with largefile support .SH SYNOPSIS -.B #define _LARGEFILE64_SOURCE +.B #define GD_64BIT_API .B #include <getdata.h> .HP .nh .ad l -.BI "off64_t gd_nframes64(DIRFILE *" dirfile ); +.BI "gd_off64_t gd_nframes64(DIRFILE *" dirfile ); .hy .ad n .SH DESCRIPTION This version of .BR gd_nframes (3) -uses a 64-bit offset type, even if -.I off_t -is a 32-bit type. It is only available if one defines -.IR _LARGEFILE64_SOURCE . +uses a 64-bit offset type +.RB ( gd_off64_t ), +where one is available, regardless of the size of +.BR off_t . +It is only available if one defines +.IR GD_64BIT_API +or +.IR _LARGEFILE64_SOURCE +before including getdata.h. + If .I off_t -is a 64-bit type (i.e. if +is a 64-bit type (possibly because .I _FILE_OFFSET_BITS -is defined to be 64), this function will be called -.BR gd_nframes (). +has been defined to 64), this function will the same as +.BR gd_nframes (3). Otherwise, -.BR gd_nframes () +.BR gd_nframes (3) will be a version of this function which uses a 32-bit .IR off_t . .SH SEE ALSO Modified: trunk/getdata/man/gd_putdata64.3 =================================================================== --- trunk/getdata/man/gd_putdata64.3 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/man/gd_putdata64.3 2012-05-26 00:25:05 UTC (rev 713) @@ -1,6 +1,6 @@ .\" gd_putdata64.3. The gd_putdata64 man page. .\" -.\" Copyright (C) 2008, 2010 D. V. Wiebe +.\" Copyright (C) 2008, 2010, 2012 D. V. Wiebe .\" .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .\" @@ -13,36 +13,43 @@ .\" Texts. A copy of the license is included in the `COPYING.DOC' file .\" as part of this distribution. .\" -.TH gd_putdata64 3 "25 May 2010" "Version 0.7.0" "GETDATA" +.TH gd_putdata64 3 "25 May 2012" "Version 0.8.0" "GETDATA" .SH NAME -gd_putdata64 \(em write data to a dirfile database with largefile support +gd_putdata64 \(em write data to a dirfile database, with largefile support .SH SYNOPSIS -.B #define _LARGEFILE64_SOURCE +.B #define GD_64BIT_API .B #include <getdata.h> .HP .nh .ad l -.BI "size_t gd_putdata64(DIRFILE *" dirfile ", const char *" field_code ", off64_t" -.IB first_frame ", off64_t " first_sample ", size_t " num_frames ", size_t" -.IB num_samples ", gd_type_t " data_type ", const void *" data_out ); +.BI "size_t gd_putdata64(DIRFILE *" dirfile ", const char *" field_code , +.BI "gd_off64_t " first_frame ", gd_off64_t " first_sample ", size_t +.IB num_frames ", size_t " num_samples ", gd_type_t " data_type , +.BI "const void *" data_out ); .hy .ad n .SH DESCRIPTION This version of .BR gd_putdata (3) -uses a 64-bit offset type, even if -.I off_t -is a 32-bit type. It is only available if one defines -.IR _LARGEFILE64_SOURCE . +uses a 64-bit offset type +.RB ( gd_off64_t ), +where one is available, regardless of the size of +.BR off_t . +It is only available if one defines +.IR GD_64BIT_API +or +.IR _LARGEFILE64_SOURCE +before including getdata.h. + If .I off_t -is a 64-bit type (i.e. if +is a 64-bit type (possibly because .I _FILE_OFFSET_BITS -is defined to be 64), this function will be called -.BR gd_putdata (). +has been defined to 64), this function will the same as +.BR gd_putdata (3). Otherwise, -.BR gd_putdata () +.BR gd_putdata (3) will be a version of this function which uses a 32-bit .IR off_t . .SH SEE ALSO Added: trunk/getdata/man/gd_seek64.3 =================================================================== --- trunk/getdata/man/gd_seek64.3 (rev 0) +++ trunk/getdata/man/gd_seek64.3 2012-05-26 00:25:05 UTC (rev 713) @@ -0,0 +1,55 @@ +.\" gd_seek64.3. The gd_seek64 man page. +.\" +.\" Copyright (C) 2012 D. V. Wiebe +.\" +.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\" +.\" This file is part of the GetData project. +.\" +.\" Permission is granted to copy, distribute and/or modify this document +.\" under the terms of the GNU Free Documentation License, Version 1.2 or +.\" any later version published by the Free Software Foundation; with no +.\" Invariant Sections, with no Front-Cover Texts, and with no Back-Cover +.\" Texts. A copy of the license is included in the `COPYING.DOC' file +.\" as part of this distribution. +.\" +.TH gd_seek64 3 "25 May 2012" "Version 0.8.0" "GETDATA" +.SH NAME +gd_seek64 \(em retrieve data from a dirfile database, with largefile support +.SH SYNOPSIS +.B #define GD_64BIT_API + +.B #include <getdata.h> +.HP +.nh +.ad l +.BI "gd_off64_t gd_seek64(DIRFILE *" dirfile ", const char *" field_code , +.BI "gd_off64_t " frame_num ", gd_off64_t " sample_num ", int " flags ); +.hy +.ad n +.SH DESCRIPTION +This version of +.BR gd_seek (3) +uses a 64-bit offset type +.RB ( gd_off64_t ), +where one is available, regardless of the size of +.BR off_t . +It is only available if one defines +.IR GD_64BIT_API +or +.IR _LARGEFILE64_SOURCE +before including getdata.h. + +If +.I off_t +is a 64-bit type (possibly because +.I _FILE_OFFSET_BITS +has been defined to 64), this function will the same as +.BR gd_seek (3). +Otherwise, +.BR gd_seek (3) +will be a version of this function which uses a 32-bit +.IR off_t . +.SH SEE ALSO +.BR gd_seek (3), +.BR feature_test_macros (7) Added: trunk/getdata/man/gd_tell64.3 =================================================================== --- trunk/getdata/man/gd_tell64.3 (rev 0) +++ trunk/getdata/man/gd_tell64.3 2012-05-26 00:25:05 UTC (rev 713) @@ -0,0 +1,54 @@ +.\" gd_tell64.3. The gd_tell64 man page. +.\" +.\" Copyright (C) 2012 D. V. Wiebe +.\" +.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.\" +.\" This file is part of the GetData project. +.\" +.\" Permission is granted to copy, distribute and/or modify this document +.\" under the terms of the GNU Free Documentation License, Version 1.2 or +.\" any later version published by the Free Software Foundation; with no +.\" Invariant Sections, with no Front-Cover Texts, and with no Back-Cover +.\" Texts. A copy of the license is included in the `COPYING.DOC' file +.\" as part of this distribution. +.\" +.TH gd_tell64 3 "25 May 2012" "Version 0.8.0" "GETDATA" +.SH NAME +gd_tell64 \(em retrieve data from a dirfile database, with largefile support +.SH SYNOPSIS +.B #define GD_64BIT_API + +.B #include <getdata.h> +.HP +.nh +.ad l +.BI "gd_off64_t gd_tell64(DIRFILE *" dirfile ", const char *" field_code ); +.hy +.ad n +.SH DESCRIPTION +This version of +.BR gd_tell (3) +uses a 64-bit offset type +.RB ( gd_off64_t ), +where one is available, regardless of the size of +.BR off_t . +It is only available if one defines +.IR GD_64BIT_API +or +.IR _LARGEFILE64_SOURCE +before including getdata.h. + +If +.I off_t +is a 64-bit type (possibly because +.I _FILE_OFFSET_BITS +has been defined to 64), this function will the same as +.BR gd_tell (3). +Otherwise, +.BR gd_tell (3) +will be a version of this function which uses a 32-bit +.IR off_t . +.SH SEE ALSO +.BR gd_tell (3), +.BR feature_test_macros (7) Modified: trunk/getdata/src/common.c =================================================================== --- trunk/getdata/src/common.c 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/src/common.c 2012-05-26 00:25:05 UTC (rev 713) @@ -480,8 +480,8 @@ size_t i; double x; - dtrace("%p, %p, 0x%x, %i, %p, %" PRNsize_t ", %p, %" PRNsize_t, D, data, type, complex_table, - data_in, npts, lut, n_ln); + dtrace("%p, %p, 0x%x, %i, %p, %" PRNsize_t ", %p, %" PRNsize_t, D, data, type, + complex_table, data_in, npts, lut, n_ln); switch (type) { case GD_NULL: break; @@ -574,8 +574,8 @@ { size_t i; - dtrace("%p, %i, %p, 0x%x, %p, %p, %p, %p, %p, %" PRNsize_t, D, n, data1, return_type, - data2, data3, m, b, spf, n_read); + dtrace("%p, %i, %p, 0x%x, %p, %p, %p, %p, %p, %" PRNsize_t, D, n, data1, + return_type, data2, data3, m, b, spf, n_read); switch(return_type) { case GD_NULL: break; @@ -683,8 +683,8 @@ { size_t i; - dtrace("%p, %i, %p, 0x%x, %p, %p, %p, %p, %p, %" PRNsize_t, D, n, data1, return_type, - data2, data3, m, b, spf, n_read); + dtrace("%p, %i, %p, 0x%x, %p, %p, %p, %p, %p, %" PRNsize_t, D, n, data1, + return_type, data2, data3, m, b, spf, n_read); switch(return_type) { case GD_NULL: break; @@ -729,7 +729,8 @@ { size_t i; - dtrace("%p, %p, 0x%x, %g, %" PRNsize_t, D, data, return_type, dividend, n_read); + dtrace("%p, %p, 0x%x, %g, %" PRNsize_t, D, data, return_type, dividend, + n_read); switch(return_type) { case GD_NULL: break; @@ -785,8 +786,8 @@ { size_t i; - dtrace("%p, %p, 0x%x, %g;%g, %" PRNsize_t, D, data, return_type, creal(dividend), - cimag(dividend), n_read); + dtrace("%p, %p, 0x%x, %g;%g, %" PRNsize_t, D, data, return_type, + creal(dividend), cimag(dividend), n_read); switch(return_type) { case GD_NULL: break; Modified: trunk/getdata/src/constant.c =================================================================== --- trunk/getdata/src/constant.c 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/src/constant.c 2012-05-26 00:25:05 UTC (rev 713) @@ -259,8 +259,8 @@ int repr; char* field_code; - dtrace("%p, \"%s\", %i, %" PRNsize_t ", 0x%x, %p", D, field_code_in, first, n, data_type, - data_in); + dtrace("%p, \"%s\", %i, %" PRNsize_t ", 0x%x, %p", D, field_code_in, first, n, + data_type, data_in); if (D->flags & GD_INVALID) { _GD_SetError(D, GD_E_BAD_DIRFILE, 0, NULL, 0, NULL); Modified: trunk/getdata/src/encoding.c =================================================================== --- trunk/getdata/src/encoding.c 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/src/encoding.c 2012-05-26 00:25:05 UTC (rev 713) @@ -456,7 +456,8 @@ { ssize_t n_wrote; - dtrace("%p, %p, %p, %p, 0x%X, %" PRNsize_t ", %i", D, E, enc, ptr, type, n, temp); + dtrace("%p, %p, %p, %p, 0x%X, %" PRNsize_t ", %i", D, E, enc, ptr, type, n, + temp); if (temp) n_wrote = (*enc->write)(E->e->u.raw.file + 1, ptr, type, n); Modified: trunk/getdata/src/flush.c =================================================================== --- trunk/getdata/src/flush.c 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/src/flush.c 2012-05-26 00:25:05 UTC (rev 713) @@ -275,8 +275,8 @@ int dummy; char *ptr; - dtrace("%p, %p, \"%s\", \"%s\", \"%s\", %" PRNsize_t ", %i, %i", D, stream, prefix, - suffix, in, len, permissive, standards); + dtrace("%p, %p, \"%s\", \"%s\", \"%s\", %" PRNsize_t ", %i, %i", D, stream, + prefix, suffix, in, len, permissive, standards); ptr = _GD_MungeCode(D, NULL, prefix, suffix, NULL, NULL, in, &dummy); Modified: trunk/getdata/src/getdata.c =================================================================== --- trunk/getdata/src/getdata.c 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/src/getdata.c 2012-05-26 00:25:05 UTC (rev 713) @@ -104,8 +104,8 @@ { size_t i; - dtrace("%p, %p, 0x%X, %p, 0x%X, %" PRNsize_t ", %i", D, cdata, in_type, rdata, type, n, - repr); + dtrace("%p, %p, 0x%X, %p, 0x%X, %" PRNsize_t ", %i", D, cdata, in_type, rdata, + type, n, repr); switch (type) { case GD_UINT8: EXTRACT_REPRS( uint8_t); break; @@ -258,8 +258,8 @@ char *databuffer; size_t zero_pad = 0; - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p)", D, E, (long long)s0, ns, return_type, - data_out); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p)", D, E, (long long)s0, ns, + return_type, data_out); if (s0 < E->EN(raw,spf) * D->fragment[E->fragment_index].frame_offset) zero_pad = E->EN(raw,spf) * D->fragment[E->fragment_index].frame_offset - @@ -871,8 +871,8 @@ size_t i; const double NaN = NAN; - dtrace("%p, %p, %u, %p, %u, 0x%X, %i, {%g,%llx,%lli}, %" PRNsize_t, D, A, spfA, B, - spfB, type, op, threshold.r, (unsigned long long)threshold.u, + dtrace("%p, %p, %u, %p, %u, 0x%X, %i, {%g,%llx,%lli}, %" PRNsize_t, D, A, + spfA, B, spfB, type, op, threshold.r, (unsigned long long)threshold.u, (long long)threshold.i, n); switch (type) { @@ -929,8 +929,8 @@ { size_t i; - dtrace("%p, %p, %u, %p, %u, 0x%X, %i, %p, %" PRNsize_t, D, A, spfA, B, spfB, type, - val, start, n); + dtrace("%p, %p, %u, %p, %u, 0x%X, %i, %p, %" PRNsize_t, D, A, spfA, B, spfB, + type, val, start, n); switch (type) { case GD_NULL: break; @@ -967,8 +967,8 @@ const gd_type_t ntype = (return_type & GD_COMPLEX) ? GD_COMPLEX128 : GD_FLOAT64; - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, num_samp, - return_type, data_out); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, + num_samp, return_type, data_out); /* input field checks */ for (i = 0; i < E->EN(lincom,n_fields); ++i) { @@ -1101,8 +1101,8 @@ off64_t first_samp2; gd_type_t type2; - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, num_samp, - return_type, data_out); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, + num_samp, return_type, data_out); /* Check input fields */ if (_GD_BadInput(D, E, 0, 1)) { @@ -1196,8 +1196,8 @@ { size_t n_read; - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, num_samp, - return_type, data_out); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, + num_samp, return_type, data_out); /* Check input fields */ if (_GD_BadInput(D, E, 0, 1)) { @@ -1242,8 +1242,8 @@ off64_t first_samp2; gd_type_t type2; - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, num_samp, - return_type, data_out); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, + num_samp, return_type, data_out); /* Check input fields */ if (_GD_BadInput(D, E, 0, 1) || _GD_BadInput(D, E, 1, 1)) { @@ -1391,8 +1391,8 @@ { size_t n_read; - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, num_samp, - return_type, data_out); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, + num_samp, return_type, data_out); if (_GD_BadInput(D, E, 0, 1)) { dreturn("%i", 0); @@ -1415,8 +1415,8 @@ size_t n_read = 0; double* data_in; - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, num_samp, - return_type, data_out); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, + num_samp, return_type, data_out); if (E->e->u.linterp.table_len < 0) { _GD_ReadLinterpFile(D, E); @@ -1465,8 +1465,8 @@ { size_t n_read; - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, num_samp, - return_type, data_out); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, + num_samp, return_type, data_out); if (_GD_BadInput(D, E, 0, 1)) { dreturn("%i", 0); @@ -1511,8 +1511,8 @@ off64_t first_samp2; gd_type_t type2; - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, num_samp, - return_type, data_out); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, + num_samp, return_type, data_out); /* Check input fields */ if (_GD_BadInput(D, E, 0, 1)) { @@ -1617,8 +1617,8 @@ const size_t size = GD_SIZE(return_type); off64_t first_samp2; - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, num_samp, - return_type, data_out); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, + num_samp, return_type, data_out); /* Check input fields */ if (_GD_BadInput(D, E, 0, 1)) { @@ -1974,9 +1974,9 @@ int repr; unsigned int spf; - dtrace("%p, \"%s\", %lli, %lli, %" PRNsize_t ", %" PRNsize_t ", 0x%X, %p", D, field_code_in, - (long long)first_frame, (long long)first_samp, num_frames, num_samp, - return_type, data_out); + dtrace("%p, \"%s\", %lli, %lli, %" PRNsize_t ", %" PRNsize_t ", 0x%X, %p", D, + field_code_in, (long long)first_frame, (long long)first_samp, num_frames, + num_samp, return_type, data_out); if (D->flags & GD_INVALID) {/* don't crash */ _GD_SetError(D, GD_E_BAD_DIRFILE, 0, NULL, 0, NULL); Modified: trunk/getdata/src/getdata.h.in =================================================================== --- trunk/getdata/src/getdata.h.in 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/src/getdata.h.in 2012-05-26 00:25:05 UTC (rev 713) @@ -36,6 +36,15 @@ * array of doubles in place of the complex types. This symbol permits * including these declarations using a non-C99 conforming compiler. * + * - defining GD_64BIT_API will expose the declaration of versions of funtions + * using an explicitly 64-bit off_t type, regardless of the actual size of + * off_t itself. These functions have "64" appended to their name (e.g. + * gd_getdata64()). It will also define th gd_off64_t type, which is used in + * these exposed definitions as a replacement for off_t. This symbol is + * automatically defined if _LARGEFILE64_SOURCE has been defined before + * including this file, and may also be defined on certain platforms where + * off_t is 64-bits. + * * - defining GD_FUNCTION_ALIASES will result in a number of function aliases * which map the version 0.7 function names to the names used in GetData-0.6. * This feature is provided only to ease transistion, and will be removed in @@ -1075,13 +1084,14 @@ /* if required, declare the LFS transitional extension */ #if defined _LARGEFILE64_SOURCE || (defined _FILE_OFFSET_BITS && \ _FILE_OFFSET_BITS == 64) || (defined __CYGWIN__) || (defined __APPLE__) +#if ! defined GD_64BIT_API +#define GD_64BIT_API +#endif +#endif -#if (defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64) || \ - (defined __APPLE__) || (defined __CYGWIN__) -#define gd_off64_t off_t -#else -#define gd_off64_t off64_t -#endif +#ifdef GD_64BIT_API +@DEFINE_gd_off64_t@ + extern int gd_alter_frameoffset64(DIRFILE *dirfile, gd_off64_t offset, int fragment, int recode) gd_nonnull ((1)); Modified: trunk/getdata/src/internal.h =================================================================== --- trunk/getdata/src/internal.h 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/src/internal.h 2012-05-26 00:25:05 UTC (rev 713) @@ -26,6 +26,7 @@ #include "gd_config.h" #endif +#define GD_64BIT_API #include "getdata.h" /* OS X 10.6 deprecates lstat64 */ Modified: trunk/getdata/src/name.c =================================================================== --- trunk/getdata/src/name.c 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/src/name.c 2012-05-26 00:25:05 UTC (rev 713) @@ -207,7 +207,8 @@ char **list, size_t len, int n, int pass, int *nl) { char **ptr; - dtrace("%p, %p, %p, %p, %" PRNsize_t ", %i, %i, %i", D, T, E, list, len, n, pass, *nl); + dtrace("%p, %p, %p, %p, %" PRNsize_t ", %i, %i, %i", D, T, E, list, len, n, + pass, *nl); if (pass & GD_UPDI) { if ((ptr = (char**)_GD_Realloc(D, list, sizeof(char *) * (*nl + 1))) @@ -306,7 +307,8 @@ char **list, size_t len, int n, int pass, int *nl) { char **ptr; - dtrace("%p, %p, %p, %p, %" PRNsize_t ", %i, %i, %i", D, T, E, list, len, n, pass, *nl); + dtrace("%p, %p, %p, %p, %" PRNsize_t ", %i, %i, %i", D, T, E, list, len, n, + pass, *nl); if (pass != 0 && T->e->entry[n] == NULL) _GD_BadInput(D, T, n, 0); Modified: trunk/getdata/src/putdata.c =================================================================== --- trunk/getdata/src/putdata.c 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/src/putdata.c 2012-05-26 00:25:05 UTC (rev 713) @@ -36,8 +36,8 @@ return 0; } - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)s0, ns, data_type, - data_in); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)s0, ns, + data_type, data_in); if (s0 < D->fragment[E->fragment_index].frame_offset * E->EN(raw,spf)) { _GD_SetError(D, GD_E_RANGE, GD_E_OUT_OF_RANGE, NULL, 0, NULL); @@ -131,8 +131,8 @@ double *tmpbuf; struct _gd_lut *tmp_lut; - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, num_samp, - data_type, data_in); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, + num_samp, data_type, data_in); if (_GD_BadInput(D, E, 0, 1)) { dreturn("%i", 0); @@ -232,8 +232,8 @@ size_t n_wrote; void* tmpbuf; - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, num_samp, - data_type, data_in); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, + num_samp, data_type, data_in); /* we cannot write to LINCOM fields that are a linear combination */ /* of more than one raw field (no way to know how to split data). */ @@ -311,8 +311,8 @@ const uint64_t mask = (E->EN(bit,numbits) == 64) ? 0xffffffffffffffffULL : ((uint64_t)1 << E->EN(bit,numbits)) - 1; - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, num_samp, - data_type, data_in); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, + num_samp, data_type, data_in); if (_GD_BadInput(D, E, 0, 1)) { dreturn("%i", 0); @@ -366,8 +366,8 @@ { size_t n_wrote; - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, num_samp, - data_type, data_in); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, + num_samp, data_type, data_in); if (_GD_BadInput(D, E, 0, 1)) { dreturn("%i", 0); @@ -389,8 +389,8 @@ size_t n_wrote; void* tmpbuf; - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, num_samp, - data_type, data_in); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, + num_samp, data_type, data_in); if (_GD_BadInput(D, E, 0, 1)) { dreturn("%i", 0); @@ -435,8 +435,8 @@ size_t n_wrote; void* tmpbuf; - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, num_samp, - data_type, data_in); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, + num_samp, data_type, data_in); /* we cannot write to POLYNOM fields that are quadradic or higher order */ @@ -529,8 +529,8 @@ { size_t i; - dtrace("%p, %p, %u, %p, %u, %p, 0x%X %i, %" PRNsize_t, D, A, spfA, B, spfB, C, type, - val, n); + dtrace("%p, %p, %u, %p, %u, %p, 0x%X %i, %" PRNsize_t, D, A, spfA, B, spfB, C, + type, val, n); switch (type) { case GD_NULL: break; @@ -563,8 +563,8 @@ off64_t first_samp2; unsigned int spf1, spf2; - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, num_samp, - data_type, data_in); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first_samp, + num_samp, data_type, data_in); if (_GD_BadInput(D, E, 0, 1)) { dreturn("%i", 0); @@ -632,8 +632,8 @@ off64_t first, size_t len, gd_type_t data_type, const void *restrict data_in) { - dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first, len, data_type, - data_in); + dtrace("%p, %p, %lli, %" PRNsize_t ", 0x%X, %p", D, E, (long long)first, len, + data_type, data_in); /* check protection */ if (D->fragment[E->fragment_index].protection & GD_PROTECT_FORMAT) @@ -690,8 +690,8 @@ { size_t n_wrote = 0; - dtrace("%p, %p, %i, %lli, %" PRNsize_t ", 0x%X, %p", D, E, repr, (long long)first_samp, - num_samp, data_type, data_in); + dtrace("%p, %p, %i, %lli, %" PRNsize_t ", 0x%X, %p", D, E, repr, + (long long)first_samp, num_samp, data_type, data_in); if (++D->recurse_level >= GD_MAX_RECURSE_LEVEL) { _GD_SetError(D, GD_E_RECURSE_LEVEL, GD_E_RECURSE_CODE, NULL, 0, E->field); @@ -785,9 +785,9 @@ int repr; unsigned int spf = 0; - dtrace("%p, \"%s\", %lli, %lli, %" PRNsize_t ", %" PRNsize_t ", 0x%X, %p", D, field_code_in, - (long long)first_frame, (long long)first_samp, num_frames, num_samp, - data_type, data_in); + dtrace("%p, \"%s\", %lli, %lli, %" PRNsize_t ", %" PRNsize_t ", 0x%X, %p", D, + field_code_in, (long long)first_frame, (long long)first_samp, num_frames, + num_samp, data_type, data_in); if (D->flags & GD_INVALID) {/* don't crash */ _GD_SetError(D, GD_E_BAD_DIRFILE, 0, NULL, 0, NULL); Modified: trunk/getdata/src/types.c =================================================================== --- trunk/getdata/src/types.c 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/src/types.c 2012-05-26 00:25:05 UTC (rev 713) @@ -63,8 +63,8 @@ { size_t i; - dtrace("%p, %p, 0x%x, %p, 0x%x, %" PRNsize_t, D, data_in, in_type, data_out, out_type, - n); + dtrace("%p, %p, 0x%x, %p, 0x%x, %" PRNsize_t, D, data_in, in_type, data_out, + out_type, n); dreturnvoid(); if (out_type == GD_NULL) /* null return type: don't return data */ Modified: trunk/getdata/test/Makefile.am =================================================================== --- trunk/getdata/test/Makefile.am 2012-05-23 23:24:48 UTC (rev 712) +++ trunk/getdata/test/Makefile.am 2012-05-26 00:25:05 UTC (rev 713) @@ -28,17 +28,6 @@ WEXTRA=-Wextra endif -if LFS_TRANSITIONAL_API -GET64=get64 -GET_OFF64=get_off64 -NFRAMES64=nframes64 -NFRAMES_OFF64=nframes_off64 -PUT64=put64 -PUT_OFF64=put_off64 -SEEK64=seek64 -TELL64=tell64 -endif - LDADD=../src/libgetdata.la INCLUDES=${WALL} $(WEXTRA) -I$(top_srcdir)/src @@ -179,7 +168,7 @@ fragment_affix_dup fragment_index fragment_index_alias \ fragment_name fragment_name_oor fragment_num fragment_parent -GET_TESTS=${GET64} get_bad_code get_bit get_carray get_carray_len \ +GET_TESTS=get64 get_bad_code get_bit get_carray get_carray_len \ get_carray_slice get_char get_clincom get_complex128 \ get_complex64 get_const get_const_complex get_const_repr \ get_cpolynom get_divide get_endian8 get_endian16 get_endian32 \ @@ -195,7 +184,7 @@ get_lincom_null get_lincom_spf get_linterp get_linterp_noin \ get_linterp_notab get_linterp_sort get_mplex get_mplex_lb \ get_mplex_lball get_mplex_nolb get_multiply get_multiply_noin \ - get_nonexistent get_null $(GET_OFF64) get_phase get_phase_affix \ + get_nonexistent get_null get_off64 get_phase get_phase_affix \ get_polynom get_polynom_noin get_recip get_recip_const get_recurse \ get_rofs get_sbit get_sf get_ss get_type get_uint16 get_uint32 \ get_uint64 get_window get_window_clr get_window_ge get_window_gt \ @@ -244,8 +233,8 @@ nfields_type_hidden nfields_type_invalid nfields_vector \ nfields_vector_hidden nfields_vector_invalid -NFRAMES_TESTS=nframes ${NFRAMES64} nframes_empty nframes_invalid \ - $(NFRAMES_OFF64) nframes_spf +NFRAMES_TESTS=nframes nframes64 nframes_empty nframes_invalid \ + nframes_off64 nframes_spf NMETA_TESTS=nmeta nmeta_hidden nmeta_invalid nmeta_parent nmeta_type \ nmeta_type_hidden nmeta_type_invalid nmeta_type_parent \ @@ -296,7 +285,7 @@ PROTECT_TESTS=protect_alter protect_get -PUT_TESTS=${PUT64} put_bad_code put_bit put_bof put_carray put_carray_slice \ +PUT_TESTS=put64 put_bad_code put_bit put_bof put_carray put_carray_slice \ put_char put_complex128 put_complex64 put_const put_const_protect \ put_divide put_endian8 put_endian16 put_endian32 put_endian64 \ put_endian_complex128_arm put_endian_complex128_big \ @@ -309,7 +298,7 @@ put_int32 put_int64 put_invalid put_lincom1 put_lincom2 \ put_lincom_noin put_linterp put_linterp_noin put_linterp_nomono \ put_linterp_notab put_linterp_reverse put_mplex put_multiply \ - put_null $(PUT_OFF64) put_phase put_phase_noin put_polynom1 \ + put_null put_off64 put_phase put_phase_noin put_polynom1 \ put_polynom2 put_polynom_noin put_protect put_rdonly put_recip \ put_recurse put_repr put_rofs put_sbit put_sf put_ss put_string \ put_string_protect put_type put_uint16 put_uint32 put_uint64 \ @@ -322,7 +311,7 @@ repr_real_m repr_real_r repr_uint16 repr_uint32 repr_uint64 \ repr_uint8 -SEEK_TESTS=$(SEEK64) seek_cur seek_end seek_foffs seek_set +SEEK_TESTS=seek64 seek_cur seek_end seek_foffs seek_set SIE_TESTS=sie_get_big sie_get_little sie_move_from sie_move_to sie_nframes_big \ sie_nframes_little sie_put_big sie_put_little @@ -336,7 +325,7 @@ spf_divide spf_lincom spf_multiply \ spf_polynom spf_recip spf_recurse -TELL_TESTS=tell ${TELL64} +TELL_TESTS=tell tell64 TRUNC_TESTS=trunc trunc_dir trunc_rdonly trunc_rofs trunc_truncsub This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-05-23 23:24:55
|
Revision: 712 http://getdata.svn.sourceforge.net/getdata/?rev=712&view=rev Author: ketiltrout Date: 2012-05-23 23:24:48 +0000 (Wed, 23 May 2012) Log Message: ----------- Figure out the perl man3 extension at configure time. Modified Paths: -------------- trunk/getdata/bindings/perl/Makefile.am trunk/getdata/m4/perl.m4 Modified: trunk/getdata/bindings/perl/Makefile.am =================================================================== --- trunk/getdata/bindings/perl/Makefile.am 2012-05-23 18:42:04 UTC (rev 711) +++ trunk/getdata/bindings/perl/Makefile.am 2012-05-23 23:24:48 UTC (rev 712) @@ -30,7 +30,7 @@ PERL_TESTS=t/big_test.t t/callback.t man3dir=${perlmandir} -nodist_man3_MANS=blib/libdoc/GetData.3 +nodist_man3_MANS=blib/libdoc/GetData.$(PERL_MAN3EXT) nodist_perl_SCRIPTS=blib/lib/GetData.pm @@ -71,20 +71,11 @@ $(PERL) $(srcdir)/funclist.pl lib/GetData.xs lib/simple_funcs.xs > $@ chmod a-w $@ -blib/arch/auto/GetData/GetData.bs: Build lib/GetData.xs lib/simple_funcs.xs \ - lib/typemap +blib/arch/auto/GetData/GetData.bs blib/arch/auto/GetData/GetData.so \ + blib/lib/GetData.pm blib/libdoc/GetData.$(PERL_MAN3EXT): Build \ + lib/GetData.xs lib/simple_funcs.xs lib/typemap $(PERL) Build build - touch $@ -blib/arch/auto/GetData/GetData.so: blib/arch/auto/GetData/GetData.bs - touch $@ - -blib/lib/GetData.pm: blib/arch/auto/GetData/GetData.bs - touch $@ - -blib/libdoc/GetData.3: blib/arch/auto/GetData/GetData.bs - touch $@ - .PRECIOUS: Build Build: Build.PL GetData.pm lib/GetData.xs lib/simple_funcs.xs lib/typemap \ MANIFEST Modified: trunk/getdata/m4/perl.m4 =================================================================== --- trunk/getdata/m4/perl.m4 2012-05-23 18:42:04 UTC (rev 711) +++ trunk/getdata/m4/perl.m4 2012-05-23 23:24:48 UTC (rev 712) @@ -46,9 +46,20 @@ fi ]) +dnl GD_PERL_MAN3EXT +dnl --------------------------------------------------------------- +dnl Define PERL_MAN3EXT to the section 3 manual extension used by Module::Build +AC_DEFUN([GD_PERL_MAN3EXT], +[ +AC_MSG_CHECKING([for the section 3 manual page extension]) +PERL_MAN3EXT=`$PERL -MModule::Build -e 'print Module::Build->new(module_name=>"conftest",dist_version=>0)->config('man3ext');'` +AC_MSG_RESULT([.$PERL_MAN3EXT]) +AC_SUBST([PERL_MAN3EXT]) +]) + dnl GD_PERL_CHECK_MODULE dnl --------------------------------------------------------------- -dnl Define HAVE_<MODULE_NAME> if the specified encoding exists +dnl Define HAVE_<MODULE_NAME> if the specified module exists AC_DEFUN([GD_PERL_CHECK_MODULE], [ AC_MSG_CHECKING([for $1]) @@ -180,5 +191,6 @@ AC_SUBST([perlmandir]) AC_MSG_RESULT([$perlmandir]) + GD_PERL_MAN3EXT fi ]) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ket...@us...> - 2012-05-23 18:42:10
|
Revision: 711 http://getdata.svn.sourceforge.net/getdata/?rev=711&view=rev Author: ketiltrout Date: 2012-05-23 18:42:04 +0000 (Wed, 23 May 2012) Log Message: ----------- Disabled on Cygwin. Modified Paths: -------------- trunk/getdata/test/error_verbose.c trunk/getdata/test/error_verbose_prefix.c Modified: trunk/getdata/test/error_verbose.c =================================================================== --- trunk/getdata/test/error_verbose.c 2012-05-23 17:40:23 UTC (rev 710) +++ trunk/getdata/test/error_verbose.c 2012-05-23 18:42:04 UTC (rev 711) @@ -31,7 +31,7 @@ int main(void) { -#if !defined HAVE_MKFIFO || !defined HAVE_WORKING_FORK +#if !defined HAVE_MKFIFO || !defined HAVE_WORKING_FORK || defined __CYGWIN__ return 77; /* skip */ #else const char *fifo = "./dirfile"; Modified: trunk/getdata/test/error_verbose_prefix.c =================================================================== --- trunk/getdata/test/error_verbose_prefix.c 2012-05-23 17:40:23 UTC (rev 710) +++ trunk/getdata/test/error_verbose_prefix.c 2012-05-23 18:42:04 UTC (rev 711) @@ -31,7 +31,7 @@ int main(void) { -#if !defined HAVE_MKFIFO || !defined HAVE_WORKING_FORK +#if !defined HAVE_MKFIFO || !defined HAVE_WORKING_FORK || defined __CYGWIN__ return 77; /* skip */ #else const char *filedir = "dirfile"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |