aboutsummaryrefslogtreecommitdiff
path: root/databases/dbf
diff options
context:
space:
mode:
authorMikhail Teterin <mi@FreeBSD.org>2003-08-20 20:41:15 +0000
committerMikhail Teterin <mi@FreeBSD.org>2003-08-20 20:41:15 +0000
commitbd0e1ed385a0b367f3e775e9b4cb855a2410ac4e (patch)
tree9b8cc8439c0ce68a82bb1164b61dd718e5410c54 /databases/dbf
parentd8fcec879238ca0866c8801388e387617058233b (diff)
downloadports-bd0e1ed385a0b367f3e775e9b4cb855a2410ac4e.tar.gz
ports-bd0e1ed385a0b367f3e775e9b4cb855a2410ac4e.zip
Update to the patch to the newer version submitted to SF. No PORTREVISION
bump, since the last commit was only a little while ago.
Notes
Notes: svn path=/head/; revision=87403
Diffstat (limited to 'databases/dbf')
-rw-r--r--databases/dbf/files/patch-pending221
1 files changed, 185 insertions, 36 deletions
diff --git a/databases/dbf/files/patch-pending b/databases/dbf/files/patch-pending
index 13b26625c6a2..d11f8b6387c9 100644
--- a/databases/dbf/files/patch-pending
+++ b/databases/dbf/files/patch-pending
@@ -4,7 +4,7 @@ Hopefully, their next release will include these hunks.
-mi
--- an_string.c Thu May 8 14:53:15 2003
-+++ an_string.c Wed Aug 20 14:57:14 2003
++++ an_string.c Wed Aug 20 15:58:35 2003
@@ -17,19 +17,28 @@
************************************************************************************/
@@ -71,7 +71,7 @@ Hopefully, their next release will include these hunks.
{
while(*src != '\0') {
--- an_string.h Thu May 8 14:53:15 2003
-+++ an_string.h Wed Aug 20 14:20:02 2003
++++ an_string.h Wed Aug 20 15:58:35 2003
@@ -24,7 +24,7 @@
#include <string.h>
@@ -84,7 +84,7 @@ Hopefully, their next release will include these hunks.
#endif
--- codepages.c Thu May 8 14:53:15 2003
-+++ codepages.c Wed Aug 20 14:13:50 2003
++++ codepages.c Wed Aug 20 15:58:35 2003
@@ -24,117 +24,117 @@
void cp850convert (unsigned char *src)
{
@@ -92,8 +92,8 @@ Hopefully, their next release will include these hunks.
- for(i=0; i < strlen(src); i++) {
- switch(*(src+i)) {
+
-+ while (*src) {
-+ switch(*src++) {
++ for (;*src; src++) {
++ switch(*src) {
case 0xE4:
- *(src+i) = (unsigned char)228; /*auml (GER)*/
+ *src = (unsigned char)228; /*auml (GER)*/
@@ -250,8 +250,8 @@ Hopefully, their next release will include these hunks.
- for(i=0; i < strlen(src); i++) {
- switch(*(src+i)) {
+
-+ while (*src) {
-+ switch(*src++) {
++ for (; *src; src++) {
++ switch(*src) {
case 0x84:
- *(src+i) = (unsigned char)228; /*auml (GER)*/
+ *src = (unsigned char)228; /*auml (GER)*/
@@ -402,7 +402,7 @@ Hopefully, their next release will include these hunks.
break;
}
--- csv.c Thu May 8 14:53:15 2003
-+++ csv.c Wed Aug 20 15:10:55 2003
++++ csv.c Wed Aug 20 15:58:35 2003
@@ -18,24 +18,20 @@
/* writeCSVHeader */
/* creates the CSV Header with the information provided by DB_FIELD */
@@ -497,7 +497,7 @@ Hopefully, their next release will include these hunks.
}
return 0;
--- csv.h Thu May 8 14:53:15 2003
-+++ csv.h Wed Aug 20 14:18:02 2003
++++ csv.h Wed Aug 20 15:58:35 2003
@@ -22,21 +22,19 @@
#include "tables.h"
#include "an_string.h"
@@ -532,15 +532,21 @@ Hopefully, their next release will include these hunks.
header_length);
#endif
--- dbf.c Thu May 8 14:53:15 2003
-+++ dbf.c Wed Aug 20 14:25:27 2003
-@@ -99,5 +99,5 @@
++++ dbf.c Wed Aug 20 16:20:37 2003
+@@ -41,4 +41,5 @@
+ ************************************************************************************/
+
++#include <assert.h>
+ #include "dbf.h"
+
+@@ -99,5 +100,5 @@
{
if ((read( fh, (char *)db, sizeof(struct DB_HEADER))) == -1 ) {
- printf("Error reading file %s.\n", file);
+ perror(file);
exit(1);
}
-@@ -114,9 +114,9 @@
+@@ -114,9 +115,9 @@
{
if((header[i] = (struct DB_FIELD *)malloc(sizeof(struct DB_FIELD))) == NULL) {
- printf("Fatal error: Cannot malloc.\n");
@@ -552,18 +558,20 @@ Hopefully, their next release will include these hunks.
+ perror(file);
exit(1);
}
-@@ -205,9 +205,9 @@
+@@ -205,10 +206,9 @@
{
int dbfhandle, handle;
- int header_length, i;
+ int header_length, record_length, i;
char *filename;
int ppc_override; // Big Endian Check Override
- int type;
+- int type;
- char *foo, *p;
+- int k;
++ enum OUTPUT type = SCREEN_OUTPUT;
+ unsigned char *foo, *p;
- int k;
ppc_override = 0;
+
@@ -218,5 +218,5 @@
if (argc < 2) {
@@ -580,21 +588,38 @@ Hopefully, their next release will include these hunks.
+ "Please make sure that the last argument is a valid dBASE file\n");
exit(1);
} else filename = argv[(argc-1)];
-@@ -259,5 +259,5 @@
- type = CSV_OUTPUT;
- } else {
+@@ -255,13 +255,15 @@
+ for(i=1; i < argc; i++) {
+ if(strcmp(argv[i],"--csv")==0) {
+- if((i+2) < argc) {
+- export_filename = argv[i+1];
+- type = CSV_OUTPUT;
+- } else {
- printf("Usage: %s --csv export_filename dbf-file, -h for help\n", *argv);
-+ fprintf(stderr, "Usage: %s --csv export_filename dbf-file, -h for help\n", *argv);
- exit(1);
- }
-@@ -272,5 +272,5 @@
+- exit(1);
+- }
++ if((i+2) < argc) {
++ export_filename = argv[i+1];
++ type = CSV_OUTPUT;
++ } else {
++ fprintf(stderr,
++ "Usage: %s --csv export_filename dbf-file, -h for help\n",
++ *argv);
++ exit(1);
++ }
+ }
+- }
++ }
+
+ /* --sql: sql export */
+@@ -272,5 +274,5 @@
type = SQL_OUTPUT;
} else {
- printf("Usage: %s --sql export_filename dbf-file, -h for help\n", *argv);
+ fprintf(stderr, "Usage: %s --sql export_filename dbf-file, -h for help\n", *argv);
exit(1);
}
-@@ -289,11 +289,11 @@
+@@ -289,11 +291,11 @@
getHeaderValues(dbfhandle,filename,header_length);
dbf_field_stat(header,header_length);
- exit(1);
@@ -610,7 +635,7 @@ Hopefully, their next release will include these hunks.
- dbf_close(dbfhandle, filename);
}
}
-@@ -304,9 +304,10 @@
+@@ -304,9 +306,10 @@
dbf_read_header(dbfhandle, filename);
header_length = rotate2b(db->header_length) / 32;
+ record_length = rotate2b(db->record_length);
@@ -623,7 +648,7 @@ Hopefully, their next release will include these hunks.
+ perror("malloc"); exit(1);
}
-@@ -319,15 +320,20 @@
+@@ -319,39 +322,43 @@
writeSQLHeader(handle,header,dbf,header_length,filename,export_filename);
break;
- default:
@@ -648,22 +673,52 @@ Hopefully, their next release will include these hunks.
+ cp850convert(p);
ASCIInumbers(p);
/* If export_filename is not set output data to screen, otherwise to export_filename */
-@@ -345,5 +351,5 @@
- } else {
- switch(type) {
+- if(!export_filename) {
+- for (i=1; i < header_length; i++)
+- {
+- dbf = header[i];
+- k = dbf->field_length;
+- printf("%11.11s: ", dbf->field_name);
+- while (k--)
+- putchar(*p++);
+- putchar('\n');
++ switch (type) {
++ case SCREEN_OUTPUT:
++ for (i=1; i < header_length; i++) {
++ dbf = header[i];
++ printf("%11.11s: %.*s", dbf->field_name,
++ dbf->field_length, p);
++ p += dbf->field_length;
+ }
+- putchar('\n');
+- } else {
+- switch(type) {
- case SQL_OUTPUT:
+- writeSQLLine(handle,header,dbf,p,header_length,filename,export_filename);
+- break;
+- default:
+- writeCSVLine(handle,p,header,dbf,header_length); //dbf and header added, must be tested
+- break;
+- }
+- } /* End of --> inner if */
++ break;
+ case SQL_OUTPUT:
- writeSQLLine(handle,header,dbf,p,header_length,filename,export_filename);
- break;
-@@ -354,4 +360,5 @@
- } /* End of --> inner if */
++ writeSQLLine(handle, header, dbf, p, header_length,
++ filename, export_filename);
++ break;
++ case CSV_OUTPUT:
++ writeCSVLine(handle, p, header, dbf, header_length);
++ break;
++ default:
++ assert(!"Unknown output type?");
++ } /* End of switch */
} /* End of --> while */
+ free(foo);
} /* End of --> if dbfhandle */
if (filename) dbf_close(dbfhandle,filename);
--- dbf.h Thu May 8 14:53:15 2003
-+++ dbf.h Wed Aug 20 13:35:54 2003
-@@ -16,18 +16,5 @@
++++ dbf.h Wed Aug 20 16:09:31 2003
+@@ -16,25 +16,16 @@
#include <string.h>
#include <limits.h>
-#ifdef __unix__
@@ -683,8 +738,102 @@ Hopefully, their next release will include these hunks.
+
/*#define VERSION1 0
#define VERSION2 5
+ #define VERSION3 0
+ #define VERSION4 1*/
+-#define SQL_OUTPUT 1
+-#define CSV_OUTPUT 2
+-#define INFO_OUTPUT 3
++enum OUTPUT {
++ SCREEN_OUTPUT,
++ SQL_OUTPUT,
++ CSV_OUTPUT,
++ INFO_OUTPUT
++};
++
+ /*#define DBF_VERSION 0x07
+ #define DBF_MEMO3 0x80
+--- iodbf.c Thu May 8 14:53:15 2003
++++ iodbf.c Wed Aug 20 16:25:13 2003
+@@ -18,5 +18,6 @@
+ * open the the current dbf file
+ * dbfhandle is defined as a global variable */
+-int dbf_open (char *file)
++int
++dbf_open(const char *file)
+ {
+ int dbfhandle;
+@@ -32,21 +33,25 @@
+ * close the current open dbf file
+ * incl. error handling routines */
+-int dbf_close (int fh, char *file)
++int
++dbf_close(int fh, const char *file)
+ {
+- if((close(fh)) == -1)
+- printf("Cannot close %s.\n", file);
+- else
+- printf("File %s was closed successfully.\n", file);
+-
+- return 1;
++ if((close(fh)) == -1) {
++ fputs("Can not close ", stderr);
++ perror(file);
++ return 1;
++ }
++
++ fprintf(stderr, "File %s was closed successfully.\n", file);
++ return 0;
+ }
+
+ /* * * * EXPORT_OPEN
+ * open the export file for writing */
+-int export_open (char *file)
++int
++export_open(const char *file)
+ {
+ int handle;
+ if((handle = open(file, O_RDWR|O_CREAT,0644|O_TRUNC)) == -1) {
+- printf("Cannot create/open file %s.\n", file);
++ perror(file);
+ exit(1);
+ }
+@@ -56,10 +61,13 @@
+ /* * * * EXPORT_CLOSE
+ * closes the opened file and stops the write-process */
+-int export_close (int fh, char *file)
++int
++export_close(int fh, const char *file)
+ {
+- if((close(fh)) == -1)
+- printf("Cannot close File %s.\n",file);
+- else
+- printf("Export file %s was closed successfully.\n",file);
+- return 1;
++ if((close(fh)) == -1) {
++ fputs("Cannot close File ", stderr);
++ perror(file);
++ return 1;
++ }
++ printf("Export file %s was closed successfully.\n",file);
++ return 0;
+ }
+--- iodbf.h Thu May 8 14:53:15 2003
++++ iodbf.h Wed Aug 20 16:25:38 2003
+@@ -34,8 +34,8 @@
+ #endif
+
+-int dbf_open (char *file);
+-int dbf_close (int fh, char *file);
+-int export_open (char *file);
+-int export_close (int fh, char *file);
++int dbf_open (const char *file);
++int dbf_close (int fh, const char *file);
++int export_open (const char *file);
++int export_close (int fh, const char *file);
+
+ #endif
--- sql.c Sat May 24 14:38:46 2003
-+++ sql.c Wed Aug 20 14:19:09 2003
++++ sql.c Wed Aug 20 15:58:35 2003
@@ -24,32 +24,35 @@
/* writeSQLHeader */
/* creates the SQL Header with the information provided by DB_FIELD */
@@ -875,7 +1024,7 @@ Hopefully, their next release will include these hunks.
+ return 0;
}
--- sql.h Thu May 8 14:53:15 2003
-+++ sql.h Wed Aug 20 14:17:46 2003
++++ sql.h Wed Aug 20 15:58:35 2003
@@ -42,7 +42,7 @@
int field_type[MAX_FIELDS];