public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Arrigo Marchiori <ardovm@yahoo.it>
To: cygwin@cygwin.com
Subject: Re: compiling issue
Date: Sat, 21 Jan 2023 08:47:56 +0100	[thread overview]
Message-ID: <Y8uYrKpRtDcChB1D@nuvolo> (raw)
In-Reply-To: <034c01d92d57$fc35f6e0$f4a1e4a0$@icloud.com>

[-- Attachment #1: Type: text/plain, Size: 1857 bytes --]

Hello,

On Fri, Jan 20, 2023 at 09:19:49PM -0800, Nathan via Cygwin wrote:

> The file here for a game I wanted to use is
> http://www.ifarchive.org/if-archive/games/source/Adventure2.5.tar.gz and it
> all compiled but one file getting the error is init.c  as follows: 
> 
> gcc -O  -c init.c
> 
> init.c:167:1: warning: return type defaults to 'int' [-Wimplicit-int]
>   167 | initialise() {
>       | ^~~~~~~~~~
> 
> init.c: In function 'initialise':
> init.c:169:13: warning: implicit declaration of function 'quick_init'
> [-Wimplicit-function-declaration]
>   169 |         if(!quick_init()){raw_init(); report(); quick_save();}
>       |             ^~~~~~~~~~
> 
> init.c:169:27: warning: implicit declaration of function 'raw_init'
> [-Wimplicit-function-declaration]
>   169 |         if(!quick_init()){raw_init(); report(); quick_save();}
>       |                           ^~~~~~~~
>

[...]

> init.c: At top level:
> init.c:173:8: warning: return type defaults to 'int' [-Wimplicit-int]
>   173 | static raw_init() {
>       |        ^~~~~~~~
> 
> init.c:173:8: error: static declaration of 'raw_init' follows non-static
> declaration
> init.c:169:27: note: previous implicit declaration of 'raw_init' with type
> 'int()'
>   169 |         if(!quick_init()){raw_init(); report(); quick_save();}
>       |                           ^~~~~~~~

[...]

> so any tips or suggestions to fix this would be appreciated.

I guess that this code was written to work older compilers, that
allowed different (looser) constructs.

The problem is not Cygwin, but rather the compiler installed with
Cygwin.

For this reason, what follows is off-topic here.

The attached patch should allow compilation with today's compilers.
Copy the file in the same directory as the sources and run:

 $ patch < adventure.patch

I hope this helps.

Best regards,
-- 
Arrigo

[-- Attachment #2: adventure.patch --]
[-- Type: text/x-diff, Size: 1826 bytes --]

--- init.c.orig	1996-01-29 23:21:02.000000000 +0100
+++ init.c	2023-01-21 08:35:20.788823913 +0100
@@ -164,13 +164,19 @@
  *	%B = VARIABLE NUMBER OF BLANKS
  *	%! = THE ENTIRE MESSAGE SHOULD BE SUPPRESSED */
 
-initialise() {
+static int quick_init();
+static int raw_init();
+static int finish_init();
+static void report();
+static int quick_save();
+
+void initialise() {
 	printf("Initialising...\n");
 	if(!quick_init()){raw_init(); report(); quick_save();}
 	finish_init();
 }
 
-static raw_init() {
+static int raw_init() {
 	printf("Couldn't find adventure.data, using adventure.text...\n");
 
 /*  CLEAR OUT THE VARIOUS TEXT-POINTER ARRAYS.  ALL TEXT IS STORED IN ARRAY
@@ -366,7 +372,7 @@
  *  CORRECT LINK TO USE.)  ABB IS ZEROED; IT CONTROLS WHETHER THE ABBREVIATED
  *  DESCRIPTION IS PRINTED.  COUNTS MOD 5 UNLESS "LOOK" IS USED. */
 
-static finish_init() {
+static int finish_init() {
 	/* 1101 */ for (I=1; I<=100; I++) {
 	PLACE[I]=0;
 	PROP[I]=0;
@@ -590,7 +596,7 @@
 
 /*  REPORT ON AMOUNT OF ARRAYS ACTUALLY USED, TO PERMIT REDUCTIONS. */
 
-static report() {
+static void report() {
 	/* 1998 */ for (K=1; K<=LOCSIZ; K++) {
 	KK=LOCSIZ+1-K;
 	if(LTEXT[KK] != 0) goto L1997;
@@ -631,8 +637,9 @@
 
 static void quick_item(long*);
 static void quick_array(long*, long);
+static int quick_io();
 
-static quick_init() {
+static int quick_init() {
 #ifdef AMIGA
 	f = fopen("ram:adventure.data", READ_MODE);
 #else
@@ -652,7 +659,7 @@
 	return(init_cksum == 0);
 }
 
-static quick_save() {
+static int quick_save() {
 	printf("Writing adventure.data...\n");
 	f = fopen("adventure.data",WRITE_MODE);
 	if(f == NULL){printf("Can't open file!\n"); return(0);}
@@ -664,7 +671,7 @@
 	return(0);
 }
 
-static quick_io() {
+static int quick_io() {
 	quick_item(&LINUSE);
 	quick_item(&TRVS);
 	quick_item(&CLSSES);

  reply	other threads:[~2023-01-21  7:48 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-21  5:19 internetking425
2023-01-21  7:47 ` Arrigo Marchiori [this message]
2023-01-21 13:07   ` Jon Turney
2023-01-21 15:35 ` Thomas Wolff

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y8uYrKpRtDcChB1D@nuvolo \
    --to=ardovm@yahoo.it \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).