delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/01/27/20:35:12

From: noname AT noname DOT org (Stuart Hall)
Newsgroups: comp.os.msdos.djgpp
Subject: Problem implementing multiple moduled program
Date: Wed, 27 Jan 1999 14:00:27 GMT
Organization: Connix - The Connecticut Internet Exchange
Lines: 90
Message-ID: <36b41be7.2525182@news>
NNTP-Posting-Host: m5.aetna.com
Mime-Version: 1.0
X-Newsreader: Forte Agent 1.5/32.452
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Good morning.  I asked once before how to make a multiple module
program, and I got some answers but once again I am stuck.  I wish to
implement a "getsafe" function that I can include in most of my
programs - and I have attached my first attempt.

/* begin "getsafe.h" */

 char *getsafe(char *buffer, int count)

/* ---  */

Is there anything else I need in a header file?  DJGPP specific --
what do I need to do with a .h file, just save-as, or do I need to
compile it?


/* begin "main.c"  */

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "getsafe.h"

/* char result[80]; */
/* int result_num=sizeof(result);  */


int main(void)  /*  I get a "parse error before {"  */
{
 printf("Enter up to %d characters:  ",result_num-1);
 getsafe(result, result_num);
 printf("your string is %s",result);
 return 0;
}

/* -----   */

On the above program, I also tried defining result[80], and result_num
in the body of main, in the body of my getsafe() module, and leaving
it out.  Either way, the compiler would give me an error about 

I did get an error when putting #include <getsafe.h> about a file not
found, but as soon as I put it in quotes the error went away.

My errors:
In function 'getsafe'
main.c(7)  Parse error before '{'
main.c(6)  Parm types given both in parm list and separately

/*  Begin Getsafe.c module  */

#include <stdio.h>
#include <string.h>

char result[80];
int result_num=sizeof(result);

char *getsafe(char *buffer, int count)
{
 char *result = buffer, *np;
 if ((buffer==NULL) || (count <1))
   result = NULL;
 else if (count == 1)
   *result = '\0';
 else if ((result = fgets(buffer, count, stdin)) != NULL)
   if ((np = strchr(buffer, '\n')))
	 *np = '\0';
 return result;
}

/*  -----  compiles without errors --- */

Any hints?  I am sure my program is riddled with errors, but after
reading a few tutorials I can't quite figure it out.  It seems like I
am missing a getsafe function prototype from my getsafe.h header file
or from getsafe.c, but none of my examples had it.  Hmmmm.

Thanks in advance for your help.  BTW, when run as a singular program
I have no problem implementing my getsafe function.

Stuart Hall





----
Stuart Hall
Connecticut, USA
* return address:  f p r i n t @ i n a m e . c o m *

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019