summaryrefslogtreecommitdiff
path: root/databases/dbf/files/patch-dbf.c
blob: c79a8ed3f854eca08a25f3a0e795bfb2a41108d3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
--- dbf.c	Fri Apr 16 08:17:22 2004
+++ dbf.c	Fri Apr 16 15:31:29 2004
@@ -245,11 +245,11 @@
 	int		 dbfhandle;
 	FILE		*output = NULL;
 	int		 header_length, record_length, i;
-	const char	*filename = NULL, *export_filename = NULL;
+	const char	*filename, *export_filename = NULL;
 	headerMethod	 writeHeader = NULL;
 	lineMethod	 writeLine = printDBF;
 	unsigned char	*record;
-	char *flag_byte;
+	char		 flag_byte;
 
 	if (argc < 2) {
 		fprintf(stderr, "Usage: %s [option][argument] dbf-file, -h for help\n", *argv);
@@ -342,7 +342,4 @@
 	if (verbosity > 0)
 		banner();
 
-	if(export_filename && 0 == strcmp(export_filename, "-"))
-		output = stdout;
-	else
-		output = export_open(export_filename);
+	output = export_open(export_filename);
@@ -372,12 +372,7 @@
 		/* At this point we look if the following data set is deleted */
 		lseek(dbfhandle, rotate2b(db->header_length), SEEK_SET);
 		
-		if ( (flag_byte = malloc(1)) == NULL ) {
-			perror("malloc");
-			exit(1);
-		}  
-		
-		if ( -1 == read(dbfhandle, flag_byte, 1) ) {
+		if ( -1 == read(dbfhandle, &flag_byte, 1) ) {
 			perror("reading Flag Byte");
 			exit(1);
 		}
@@ -389,11 +384,11 @@
 				exit(1);
 			}
 
-			if (*flag_byte == '*' && keep_deleted == 0) {
+			if (flag_byte == '*' && keep_deleted == 0) {
 				fputc('#', output);
 			}
 
-			*flag_byte = *(record + record_length - 1);
+			flag_byte = *(record + record_length - 1);
 			
 			/* automaticly convert options */
 		  	if (convert)