Varie correzioni, completata revisione capitolo sull'I/O su file
[gapil.git] / sources / BarCode.c
index 4164acf1b2392782a0d74808fefb5ea1d310057f..872eacedf6fcc246126b9288029b25dd38dc59af 100644 (file)
  * http://localhost/cgi-bin/barcode?string
  * where string is the code to be converted
  *
- * $Id: BarCode.c,v 1.5 2002/06/28 21:07:21 piccardi Exp $ 
- *
  ****************************************************************/
 /* 
  * Include needed headers
  */
-#include <sys/types.h>   /* predefined types */
-#include <sys/stat.h>    /* stat deinitiions */
-#include <unistd.h>      /* include unix standard library */
-/* */
-#include <stdio.h>      /* include standard I/O library */
-#include <stdlib.h>     /* include standard library */
-#include <string.h>     /* include string library */
-#include <wait.h>       /* include wait call */
-#include <fcntl.h>
-#include <assert.h>
-#include <time.h>
+#include <sys/types.h>   /* primitive system data types */
+#include <sys/stat.h>    /* file characteristics constants and functions */
+#include <unistd.h>      /* unix standard library */
+#include <stdio.h>      /* standard I/O library */
+#include <stdlib.h>     /* C standard library */
+#include <string.h>     /* C strings library */
+#include <wait.h>       /* process termination constants and functions */
+#include <fcntl.h>      /* file control functions */
+#include <assert.h>     /* C assertion functions */
+#include <time.h>        /* date and time constants, types and functions */
 
 #include"macros.h"
-void WriteMess(char *mess);
-
 
 /* Program begin */
 int main(int argc, char *argv[], char *envp[])
@@ -67,7 +62,7 @@ int main(int argc, char *argv[], char *envp[])
     }; 
     char content[]="Content-type: image/png\n\n";
     int i;
-    /* write mime-type to stout */ 
+    /* write mime-type to stdout */ 
     write(STDOUT_FILENO, content, strlen(content));
     /* execute chain of command */
     for (i=0; i<4; i++) {
@@ -78,18 +73,10 @@ int main(int argc, char *argv[], char *envp[])
     pipein = popen("barcode", "w");
     /* send barcode string to barcode program */
     write(fileno(pipein), argv[1], strlen(argv[1]));
+    pclose(pipein);
     /* close all pipes (in reverse order) */
     for (i=4; i==0; i--) {
        pclose((pipe[i]));
     }
     exit(0);
 }
-/*
- * Routine to produce an HTML error message on output 
- */
-void WriteMess(char *mess)
-{
-    printf("Content-type: text/html\n\n");
-    perror(mess);
-    printf("<br>\n");
-}