reginaj 0 Newbie Poster

Hello Colleagues,

I have not done C programming in years. I need some help in debugging a C program written by someone who has left our team. I have marked the lines having the error with "-->"

Your kind assistance is very much appreciated. Here's the code:

  1 #include <stdio.h>
  2 #include <stdlib.h>
  3 #include <fcntl.h>
  4 static char *StdKey     = "Transformation SaaS eNcRyPtIoN";
  5 static char *SourceStdDir       = "./";
  6 static char *TargetStdDir       = "/filer/";
  7 int
  8 main(argc,argv)
  9 int     argc;
 10 char    **argv;
 11 {
 12 char    *val;
 13 char    *buf;
 14 int     buflen = 2048;
 15 int     keylen;
 16 char    *SourceDir;
 17 char    *TargetDir;
 18 char    *InpFile;
 19 char    *OutFile;
 20 int     len;
 21 int     Inp;
 22 int     Out;
 23 int     In;
 24 char    *bufpos;
 25 char    *keypos;
 26 int     bufcnt;
 27 int     keycnt;
 28
 29         argc--;
 30         argv++;
 31
 32         val = getenv("SourceDir");
 33         if(val == (char *)NULL)
 34         {
 35                 SourceDir = SourceStdDir;
 36 #               ifdef debug
 37                         fprintf(stderr,"Using standard source directory         %s\n,SourceDir);
 38 #               endif
 39         }
 40         else
 41         {
 42                 len = strlen(val);
 43                 SourceDir = malloc((unsigned)(len + 1));
 44                 if(SourceDir == (char **)NULL)
 45                 {
 46                         fprintf(stderr,"allocation error (SourceDir)!\n"        );
 47                         exit(1);
 48                 }
 49                 else
 50                 {
 51                         strcpy(SourceDir,val);
 52 #                       ifdef debug
 53                                 fprintf(stderr,
 54                                 "Using environment SourceDir %s\n,Source        Dir);
 55 #                       endif
 56                 }
 57         }
 58
 59         val = getenv("TargetDir");
 60         if(val == (char *)NULL)
 61         {
 62                 TargetDir = TargetStdDir;
 63 #               ifdef debug
 64                         fprintf(stderr,"Using standard target directory         %s\n,TargetDir);
 65 #               endif
 66         }
 67         else
 68         {
 69                 len = strlen(val);
 70                 TargetDir = malloc((unsigned)(len + 1));
 71                 if(TargetDir == (char **)NULL)
 72                 {
 73                         fprintf(stderr,"allocation error (TargetDir)!\n"        );
 74                         exit(1);
 75                 }
 76                 else
 77                 {
 78                         strcpy(TargetDir,val);
 79 #                       ifdef debug
 80                                 fprintf(stderr,
 81                                 "Using environment target directory %s\n        ,TargetDir);
 82 #                       endif
 83                 }
 84         }
 85
 86         val = getenv("EncryptionKey");
 87         if(val == (char *)NULL)
 88         {
 89                 key = StdKey;
 90 #               ifdef debug
 91                         fprintf(stderr,"Using standard key %s\n,key);
 92 #               endif
 93         }
 94         else
 95         {
 96                 len = strlen(val);
 97                 key = malloc((unsigned)(len + 1));
 98                 if(key == (char **)NULL)
 99                 {
100                         fprintf(stderr,"allocation error (key)!\n");
101                         exit(1);
102                 }
103                 else
104                 {
105                         strcpy(key,val);
106 #                       ifdef debug
107                                 fprintf(stderr,
108                                 "Using environment encryption key %s\n,k        ey);
109 #                       endif
110                 }
111         }
112         keylen = strlen(key);
113
114         buf = malloc((buflen));
115         if(buf == (char **)NULL)
116         {
117                 fprintf(stderr,"allocation error (buffer)!\n");
118                 exit(1);
119         }
120
121         while (argc--)
122         {
123                 len = strlen(*argv) + strlen(SourceDir);
124                 InpFile = malloc((unsigned)(len + 1));
125                 if(InpFile == (char **)NULL)
126                 {
127                         fprintf(stderr,"allocation error (InpFile)!\n");
128                         exit(1);
129                 }
130                 else
131                 {
132                         strcpy(InpFile,SourceDir);
133                         strcat(InpFile,*argv);
134 #                       ifdef debug
135                                 fprintf(stderr,
136                                 "InpFile = %s\n,InpFile);
137 #                       endif
138                 }
139
140                 len = strlen(*argv) + strlen(TargetDir);
141                 OutFile = malloc((unsigned)(len + 1));
142                 if(OutFile == (char **)NULL)
143                 {
144                         fprintf(stderr,"allocation error (OutFile)!\n");
145                         exit(1);
146                 }
147                 else
148                 {
149                         strcpy(OutFile,TargetDir);
150                         strcat(OutFile,*argv);
151 #                       ifdef debug
152                                 fprintf(stderr,
153                                 "OutFile = %s\n,OutFile);
154 #                       endif
155                 }
156
157    -->          Inp = open(InpFile;O_RDONLY);
158                 if(Inp == -1)
159                 {
160                         fprintf(stderr,"file open error (InpFile)!\n");
161                         exit(1);
162                 }
163                 Out = open(OutFile,O_WRONLY | O_CREAT | O_TRUNC);
164                 if(Out == -1)
165                 {
166                         fprintf(stderr,"file open error (OutFile)!\n");
167                         exit(1);
168                 }
169
170                 keycnt=0;
171                 keypos=key;
172                 fprintf(stdout,
173                         "Processing InpFile = %s ",InpFile);
174
175                 while (In = read(Inp,buf,buflen) > -1)
176                 {
177                         bufcnt=0;
178                         bufpos=buf;
179
180                         while (bufcnt < In)
181                         {
182  -->                            bufpos++ ^= keypos++;
183                                 bufcnt++;
184                                 keycnt++;
185                                 if (keycnt = keylen)
186                                 {
187                                         keypos=key;
188                                         keycnt = 0;
189                                 }
190                         }
191  -->                    if (write(Out,buf;In) < In)
192                         {
193                                 fprintf(stderr,"file write error (OutFil        e)!\n");
194                                 exit(1);
195                         }
196                         fprintf(stdout,
197                                 ".");
198                 }
199
200                 close(Inp);
201                 close(Out);
202                 free(InpFile);
203                 free(OutFile);
204                 fprintf(stdout,
205                         "Processing completed to OutFile = %s\n",OutFile        );
206         }
207
208
209         return(0);
210 }
211

Here are the error messages:

pgpreplacement.c:157: error: expected â)â before â;â token
pgpreplacement.c:157: error: too few arguments to function âopenâ
pgpreplacement.c:182: error: invalid lvalue in assignment
pgpreplacement.c:191: error: expected â)â before â;â token

Yours truly,
Regina

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.