Fix 2013/cable3 for modern systems
The code declares localtime() to be a different type than what time.h has which was included with macOS and thus it caused a compilation error. Instead use #undef localtime (I tried to remove the prototype and let time.h do its thing but this caused a segfault and since this works I opted for it .. for now at least). It also did not link in any system because it uses SDL functions that were removed from SDL2 so sdl-config has to be used instead of sdl2-config.
This commit is contained in:
1 parent
190b7351d7
commit
9264bcf0d1
3 files changed
+11
-3
No files matched your search
@@ -107,7 +107,7 @@ CDEFINE= -DKB='(kb=read(H(8),r+1190,1))&&H(7)'
|
|||||||
#CINCLUDE= -include stdio.h
|
#CINCLUDE= -include stdio.h
|
||||||
#CINCLUDE= -include stdlib.h -include stdio.h
|
#CINCLUDE= -include stdlib.h -include stdio.h
|
||||||
#CINCLUDE= -I ${X11_INCDIR} -I ${X11_INCDIR}/X11
|
#CINCLUDE= -I ${X11_INCDIR} -I ${X11_INCDIR}/X11
|
||||||
CINCLUDE= `${SDL2_CONFIG} --cflags`
|
CINCLUDE= `${SDL1_CONFIG} --cflags`
|
||||||
|
|
||||||
# Optimization
|
# Optimization
|
||||||
#
|
#
|
||||||
@@ -131,7 +131,7 @@ CFLAGS= ${CSTD} ${CWARN} ${ARCH} ${CDEFINE} ${CINCLUDE} ${OPT}
|
|||||||
#LIBS=
|
#LIBS=
|
||||||
#LIBS= -lm
|
#LIBS= -lm
|
||||||
#LIBS= -L ${X11_LIBDIR} -lX11
|
#LIBS= -L ${X11_LIBDIR} -lX11
|
||||||
LIBS= `${SDL2_CONFIG} --libs`
|
LIBS= `${SDL1_CONFIG} --libs`
|
||||||
|
|
||||||
# C compiler to use
|
# C compiler to use
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -15,6 +15,14 @@ make
|
|||||||
./cable3 bios-image-file floppy-image-file [harddisk-image-file]
|
./cable3 bios-image-file floppy-image-file [harddisk-image-file]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
[Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) fixed this to compile
|
||||||
|
with modern systems. The problem is that `localtime()` is used differently and
|
||||||
|
`time.h` being included there was a conflicting function type. This appeared to
|
||||||
|
be a problem with macOS. The other problem is that this entry uses SDL functions
|
||||||
|
that were removed from SDL2 so the Makefile has to use `sdl-config` and not
|
||||||
|
`sdl2-config`. Thank you Cody for your assistance!
|
||||||
|
|
||||||
|
|
||||||
### Try:
|
### Try:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#include "SDL.h"
|
#include "SDL.h"
|
||||||
|
#undef localtime
|
||||||
#define $ for(O=9
|
#define $ for(O=9
|
||||||
#define CX M+=(T%3+2*!(!T*t-6))
|
#define CX M+=(T%3+2*!(!T*t-6))
|
||||||
#define x ,A=4*!T,O=t,W=h=T<3?u(Q?p:D(A+3),D(A),D(A+1)[i]+D(A+2)*g+):K(t),U=V=K(a),o?U=h,W=V:V,
|
#define x ,A=4*!T,O=t,W=h=T<3?u(Q?p:D(A+3),D(A),D(A+1)[i]+D(A+2)*g+):K(t),U=V=K(a),o?U=h,W=V:V,
|
||||||
|
|||||||
Reference in new issue
Block a user