-/* BarCodeOld.c
+/* BarCodePage.c
*
* Copyright (C) 2002 Simone Piccardi
*
* http://localhost/cgi-bin/barcode?string
* where string is the code to be converted
*
- * $Id: BarCodePage.c,v 1.1 2002/06/30 13:26:17 piccardi Exp $
+ * $Id: BarCodePage.c,v 1.4 2003/05/02 09:55:13 piccardi Exp $
*
****************************************************************/
/*
#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"macros.h"
void WriteMess(char *mess);
-
/* Program begin */
int main(int argc, char *argv[], char *envp[])
{
/*
* Begin
*/
- /* create two pipes to handle process communication */
+ /* create two pipes, pipein and pipeout, to handle communication */
if ( (retval = pipe(pipein)) ) {
WriteMess("input pipe creation error");
exit(0);
WriteMess("output pipe creation error");
exit(0);
}
- /* fork child to run barcode program */
- pid = fork();
- if (pid == -1) {
+ /* First fork: use child to run barcode program */
+ if ( (pid = fork()) == -1 ) {
WriteMess("child creation error");
- exit(0);
+ exit(0);
}
/* if child */
if (pid == 0) {
dup2(pipein[0], STDIN_FILENO); /* remap stdin in pipe input */
close(pipeout[0]);
dup2(pipeout[1], STDOUT_FILENO); /* remap stdout in pipe output */
- execlp("barcode", "barcode", size, NULL); //"-o", "-", NULL);
+ execlp("barcode", "barcode", size, NULL);
}
/*
* Parent write string to pipe input and close it,
write(pipein[1], argv[1], strlen(argv[1]));
close(pipein[1]);
waitpid(pid, NULL, 0);
- /* Second fork use child to run ghostscript*/
- pid = fork();
- if (pid == -1) {
+ /* Second fork: use child to run ghostscript*/
+ if ( (pid = fork()) == -1) {
WriteMess("child creation error");
exit(0);
}