mirror of
https://github.com/adtools/clib2.git
synced 2025-12-08 14:59:05 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5a5063ff71 |
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# $Id: GNUmakefile.68k,v 1.14 2004-11-13 12:55:39 obarthel Exp $
|
# $Id: GNUmakefile.68k,v 1.11 2004-10-07 09:20:44 obarthel Exp $
|
||||||
#
|
#
|
||||||
# :ts=8
|
# :ts=8
|
||||||
#
|
#
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
CC = gcc
|
CC = gcc
|
||||||
AR = ar -q
|
AR = ar -q
|
||||||
RANLIB = ranlib
|
RANLIB = ranlib
|
||||||
COPY = copy clone buf=0
|
COPY = copy clone
|
||||||
DELETE = delete all quiet
|
DELETE = delete all quiet
|
||||||
MAKEDIR = makedir
|
MAKEDIR = makedir
|
||||||
MAKE = make -f GNUmakefile.68k
|
MAKE = make -f GNUmakefile.68k
|
||||||
@@ -487,6 +487,7 @@ MATH_LIB = \
|
|||||||
stdio_vasprintf.o \
|
stdio_vasprintf.o \
|
||||||
stdio_vfprintf.o \
|
stdio_vfprintf.o \
|
||||||
stdio_vfscanf.o \
|
stdio_vfscanf.o \
|
||||||
|
stdio_vfscanf.o \
|
||||||
stdio_vprintf.o \
|
stdio_vprintf.o \
|
||||||
stdio_vsnprintf.o \
|
stdio_vsnprintf.o \
|
||||||
stdio_vsprintf.o \
|
stdio_vsprintf.o \
|
||||||
@@ -687,6 +688,7 @@ LIBS_68K := $(LIBC_OBJS)/libc.a $(LIBSTACK_OBJS)/libstack.a $(LIBUNIX_OBJS)/libu
|
|||||||
$(LIBNET_OBJS)/libnet.a $(LIBDEBUG_OBJS)/libdebug.a $(LIBAMIGA_OBJS)/libamiga.a \
|
$(LIBNET_OBJS)/libnet.a $(LIBDEBUG_OBJS)/libdebug.a $(LIBAMIGA_OBJS)/libamiga.a \
|
||||||
$(LIBM_OBJS)/libm.a
|
$(LIBM_OBJS)/libm.a
|
||||||
LIBS_020 := $(LIBM881_OBJS)/libm881.a $(LIBS_68K)
|
LIBS_020 := $(LIBM881_OBJS)/libm881.a $(LIBS_68K)
|
||||||
|
#LIBS_020 := $(LIBS_68K)
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
@@ -712,8 +714,8 @@ all: \
|
|||||||
lib/mainnb.o \
|
lib/mainnb.o \
|
||||||
lib/mainb.o \
|
lib/mainb.o \
|
||||||
lib/mainb32.o \
|
lib/mainb32.o \
|
||||||
lib/libm020/libm.a \
|
|
||||||
lib/libm.a \
|
lib/libm.a \
|
||||||
|
lib/libm020/libm.a \
|
||||||
lib/libb/libm.a \
|
lib/libb/libm.a \
|
||||||
lib/libb/libm020/libm.a \
|
lib/libb/libm020/libm.a \
|
||||||
lib/libb32/libm020/libm.a
|
lib/libb32/libm020/libm.a
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# $Id: GNUmakefile.os4,v 1.13 2004-11-13 12:55:39 obarthel Exp $
|
# $Id: GNUmakefile.os4,v 1.12 2004-10-07 11:03:46 tfrieden Exp $
|
||||||
#
|
#
|
||||||
# :ts=8
|
# :ts=8
|
||||||
#
|
#
|
||||||
@@ -35,6 +35,7 @@ ifeq (,$(TYPE))
|
|||||||
LIBC_OBJS = libc_objs
|
LIBC_OBJS = libc_objs
|
||||||
LIBUNIX_OBJS = libunix_objs
|
LIBUNIX_OBJS = libunix_objs
|
||||||
LIBM_OBJS = libm_objs
|
LIBM_OBJS = libm_objs
|
||||||
|
LIBSTACK_OBJS = libstack_objs
|
||||||
LIBNET_OBJS = libnet_objs
|
LIBNET_OBJS = libnet_objs
|
||||||
LIBDEBUG_OBJS = libdebug_objs
|
LIBDEBUG_OBJS = libdebug_objs
|
||||||
LIBAMIGA_OBJS = libamiga_objs
|
LIBAMIGA_OBJS = libamiga_objs
|
||||||
@@ -42,6 +43,7 @@ else
|
|||||||
LIBC_OBJS = $(TYPE)/libc_objs
|
LIBC_OBJS = $(TYPE)/libc_objs
|
||||||
LIBUNIX_OBJS = $(TYPE)/libunix_objs
|
LIBUNIX_OBJS = $(TYPE)/libunix_objs
|
||||||
LIBM_OBJS = $(TYPE)/libm_objs
|
LIBM_OBJS = $(TYPE)/libm_objs
|
||||||
|
LIBSTACK_OBJS = $(TYPE)/libstack_objs
|
||||||
LIBNET_OBJS = $(TYPE)/libnet_objs
|
LIBNET_OBJS = $(TYPE)/libnet_objs
|
||||||
LIBDEBUG_OBJS = $(TYPE)/libdebug_objs
|
LIBDEBUG_OBJS = $(TYPE)/libdebug_objs
|
||||||
LIBAMIGA_OBJS = $(TYPE)/libamiga_objs
|
LIBAMIGA_OBJS = $(TYPE)/libamiga_objs
|
||||||
@@ -49,7 +51,6 @@ endif
|
|||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# General build rules for all object files and the individual libraries
|
|
||||||
%.o : %.c
|
%.o : %.c
|
||||||
@echo "Compiling $<"
|
@echo "Compiling $<"
|
||||||
@$(CC) -c $(CFLAGS) $<
|
@$(CC) -c $(CFLAGS) $<
|
||||||
@@ -66,6 +67,10 @@ $(LIBM_OBJS)/%.o : %.c
|
|||||||
@echo "Compiling $< [$(TYPE):m]"
|
@echo "Compiling $< [$(TYPE):m]"
|
||||||
@$(CC) -o $(LIBM_OBJS)/$*.o -c $(CFLAGS) $(FLOAT_TYPE) $<
|
@$(CC) -o $(LIBM_OBJS)/$*.o -c $(CFLAGS) $(FLOAT_TYPE) $<
|
||||||
|
|
||||||
|
$(LIBSTACK_OBJS)/%.o : %.c
|
||||||
|
@echo "Compiling $< [$(TYPE):stack]"
|
||||||
|
@$(CC) -o $(LIBSTACK_OBJS)/$*.o -c $(CFLAGS) $<
|
||||||
|
|
||||||
$(LIBNET_OBJS)/%.o : %.c
|
$(LIBNET_OBJS)/%.o : %.c
|
||||||
@echo "Compiling $< [$(TYPE):net]"
|
@echo "Compiling $< [$(TYPE):net]"
|
||||||
@$(CC) -o $(LIBNET_OBJS)/$*.o -c $(CFLAGS) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT $<
|
@$(CC) -o $(LIBNET_OBJS)/$*.o -c $(CFLAGS) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT $<
|
||||||
@@ -80,7 +85,6 @@ $(LIBAMIGA_OBJS)/%.o : %.c
|
|||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# Build options for the individual libraries
|
|
||||||
ifeq (small_data,$(TYPE))
|
ifeq (small_data,$(TYPE))
|
||||||
CODE_TYPE := -msdata=sysv -DSMALL_DATA
|
CODE_TYPE := -msdata=sysv -DSMALL_DATA
|
||||||
FLOAT_TYPE := -DPPC_FLOATING_POINT_SUPPORT
|
FLOAT_TYPE := -DPPC_FLOATING_POINT_SUPPORT
|
||||||
@@ -111,7 +115,6 @@ CFLAGS = $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(CODE_TYPE) $(INCLUDES)
|
|||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# All objects files which make up libc.a
|
|
||||||
C_LIB = \
|
C_LIB = \
|
||||||
c.lib_rev.o \
|
c.lib_rev.o \
|
||||||
ctype_isalnum.o \
|
ctype_isalnum.o \
|
||||||
@@ -131,9 +134,9 @@ C_LIB = \
|
|||||||
ctype_table.o \
|
ctype_table.o \
|
||||||
dirent_closedir.o \
|
dirent_closedir.o \
|
||||||
dirent_data.o \
|
dirent_data.o \
|
||||||
dirent_rewinddir.o \
|
|
||||||
dirent_opendir.o \
|
dirent_opendir.o \
|
||||||
dirent_readdir.o \
|
dirent_readdir.o \
|
||||||
|
dirent_rewinddir.o \
|
||||||
errno_data.o \
|
errno_data.o \
|
||||||
fcntl_close.o \
|
fcntl_close.o \
|
||||||
fcntl_creat.o \
|
fcntl_creat.o \
|
||||||
@@ -252,36 +255,39 @@ C_LIB = \
|
|||||||
stdlib_atol.o \
|
stdlib_atol.o \
|
||||||
stdlib_bsearch.o \
|
stdlib_bsearch.o \
|
||||||
stdlib_calloc.o \
|
stdlib_calloc.o \
|
||||||
stdlib_checkdetach.o \
|
|
||||||
stdlib_constructor.o \
|
|
||||||
stdlib_constructor_begin.o \
|
|
||||||
stdlib_constructor_end.o \
|
|
||||||
stdlib_data.o \
|
stdlib_data.o \
|
||||||
stdlib_default_pool_size.o \
|
stdlib_default_pool_size.o \
|
||||||
stdlib_default_puddle_size.o \
|
stdlib_default_puddle_size.o \
|
||||||
stdlib_destructor.o \
|
stdlib_destructor.o \
|
||||||
stdlib_detach.o \
|
|
||||||
stdlib_disablerequesters.o \
|
stdlib_disablerequesters.o \
|
||||||
stdlib_div.o \
|
stdlib_div.o \
|
||||||
|
stdlib_modsi3.o \
|
||||||
stdlib_divsi3.o \
|
stdlib_divsi3.o \
|
||||||
stdlib_divsi4.o \
|
stdlib_divsi4.o \
|
||||||
stdlib_dosbase.o \
|
stdlib_umodsi3.o \
|
||||||
|
stdlib_udivsi3.o \
|
||||||
|
stdlib_udivsi4.o \
|
||||||
stdlib_exit.o \
|
stdlib_exit.o \
|
||||||
stdlib_free.o \
|
stdlib_free.o \
|
||||||
stdlib_getdefstacksize.o \
|
|
||||||
stdlib_getenv.o \
|
stdlib_getenv.o \
|
||||||
stdlib_getsp.o \
|
stdlib_getsp.o \
|
||||||
stdlib_init_exit.o \
|
stdlib_init_exit.o \
|
||||||
stdlib_isresident.o \
|
|
||||||
stdlib_labs.o \
|
stdlib_labs.o \
|
||||||
stdlib_ldiv.o \
|
stdlib_ldiv.o \
|
||||||
|
stdlib_getdefstacksize.o \
|
||||||
|
stdlib_stackargbytes.o \
|
||||||
|
stdlib_stack_usage.o \
|
||||||
|
stdlib_checkdetach.o \
|
||||||
|
stdlib_detach.o \
|
||||||
|
stdlib_isresident.o \
|
||||||
|
stdlib_sysbase.o \
|
||||||
|
stdlib_dosbase.o \
|
||||||
stdlib_machine_test.o \
|
stdlib_machine_test.o \
|
||||||
stdlib_malloc.o \
|
stdlib_malloc.o \
|
||||||
stdlib_math.o \
|
stdlib_math.o \
|
||||||
stdlib_mkdtemp.o \
|
stdlib_mkdtemp.o \
|
||||||
stdlib_mkstemp.o \
|
stdlib_mkstemp.o \
|
||||||
stdlib_mktemp.o \
|
stdlib_mktemp.o \
|
||||||
stdlib_modsi3.o \
|
|
||||||
stdlib_mulsi3.o \
|
stdlib_mulsi3.o \
|
||||||
stdlib_never_free.o \
|
stdlib_never_free.o \
|
||||||
stdlib_putenv.o \
|
stdlib_putenv.o \
|
||||||
@@ -295,25 +301,19 @@ C_LIB = \
|
|||||||
stdlib_showerror.o \
|
stdlib_showerror.o \
|
||||||
stdlib_socket.o \
|
stdlib_socket.o \
|
||||||
stdlib_srand.o \
|
stdlib_srand.o \
|
||||||
stdlib_stackargbytes.o \
|
|
||||||
stdlib_stackcheck.o \
|
stdlib_stackcheck.o \
|
||||||
stdlib_stackoverflow.o \
|
stdlib_stackoverflow.o \
|
||||||
stdlib_stacksafezone.o \
|
stdlib_stacksafezone.o \
|
||||||
stdlib_stacksize.o \
|
stdlib_stacksize.o \
|
||||||
stdlib_stack_usage.o \
|
|
||||||
stdlib_startup.o \
|
stdlib_startup.o \
|
||||||
stdlib_strtol.o \
|
stdlib_strtol.o \
|
||||||
stdlib_strtoul.o \
|
stdlib_strtoul.o \
|
||||||
stdlib_strtoll.o \
|
stdlib_strtoll.o \
|
||||||
stdlib_strtoull.o \
|
stdlib_strtoull.o \
|
||||||
stdlib_swapstack.o \
|
stdlib_swapstack.o \
|
||||||
stdlib_sysbase.o \
|
|
||||||
stdlib_system.o \
|
stdlib_system.o \
|
||||||
stdlib_termination_message.o \
|
stdlib_termination_message.o \
|
||||||
stdlib_threshold.o \
|
stdlib_threshold.o \
|
||||||
stdlib_udivsi3.o \
|
|
||||||
stdlib_udivsi4.o \
|
|
||||||
stdlib_umodsi3.o \
|
|
||||||
stdlib_unsetenv.o \
|
stdlib_unsetenv.o \
|
||||||
stdlib_wildcard_expand.o \
|
stdlib_wildcard_expand.o \
|
||||||
strings_strcasecmp.o \
|
strings_strcasecmp.o \
|
||||||
@@ -380,21 +380,21 @@ C_LIB = \
|
|||||||
unistd_realpath.o \
|
unistd_realpath.o \
|
||||||
unistd_sleep.o \
|
unistd_sleep.o \
|
||||||
unistd_symlink.o \
|
unistd_symlink.o \
|
||||||
unistd_timer.o \
|
|
||||||
unistd_time_delay.o \
|
unistd_time_delay.o \
|
||||||
|
unistd_timer.o \
|
||||||
unistd_truncate.o \
|
unistd_truncate.o \
|
||||||
unistd_unlink.o \
|
unistd_unlink.o \
|
||||||
unistd_usleep.o \
|
unistd_usleep.o \
|
||||||
utime_utime.o
|
utime_utime.o
|
||||||
|
|
||||||
# All objects files which make up libunix.a
|
|
||||||
UNIX_LIB = \
|
UNIX_LIB = \
|
||||||
unix.lib_rev.o \
|
unix.lib_rev.o \
|
||||||
dirent_closedir.o \
|
dirent_closedir.o \
|
||||||
dirent_data.o \
|
dirent_data.o \
|
||||||
dirent_rewinddir.o \
|
|
||||||
dirent_opendir.o \
|
dirent_opendir.o \
|
||||||
dirent_readdir.o \
|
dirent_readdir.o \
|
||||||
|
dirent_rewinddir.o \
|
||||||
fcntl_creat.o \
|
fcntl_creat.o \
|
||||||
fcntl_fcntl.o \
|
fcntl_fcntl.o \
|
||||||
fcntl_open.o \
|
fcntl_open.o \
|
||||||
@@ -408,12 +408,12 @@ UNIX_LIB = \
|
|||||||
stat_rmdir.o \
|
stat_rmdir.o \
|
||||||
stat_stat.o \
|
stat_stat.o \
|
||||||
stdio_fdhookentry.o \
|
stdio_fdhookentry.o \
|
||||||
stdio_fflush.o \
|
|
||||||
stdio_fopen.o \
|
|
||||||
stdio_fopen.o \
|
|
||||||
stdio_init_exit.o \
|
stdio_init_exit.o \
|
||||||
stdio_locksemaphorename.o \
|
stdio_locksemaphorename.o \
|
||||||
stdio_openiob.o \
|
stdio_openiob.o \
|
||||||
|
stdio_fflush.o \
|
||||||
|
stdio_fopen.o \
|
||||||
|
stdio_fopen.o \
|
||||||
stdio_popen.o \
|
stdio_popen.o \
|
||||||
stdio_remove.o \
|
stdio_remove.o \
|
||||||
stdio_rename.o \
|
stdio_rename.o \
|
||||||
@@ -443,7 +443,6 @@ UNIX_LIB = \
|
|||||||
unistd_wildcard_expand.o \
|
unistd_wildcard_expand.o \
|
||||||
utime_utime.o
|
utime_utime.o
|
||||||
|
|
||||||
# All objects files which make up libm.a
|
|
||||||
MATH_LIB = \
|
MATH_LIB = \
|
||||||
math_acos.o \
|
math_acos.o \
|
||||||
math_asin.o \
|
math_asin.o \
|
||||||
@@ -493,6 +492,7 @@ MATH_LIB = \
|
|||||||
stdio_vasprintf.o \
|
stdio_vasprintf.o \
|
||||||
stdio_vfprintf.o \
|
stdio_vfprintf.o \
|
||||||
stdio_vfscanf.o \
|
stdio_vfscanf.o \
|
||||||
|
stdio_vfscanf.o \
|
||||||
stdio_vprintf.o \
|
stdio_vprintf.o \
|
||||||
stdio_vsnprintf.o \
|
stdio_vsnprintf.o \
|
||||||
stdio_vsprintf.o \
|
stdio_vsprintf.o \
|
||||||
@@ -501,7 +501,48 @@ MATH_LIB = \
|
|||||||
stdlib_strtod.o \
|
stdlib_strtod.o \
|
||||||
time_difftime.o
|
time_difftime.o
|
||||||
|
|
||||||
# All objects files which make up libnet.a
|
MATH_LIB_IEEE = \
|
||||||
|
m.lib_rev.o \
|
||||||
|
$(MATH_LIB) \
|
||||||
|
math_adddf3.o \
|
||||||
|
math_addsf3.o \
|
||||||
|
math_divdf3.o \
|
||||||
|
math_divsf3.o \
|
||||||
|
math_eqdf2.o \
|
||||||
|
math_eqsf2.o \
|
||||||
|
math_extendsfdf2.o \
|
||||||
|
math_fixdfsi.o \
|
||||||
|
math_fixsfsi.o \
|
||||||
|
math_fixunsdfsi.o \
|
||||||
|
math_fixunssfsi.o \
|
||||||
|
math_floatsidf.o \
|
||||||
|
math_floatsisf.o \
|
||||||
|
math_gedf2.o \
|
||||||
|
math_gesf2.o \
|
||||||
|
math_gtdf2.o \
|
||||||
|
math_gtsf2.o \
|
||||||
|
math_ledf2.o \
|
||||||
|
math_lesf2.o \
|
||||||
|
math_ltdf2.o \
|
||||||
|
math_ltsf2.o \
|
||||||
|
math_muldf3.o \
|
||||||
|
math_mulsf3.o \
|
||||||
|
math_nedf2.o \
|
||||||
|
math_negdf2.o \
|
||||||
|
math_negsf2.o \
|
||||||
|
math_nesf2.o \
|
||||||
|
math_subdf3.o \
|
||||||
|
math_subsf3.o \
|
||||||
|
math_truncdfsf2.o
|
||||||
|
|
||||||
|
STACK_LIB = \
|
||||||
|
stack.lib_rev.o \
|
||||||
|
stdlib_setjmp.o \
|
||||||
|
stdlib_stackextension.o \
|
||||||
|
stdlib_stackminframe.o \
|
||||||
|
stdlib_stackoverflow.o \
|
||||||
|
stdlib_stacksafezone.o
|
||||||
|
|
||||||
NET_LIB = \
|
NET_LIB = \
|
||||||
net.lib_rev.o \
|
net.lib_rev.o \
|
||||||
socket_accept.o \
|
socket_accept.o \
|
||||||
@@ -545,7 +586,6 @@ NET_LIB = \
|
|||||||
socket_socket.o \
|
socket_socket.o \
|
||||||
socket_hook_entry.o \
|
socket_hook_entry.o \
|
||||||
socket_hstrerror.o \
|
socket_hstrerror.o \
|
||||||
stat_umask.o \
|
|
||||||
usergroup_crypt.o \
|
usergroup_crypt.o \
|
||||||
usergroup_data.o \
|
usergroup_data.o \
|
||||||
usergroup_endgrent.o \
|
usergroup_endgrent.o \
|
||||||
@@ -574,12 +614,13 @@ NET_LIB = \
|
|||||||
usergroup_setregid.o \
|
usergroup_setregid.o \
|
||||||
usergroup_setreuid.o \
|
usergroup_setreuid.o \
|
||||||
usergroup_setsid.o \
|
usergroup_setsid.o \
|
||||||
usergroup_setuid.o
|
usergroup_setuid.o \
|
||||||
|
stat_umask.o
|
||||||
|
|
||||||
# All objects files which make up libdebug.a
|
|
||||||
DEBUG_LIB = \
|
DEBUG_LIB = \
|
||||||
debug.lib_rev.o \
|
debug.lib_rev.o \
|
||||||
debug.o \
|
debug.o \
|
||||||
|
debug_level.o \
|
||||||
debug_cmpstrexec.o \
|
debug_cmpstrexec.o \
|
||||||
debug_kcmpstr.o \
|
debug_kcmpstr.o \
|
||||||
debug_kdofmt.o \
|
debug_kdofmt.o \
|
||||||
@@ -605,10 +646,8 @@ DEBUG_LIB = \
|
|||||||
debug_kputstr1.o \
|
debug_kputstr1.o \
|
||||||
debug_kputstr2.o \
|
debug_kputstr2.o \
|
||||||
debug_kvprintf1.o \
|
debug_kvprintf1.o \
|
||||||
debug_kvprintf2.o \
|
debug_kvprintf2.o
|
||||||
debug_level.o
|
|
||||||
|
|
||||||
# All objects files which make up libamiga.a
|
|
||||||
AMIGA_LIB = \
|
AMIGA_LIB = \
|
||||||
amiga.lib_rev.o \
|
amiga.lib_rev.o \
|
||||||
amiga_acrypt.o \
|
amiga_acrypt.o \
|
||||||
@@ -617,17 +656,10 @@ AMIGA_LIB = \
|
|||||||
amiga_argarrayinit.o \
|
amiga_argarrayinit.o \
|
||||||
amiga_argint.o \
|
amiga_argint.o \
|
||||||
amiga_argstring.o \
|
amiga_argstring.o \
|
||||||
amiga_beginio.o \
|
|
||||||
amiga_callhooka.o \
|
amiga_callhooka.o \
|
||||||
amiga_coercemethod.o \
|
amiga_coercemethod.o \
|
||||||
amiga_createextio.o \
|
|
||||||
amiga_createport.o \
|
|
||||||
amiga_createstdio.o \
|
amiga_createstdio.o \
|
||||||
amiga_createtask.o \
|
|
||||||
amiga_deleteextio.o \
|
|
||||||
amiga_deleteport.o \
|
|
||||||
amiga_deletestdio.o \
|
amiga_deletestdio.o \
|
||||||
amiga_deletetask.o \
|
|
||||||
amiga_domethod.o \
|
amiga_domethod.o \
|
||||||
amiga_dosupermethod.o \
|
amiga_dosupermethod.o \
|
||||||
amiga_dotimer.o \
|
amiga_dotimer.o \
|
||||||
@@ -635,7 +667,6 @@ AMIGA_LIB = \
|
|||||||
amiga_freeievents.o \
|
amiga_freeievents.o \
|
||||||
amiga_hotkey.o \
|
amiga_hotkey.o \
|
||||||
amiga_invertstring.o \
|
amiga_invertstring.o \
|
||||||
amiga_newlist.o \
|
|
||||||
amiga_rangerand.o \
|
amiga_rangerand.o \
|
||||||
amiga_remtof.o \
|
amiga_remtof.o \
|
||||||
amiga_setsuperattrs.o \
|
amiga_setsuperattrs.o \
|
||||||
@@ -644,52 +675,46 @@ AMIGA_LIB = \
|
|||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# The libraries to be built, prefixed by the respective path names
|
LIBS := $(LIBC_OBJS)/libc.a $(LIBSTACK_OBJS)/libstack.a $(LIBUNIX_OBJS)/libunix.a \
|
||||||
LIBS := \
|
$(LIBDEBUG_OBJS)/libdebug.a $(LIBAMIGA_OBJS)/libamiga.a \
|
||||||
$(LIBC_OBJS)/libc.a \
|
$(LIBM_OBJS)/libm.a $(LIBNET_OBJS)/libnet.a
|
||||||
$(LIBUNIX_OBJS)/libunix.a \
|
|
||||||
$(LIBDEBUG_OBJS)/libdebug.a \
|
|
||||||
$(LIBAMIGA_OBJS)/libamiga.a \
|
|
||||||
$(LIBM_OBJS)/libm.a \
|
|
||||||
$(LIBNET_OBJS)/libnet.a
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# The startup object files to be built
|
|
||||||
STARTUPS := bcrt0.o bcrtbegin.o bcrtend.o crt0.o crtbegin.o crtend.o mainb.o mainnb.o
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# This is the first target: it creates the necessary directories, then proceeds
|
STARTUPS := crt0.o crtbegin.o crtend.o mainnb.o
|
||||||
# to build the startup object files and finally the libraries
|
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
all: \
|
all: \
|
||||||
lib \
|
|
||||||
lib/soft-float \
|
|
||||||
lib/small-data \
|
|
||||||
small_data \
|
|
||||||
large_data \
|
|
||||||
large_data_softfloat \
|
|
||||||
lib/bcrt0.o \
|
|
||||||
lib/bcrtbegin.o \
|
|
||||||
lib/bcrtend.o \
|
|
||||||
lib/crt0.o \
|
lib/crt0.o \
|
||||||
lib/crtbegin.o \
|
lib/crtbegin.o \
|
||||||
lib/crtend.o \
|
lib/crtend.o \
|
||||||
lib/mainb.o \
|
|
||||||
lib/mainnb.o \
|
lib/mainnb.o \
|
||||||
lib/libm.a \
|
lib/libm.a \
|
||||||
lib/small-data/libm.a \
|
lib/small-data/libm.a \
|
||||||
lib/soft-float/libm.a
|
lib/bcrt0.o \
|
||||||
|
lib/bcrtbegin.o \
|
||||||
|
lib/bcrtend.o \
|
||||||
|
lib/soft-float/libc.a
|
||||||
|
|
||||||
|
copy:
|
||||||
|
$(COPY) $(foreach file,$(LIBS),large_data/$(file)) lib
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# Delete all object files and libraries
|
|
||||||
clean:
|
clean:
|
||||||
-$(DELETE) $(STARTUPS) lib small_data large_data large_data_softfloat
|
-$(DELETE) $(TYPE) $(STARTUPS) \
|
||||||
|
$(LIBC_OBJS) $(LIBUNIX_OBJS) $(LIBM_OBJS) $(LIBSTACK_OBJS) $(LIBNET_OBJS) $(LIBDEBUG_OBJS) $(LIBAMIGA_OBJS)
|
||||||
|
|
||||||
|
realclean:
|
||||||
|
$(MAKE) clean
|
||||||
|
-$(DELETE) lib small_data large_data large_data_softfloat
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# Update the version numbers bound to the individual libraries
|
|
||||||
version:
|
version:
|
||||||
cp c.lib_rev.rev amiga.lib_rev.rev
|
cp c.lib_rev.rev amiga.lib_rev.rev
|
||||||
cp c.lib_rev.rev debug.lib_rev.rev
|
cp c.lib_rev.rev debug.lib_rev.rev
|
||||||
@@ -709,74 +734,43 @@ version:
|
|||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# Tag all files with a certain version number
|
|
||||||
cvs-tag:
|
cvs-tag:
|
||||||
cvs -q tag V1_`cat c.lib_rev.rev`
|
cvs -q tag V1_`cat c.lib_rev.rev`
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# This target first creates a directory to store the object files in, then
|
kitchen_sink: $(TYPE) $(LIBS) $(STARTUPS)
|
||||||
# proceeds to build the libraries from the code. It is invoked by the
|
|
||||||
# individual library build targets below.
|
##############################################################################
|
||||||
all_libraries: $(TYPE) $(LIBS)
|
|
||||||
|
ifneq (,$(TYPE))
|
||||||
|
$(TYPE):
|
||||||
|
$(MAKEDIR) $@
|
||||||
|
endif
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# These create the required subdirectories to store object files and
|
|
||||||
# libraries in
|
|
||||||
lib:
|
lib:
|
||||||
-$(MAKEDIR) $@
|
-$(MAKEDIR) $@
|
||||||
|
|
||||||
lib/small-data: lib
|
lib/small-data:
|
||||||
-$(MAKEDIR) $@
|
-$(MAKEDIR) $@
|
||||||
|
|
||||||
lib/soft-float: lib
|
lib/soft-float:
|
||||||
-$(MAKEDIR) $@
|
-$(MAKEDIR) $@
|
||||||
|
|
||||||
small_data:
|
lib/libm.a: lib
|
||||||
-$(MAKEDIR) $@
|
$(MAKE) TYPE=large_data kitchen_sink
|
||||||
|
|
||||||
large_data:
|
|
||||||
-$(MAKEDIR) $@
|
|
||||||
|
|
||||||
large_data_softfloat:
|
|
||||||
-$(MAKEDIR) $@
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
# Dependencies for libm.a (large data variant with hardware floating point code
|
|
||||||
# support): this actually ends up building all the libraries rather than just
|
|
||||||
# libm.a
|
|
||||||
lib/libm.a: large_data large_data/libm.a
|
|
||||||
|
|
||||||
large_data/libm.a:
|
|
||||||
$(MAKE) TYPE=large_data all_libraries
|
|
||||||
$(COPY) $(foreach file,$(LIBS),large_data/$(file)) lib
|
$(COPY) $(foreach file,$(LIBS),large_data/$(file)) lib
|
||||||
|
|
||||||
##############################################################################
|
lib/small-data/libm.a: lib lib/small-data
|
||||||
|
$(MAKE) TYPE=small_data kitchen_sink
|
||||||
# Dependencies for libm.a (large data variant with software floating point code
|
|
||||||
# support): this actually ends up building all the libraries rather than just
|
|
||||||
# libm.a
|
|
||||||
lib/soft-float/libm.a: large_data_softfloat large_data_softfloat/libm.a
|
|
||||||
|
|
||||||
large_data_softfloat/libm.a:
|
|
||||||
$(MAKE) TYPE=large_data_softfloat all_libraries
|
|
||||||
$(COPY) $(foreach file,$(LIBS),large_data_softfloat/$(file)) lib/soft-float
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
# Dependencies for libm.a (small data variant): this actually ends up building all
|
|
||||||
# the libraries rather than just libm.a
|
|
||||||
lib/small-data/libm.a: small_data small_data/libm.a
|
|
||||||
|
|
||||||
small_data/libm.a:
|
|
||||||
$(MAKE) TYPE=small_data all_libraries
|
|
||||||
$(COPY) $(foreach file,$(LIBS),small_data/$(file)) lib/small-data
|
$(COPY) $(foreach file,$(LIBS),small_data/$(file)) lib/small-data
|
||||||
|
|
||||||
##############################################################################
|
lib/soft-float/libc.a: lib lib/soft-float
|
||||||
|
$(MAKE) TYPE=large_data_softfloat kitchen_sink
|
||||||
|
$(COPY) $(foreach file,$(LIBS),large_data_softfloat/$(file)) lib/soft-float
|
||||||
|
|
||||||
# Rules to build and move the startup code
|
|
||||||
lib/crt0.o : lib crt0.o
|
lib/crt0.o : lib crt0.o
|
||||||
$(COPY) crt0.o lib
|
$(COPY) crt0.o lib
|
||||||
|
|
||||||
@@ -803,35 +797,22 @@ lib/bcrtend.o : lib bcrtend.o
|
|||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# Individual dependencies which tell make to build the object files from
|
$(LIBAMIGA_OBJS)/amiga_hookentry.o : amiga_hookentry.c
|
||||||
# 'C' source files rather than the assembly language source files of the
|
|
||||||
# same name (e.g. stdlib_getsp.c instead of stdlib_getsp.asm).
|
|
||||||
$(LIBC_OBJS)/stdlib_getsp.o : stdlib_getsp.c
|
$(LIBC_OBJS)/stdlib_getsp.o : stdlib_getsp.c
|
||||||
|
|
||||||
$(LIBC_OBJS)/stdlib_swapstack.o : stdlib_swapstack.c
|
$(LIBC_OBJS)/stdlib_swapstack.o : stdlib_swapstack.c
|
||||||
|
|
||||||
$(LIBC_OBJS)/stdlib_setjmp.o : stdlib_setjmp.c
|
$(LIBC_OBJS)/stdlib_setjmp.o : stdlib_setjmp.c
|
||||||
|
|
||||||
##############################################################################
|
$(LIBSTACK_OBJS)/stdlib_setjmp.o : stdlib_setjmp.c
|
||||||
|
|
||||||
# Build rules for version information that goes into each library
|
|
||||||
$(LIBC_OBJS)/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
|
||||||
|
|
||||||
$(LIBUNIX_OBJS)/unix.lib_rev.o : unix.lib_rev.c unix.lib_rev.h
|
|
||||||
|
|
||||||
$(LIBM_OBJS)/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
|
||||||
|
|
||||||
$(LIBNET_OBJS)/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
|
||||||
|
|
||||||
$(LIBDEBUG_OBJS)/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
|
||||||
|
|
||||||
$(LIBAMIGA_OBJS)/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# Build rules for the debug version of the library which has special
|
$(LIBC_OBJS)/stdlib_stacksize.o : stdlib_stacksize.c stdlib_gcc_help.h
|
||||||
# memory allocation debugging code, controlled by the contents of
|
|
||||||
# the stdlib_mem_debug.h file.
|
$(LIBC_OBJS)/stdlib_shell_escape.o : stdlib_shell_escape.c stdlib_gcc_help.h
|
||||||
|
|
||||||
$(LIBC_OBJS)/stdlib_alloca.o : stdlib_alloca.c stdlib_mem_debug.h
|
$(LIBC_OBJS)/stdlib_alloca.o : stdlib_alloca.c stdlib_mem_debug.h
|
||||||
|
|
||||||
$(LIBC_OBJS)/stdlib_calloc.o : stdlib_calloc.c stdlib_mem_debug.h
|
$(LIBC_OBJS)/stdlib_calloc.o : stdlib_calloc.c stdlib_mem_debug.h
|
||||||
@@ -848,7 +829,6 @@ $(LIBC_OBJS)/stdlib_red_black.o : stdlib_red_black.c stdlib_mem_debug.h
|
|||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# Individual build rules for libc.a
|
|
||||||
$(LIBC_OBJS) :
|
$(LIBC_OBJS) :
|
||||||
$(MAKEDIR) $@
|
$(MAKEDIR) $@
|
||||||
|
|
||||||
@@ -859,7 +839,6 @@ $(LIBC_OBJS)/libc.a : $(LIBC_OBJS) $(foreach file,$(C_LIB),$(LIBC_OBJS)/$(file))
|
|||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# Individual build rules for libunix.a
|
|
||||||
$(LIBUNIX_OBJS) :
|
$(LIBUNIX_OBJS) :
|
||||||
$(MAKEDIR) $@
|
$(MAKEDIR) $@
|
||||||
|
|
||||||
@@ -870,18 +849,26 @@ $(LIBUNIX_OBJS)/libunix.a : $(LIBUNIX_OBJS) $(foreach file,$(UNIX_LIB),$(LIBUNIX
|
|||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# Individual build rules for libm.a
|
|
||||||
$(LIBM_OBJS) :
|
$(LIBM_OBJS) :
|
||||||
$(MAKEDIR) $@
|
$(MAKEDIR) $@
|
||||||
|
|
||||||
$(LIBM_OBJS)/libm.a : $(LIBM_OBJS) $(foreach file,$(MATH_LIB),$(LIBM_OBJS)/$(file))
|
$(LIBM_OBJS)/libm.a : $(LIBM_OBJS) $(foreach file,$(MATH_LIB_IEEE),$(LIBM_OBJS)/$(file))
|
||||||
-$(DELETE) $@
|
-$(DELETE) $@
|
||||||
@$(AR) $@ $(foreach file,$(MATH_LIB),$(LIBM_OBJS)/$(file))
|
@$(AR) $@ $(foreach file,$(MATH_LIB_IEEE),$(LIBM_OBJS)/$(file))
|
||||||
|
$(RANLIB) $@
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
$(LIBSTACK_OBJS) :
|
||||||
|
$(MAKEDIR) $@
|
||||||
|
|
||||||
|
$(LIBSTACK_OBJS)/libstack.a : $(LIBSTACK_OBJS) $(foreach file,$(STACK_LIB),$(LIBSTACK_OBJS)/$(file))
|
||||||
|
-$(DELETE) $@
|
||||||
|
@$(AR) $@ $(foreach file,$(STACK_LIB),$(LIBSTACK_OBJS)/$(file))
|
||||||
$(RANLIB) $@
|
$(RANLIB) $@
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# Individual build rules for libnet.a
|
|
||||||
$(LIBNET_OBJS) :
|
$(LIBNET_OBJS) :
|
||||||
$(MAKEDIR) $@
|
$(MAKEDIR) $@
|
||||||
|
|
||||||
@@ -892,7 +879,6 @@ $(LIBNET_OBJS)/libnet.a : $(LIBNET_OBJS) $(foreach file,$(NET_LIB),$(LIBNET_OBJS
|
|||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# Individual build rules for libdebug.a
|
|
||||||
$(LIBDEBUG_OBJS) :
|
$(LIBDEBUG_OBJS) :
|
||||||
$(MAKEDIR) $@
|
$(MAKEDIR) $@
|
||||||
|
|
||||||
@@ -903,7 +889,6 @@ $(LIBDEBUG_OBJS)/libdebug.a : $(LIBDEBUG_OBJS) $(foreach file,$(DEBUG_LIB),$(LIB
|
|||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# Individual build rules for libamiga.a
|
|
||||||
$(LIBAMIGA_OBJS) :
|
$(LIBAMIGA_OBJS) :
|
||||||
$(MAKEDIR) $@
|
$(MAKEDIR) $@
|
||||||
|
|
||||||
@@ -914,7 +899,6 @@ $(LIBAMIGA_OBJS)/libamiga.a : $(LIBAMIGA_OBJS) $(foreach file,$(AMIGA_LIB),$(LIB
|
|||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# Individual build rules for the startup code.
|
|
||||||
crt0.o : crt0.S
|
crt0.o : crt0.S
|
||||||
@echo "Assembling $<"
|
@echo "Assembling $<"
|
||||||
@$(CC) -Wa,-mregnames -o crt0.o -c crt0.S
|
@$(CC) -Wa,-mregnames -o crt0.o -c crt0.S
|
||||||
@@ -936,3 +920,13 @@ bcrtbegin.o : crtbegin.c
|
|||||||
|
|
||||||
bcrtend.o : crtend.c
|
bcrtend.o : crtend.c
|
||||||
$(CC) -o bcrtend.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -msdata=sysv -DSMALL_DATA crtend.c
|
$(CC) -o bcrtend.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -msdata=sysv -DSMALL_DATA crtend.c
|
||||||
|
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
mkid:
|
||||||
|
# mkid -v #?.(c|h|asm|i) include/#?.(c|h|asm|i) include/sys/#?.(c|h|asm|i)
|
||||||
|
mkid *.[ch] include/*.h include/sys/*.h
|
||||||
|
|
||||||
|
update:
|
||||||
|
mkid -v -u
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#define VERSION 1
|
#define VERSION 1
|
||||||
#define REVISION 183
|
#define REVISION 179
|
||||||
#define DATE "13.11.2004"
|
#define DATE "22.10.2004"
|
||||||
#define VERS "amiga.lib 1.183"
|
#define VERS "amiga.lib 1.179"
|
||||||
#define VSTRING "amiga.lib 1.183 (13.11.2004)\r\n"
|
#define VSTRING "amiga.lib 1.179 (22.10.2004)\r\n"
|
||||||
#define VERSTAG "\0$VER: amiga.lib 1.183 (13.11.2004)"
|
#define VERSTAG "\0$VER: amiga.lib 1.179 (22.10.2004)"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
183
|
179
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: amiga_beginio.c,v 1.2 2004-11-13 12:55:39 obarthel Exp $
|
* $Id: amiga_beginio.c,v 1.1.1.1 2004-07-26 16:30:17 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -37,14 +37,6 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#include "debug.h"
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#ifndef __PPC__
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#if defined(__SASC)
|
#if defined(__SASC)
|
||||||
|
|
||||||
VOID __begin_io(struct IORequest * ior);
|
VOID __begin_io(struct IORequest * ior);
|
||||||
@@ -72,6 +64,10 @@ VOID __begin_io(struct IORequest * ior);
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
|
#include "debug.h"
|
||||||
|
|
||||||
|
/****************************************************************************/
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
BeginIO(struct IORequest *ior)
|
BeginIO(struct IORequest *ior)
|
||||||
{
|
{
|
||||||
@@ -86,35 +82,3 @@ BeginIO(struct IORequest *ior)
|
|||||||
|
|
||||||
LEAVE();
|
LEAVE();
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#include <proto/exec.h>
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#if defined(BeginIO)
|
|
||||||
#undef BeginIO
|
|
||||||
#endif /* BeginIO */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
VOID
|
|
||||||
BeginIO(struct IORequest *ior)
|
|
||||||
{
|
|
||||||
ENTER();
|
|
||||||
|
|
||||||
assert( ior != NULL && ior->io_Device != NULL );
|
|
||||||
|
|
||||||
IExec->BeginIO(ior);
|
|
||||||
|
|
||||||
LEAVE();
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#endif /* __PPC__ */
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: amiga_createextio.c,v 1.2 2004-11-10 14:55:30 obarthel Exp $
|
* $Id: amiga_createextio.c,v 1.1.1.1 2004-07-26 16:30:18 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -44,12 +44,6 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#if defined(CreateExtIO)
|
|
||||||
#undef CreateExtIO
|
|
||||||
#endif /* CreateExtIO */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
struct IORequest *
|
struct IORequest *
|
||||||
CreateExtIO(CONST struct MsgPort * port, LONG io_size)
|
CreateExtIO(CONST struct MsgPort * port, LONG io_size)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: amiga_createport.c,v 1.2 2004-11-13 12:55:39 obarthel Exp $
|
* $Id: amiga_createport.c,v 1.1.1.1 2004-07-26 16:30:18 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -44,12 +44,6 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#if defined(CreatePort)
|
|
||||||
#undef CreatePort
|
|
||||||
#endif /* CreatePort */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
struct MsgPort *
|
struct MsgPort *
|
||||||
CreatePort(CONST_STRPTR name, LONG pri)
|
CreatePort(CONST_STRPTR name, LONG pri)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: amiga_createstdio.c,v 1.2 2004-11-10 14:55:30 obarthel Exp $
|
* $Id: amiga_createstdio.c,v 1.1.1.1 2004-07-26 16:30:18 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -44,12 +44,6 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#if defined(CreateStdIO)
|
|
||||||
#undef CreateStdIO
|
|
||||||
#endif /* CreateStdIO */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
struct IOStdReq *
|
struct IOStdReq *
|
||||||
CreateStdIO(CONST struct MsgPort * port)
|
CreateStdIO(CONST struct MsgPort * port)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: amiga_createtask.c,v 1.2 2004-11-13 12:55:39 obarthel Exp $
|
* $Id: amiga_createtask.c,v 1.1.1.1 2004-07-26 16:30:18 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -31,6 +31,8 @@
|
|||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef __PPC__
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#include <exec/libraries.h>
|
#include <exec/libraries.h>
|
||||||
@@ -51,10 +53,6 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#ifndef __PPC__
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Create a task with given name, priority, and stack size.
|
* Create a task with given name, priority, and stack size.
|
||||||
* It will use the default exception and trap handlers for now.
|
* It will use the default exception and trap handlers for now.
|
||||||
@@ -193,44 +191,4 @@ CreateTask(CONST_STRPTR name,LONG pri,CONST APTR init_pc,ULONG stack_size)
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#if defined(CreateTask)
|
|
||||||
#undef CreateTask
|
|
||||||
#endif /* CreateTask */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
struct Task *
|
|
||||||
CreateTask(CONST_STRPTR name,LONG pri,CONST APTR init_pc,ULONG stack_size)
|
|
||||||
{
|
|
||||||
struct Task * result = NULL;
|
|
||||||
|
|
||||||
ENTER();
|
|
||||||
|
|
||||||
SHOWSTRING(name);
|
|
||||||
SHOWVALUE(pri);
|
|
||||||
SHOWPOINTER(init_pc);
|
|
||||||
SHOWVALUE(stack_size);
|
|
||||||
|
|
||||||
assert( name != NULL && (-128 <= pri && pri <= 127) && init_pc != NULL && stack_size > 0 );
|
|
||||||
|
|
||||||
if(name == NULL || pri < -128 || pri > 127 || init_pc == NULL || stack_size == 0)
|
|
||||||
{
|
|
||||||
SHOWMSG("invalid parameters");
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = IExec->CreateTask(name,pri,init_pc,stack_size,NULL);
|
|
||||||
|
|
||||||
out:
|
|
||||||
|
|
||||||
RETURN(result);
|
|
||||||
return(result);
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#endif /* __PPC__ */
|
#endif /* __PPC__ */
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: amiga_deleteextio.c,v 1.2 2004-11-10 14:55:30 obarthel Exp $
|
* $Id: amiga_deleteextio.c,v 1.1.1.1 2004-07-26 16:30:18 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -44,12 +44,6 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#if defined(DeleteExtIO)
|
|
||||||
#undef DeleteExtIO
|
|
||||||
#endif /* DeleteExtIO */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
DeleteExtIO(struct IORequest * io)
|
DeleteExtIO(struct IORequest * io)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: amiga_deleteport.c,v 1.2 2004-11-13 12:55:39 obarthel Exp $
|
* $Id: amiga_deleteport.c,v 1.1.1.1 2004-07-26 16:30:19 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -44,12 +44,6 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#if defined(DeletePort)
|
|
||||||
#undef DeletePort
|
|
||||||
#endif /* DeletePort */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
DeletePort(struct MsgPort * port)
|
DeletePort(struct MsgPort * port)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: amiga_deletestdio.c,v 1.2 2004-11-10 14:55:30 obarthel Exp $
|
* $Id: amiga_deletestdio.c,v 1.1.1.1 2004-07-26 16:30:19 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -44,12 +44,6 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#if defined(DeleteStdIO)
|
|
||||||
#undef DeleteStdIO
|
|
||||||
#endif /* DeleteStdIO */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
DeleteStdIO(struct IOStdReq * io)
|
DeleteStdIO(struct IOStdReq * io)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: amiga_deletetask.c,v 1.2 2004-11-13 12:55:39 obarthel Exp $
|
* $Id: amiga_deletetask.c,v 1.1.1.1 2004-07-26 16:30:19 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -41,34 +41,8 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#ifndef __PPC__
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
DeleteTask(struct Task *tc)
|
DeleteTask(struct Task *tc)
|
||||||
{
|
{
|
||||||
RemTask(tc);
|
RemTask(tc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#if defined(DeleteTask)
|
|
||||||
#undef DeleteTask
|
|
||||||
#endif /* DeleteTask */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
VOID
|
|
||||||
DeleteTask(struct Task *tc)
|
|
||||||
{
|
|
||||||
IExec->DeleteTask(tc);
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#endif /* __PPC__ */
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#define VERSION 1
|
#define VERSION 1
|
||||||
#define REVISION 183
|
#define REVISION 179
|
||||||
#define DATE "13.11.2004"
|
#define DATE "22.10.2004"
|
||||||
#define VERS "c.lib 1.183"
|
#define VERS "c.lib 1.179"
|
||||||
#define VSTRING "c.lib 1.183 (13.11.2004)\r\n"
|
#define VSTRING "c.lib 1.179 (22.10.2004)\r\n"
|
||||||
#define VERSTAG "\0$VER: c.lib 1.183 (13.11.2004)"
|
#define VERSTAG "\0$VER: c.lib 1.179 (22.10.2004)"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
183
|
179
|
||||||
|
|||||||
@@ -1,70 +1,3 @@
|
|||||||
c.lib 1.183 (13.11.2004)
|
|
||||||
|
|
||||||
- Cleaned up the OS4 build makefile, losing redundant libraries,
|
|
||||||
adding more startup object code and ultimatively making the whole
|
|
||||||
rebuild logic work again: if code changes and dependencies are
|
|
||||||
set up correctly, it will now get rebuilt. Previously, such
|
|
||||||
changes went unnoticed and you had to rebuild the entire library
|
|
||||||
from scratch.
|
|
||||||
|
|
||||||
- Added stubs for CreatePort(), DeletePort(), CreateTask(), DeleteTask()
|
|
||||||
and NewList() which have equivalents in exec.library V50 but for which
|
|
||||||
it might be useful if ported code didn't have to reference these
|
|
||||||
explicitly.
|
|
||||||
|
|
||||||
- mktemp() was broken in libunix.a with Unix path semantics enabled.
|
|
||||||
This was because the name template was translated and translated
|
|
||||||
back again, overwriting the translation buffer. This, funny enough,
|
|
||||||
broke Samba's printing feature. Fixed by translating the name only
|
|
||||||
before each test for "uniqueness" is made. The new code also handles
|
|
||||||
empty "" templates gracefully, which was a problem with both the
|
|
||||||
"standard" and the Unix path semantics flavour.
|
|
||||||
|
|
||||||
Why is it that I find bugs like this always after having just
|
|
||||||
released another library update?
|
|
||||||
|
|
||||||
|
|
||||||
c.lib 1.182 (8.11.2004)
|
|
||||||
|
|
||||||
- Changed the error abort condition for the %s conversion of the
|
|
||||||
scanf() family. It now matches the abort conditions for all other
|
|
||||||
conversions and no longer ignores whether any other parameters were
|
|
||||||
converted before. This was a quirk in the older implementation.
|
|
||||||
|
|
||||||
- The scanf() family now accepts %E and %G in place of %f and %X in
|
|
||||||
place of %x.
|
|
||||||
|
|
||||||
- Simplified the common code that fopen(), freopen() and fdopen()
|
|
||||||
share and which has to figure out by looking at a file access
|
|
||||||
mode specification which parameters should be used.
|
|
||||||
|
|
||||||
- Dropped error detection in the scanf() family. The EOF has to be
|
|
||||||
good enough. Also, ungetc() failure still leads to error handling.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
c.lib 1.181 (26.10.2004)
|
|
||||||
|
|
||||||
- The scanf() family now always returns the number of assignments made
|
|
||||||
unless an error occured or an EOF was hit during conversion before the
|
|
||||||
first assignment could be made.
|
|
||||||
|
|
||||||
- strtok() did not terminate properly if the last token in the string
|
|
||||||
did not end with a separator character but with a '\0' byte. Fixed.
|
|
||||||
|
|
||||||
- The directory scanning functions opendir/closedir did not get the global
|
|
||||||
directory data tracking data structure initialized which later led to
|
|
||||||
Enforcer hits and maybe trashed memory. Fixed.
|
|
||||||
|
|
||||||
|
|
||||||
c.lib 1.180 (23.10.2004)
|
|
||||||
|
|
||||||
- The printf() family now produces no output at all for %e, %f and %g if the
|
|
||||||
floating point support code is disabled. Previously, a minimum field width
|
|
||||||
specification could take effect, printing a series of 0 or blank space
|
|
||||||
characters where no output should have been produced.
|
|
||||||
|
|
||||||
|
|
||||||
c.lib 1.179 (22.10.2004)
|
c.lib 1.179 (22.10.2004)
|
||||||
|
|
||||||
- The scanf() family no longer assumes that a leading '0' indicates that the
|
- The scanf() family no longer assumes that a leading '0' indicates that the
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#define VERSION 1
|
#define VERSION 1
|
||||||
#define REVISION 183
|
#define REVISION 179
|
||||||
#define DATE "13.11.2004"
|
#define DATE "22.10.2004"
|
||||||
#define VERS "debug.lib 1.183"
|
#define VERS "debug.lib 1.179"
|
||||||
#define VSTRING "debug.lib 1.183 (13.11.2004)\r\n"
|
#define VSTRING "debug.lib 1.179 (22.10.2004)\r\n"
|
||||||
#define VERSTAG "\0$VER: debug.lib 1.183 (13.11.2004)"
|
#define VERSTAG "\0$VER: debug.lib 1.179 (22.10.2004)"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
183
|
179
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: dirent_data.c,v 1.4 2004-10-24 20:03:42 obarthel Exp $
|
* $Id: dirent_data.c,v 1.3 2004-08-07 10:24:04 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
/* Directories being scanned whose locks need to be freed when shutting down. */
|
/* Directories being scanned whose locks need to be freed when shutting down. */
|
||||||
struct MinList NOCOMMON __directory_list;
|
struct MinList __directory_list;
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: dirent_headers.h,v 1.2 2004-10-24 20:03:42 obarthel Exp $
|
* $Id: dirent_headers.h,v 1.1.1.1 2004-07-26 16:30:30 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -42,12 +42,6 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#ifndef _MACROS_H
|
|
||||||
#include "macros.h"
|
|
||||||
#endif /* _MACROS_H */
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
struct DirectoryHandle
|
struct DirectoryHandle
|
||||||
{
|
{
|
||||||
struct MinNode dh_MinNode;
|
struct MinNode dh_MinNode;
|
||||||
@@ -62,7 +56,7 @@ struct DirectoryHandle
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
extern struct MinList NOCOMMON __directory_list;
|
extern struct MinList __directory_list;
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#define VERSION 1
|
#define VERSION 1
|
||||||
#define REVISION 183
|
#define REVISION 179
|
||||||
#define DATE "13.11.2004"
|
#define DATE "22.10.2004"
|
||||||
#define VERS "m.lib 1.183"
|
#define VERS "m.lib 1.179"
|
||||||
#define VSTRING "m.lib 1.183 (13.11.2004)\r\n"
|
#define VSTRING "m.lib 1.179 (22.10.2004)\r\n"
|
||||||
#define VERSTAG "\0$VER: m.lib 1.183 (13.11.2004)"
|
#define VERSTAG "\0$VER: m.lib 1.179 (22.10.2004)"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
183
|
179
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#define VERSION 1
|
#define VERSION 1
|
||||||
#define REVISION 183
|
#define REVISION 179
|
||||||
#define DATE "13.11.2004"
|
#define DATE "22.10.2004"
|
||||||
#define VERS "m881.lib 1.183"
|
#define VERS "m881.lib 1.179"
|
||||||
#define VSTRING "m881.lib 1.183 (13.11.2004)\r\n"
|
#define VSTRING "m881.lib 1.179 (22.10.2004)\r\n"
|
||||||
#define VERSTAG "\0$VER: m881.lib 1.183 (13.11.2004)"
|
#define VERSTAG "\0$VER: m881.lib 1.179 (22.10.2004)"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
183
|
179
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#define VERSION 1
|
#define VERSION 1
|
||||||
#define REVISION 183
|
#define REVISION 179
|
||||||
#define DATE "13.11.2004"
|
#define DATE "22.10.2004"
|
||||||
#define VERS "net.lib 1.183"
|
#define VERS "net.lib 1.179"
|
||||||
#define VSTRING "net.lib 1.183 (13.11.2004)\r\n"
|
#define VSTRING "net.lib 1.179 (22.10.2004)\r\n"
|
||||||
#define VERSTAG "\0$VER: net.lib 1.183 (13.11.2004)"
|
#define VERSTAG "\0$VER: net.lib 1.179 (22.10.2004)"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
183
|
179
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
c.lib 1.180 (23.10.2004)
|
c.lib 1.179 (22.10.2004)
|
||||||
|
|
||||||
- The printf() family now produces no output at all for floating point
|
|
||||||
numbers (%e, %f and %g) if the floating point support code is disabled.
|
|
||||||
In previous versions of the library some output (series of 0 or blank
|
|
||||||
space characters) could still be produced.
|
|
||||||
|
|
||||||
- The scanf() family no longer ignores a conversion request of
|
- The scanf() family no longer ignores a conversion request of
|
||||||
type '%x' (hexadecimal) and treats the number to be processed
|
type '%x' (hexadecimal) and treats the number to be processed
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#define VERSION 1
|
#define VERSION 1
|
||||||
#define REVISION 183
|
#define REVISION 179
|
||||||
#define DATE "13.11.2004"
|
#define DATE "22.10.2004"
|
||||||
#define VERS "stack.lib 1.183"
|
#define VERS "stack.lib 1.179"
|
||||||
#define VSTRING "stack.lib 1.183 (13.11.2004)\r\n"
|
#define VSTRING "stack.lib 1.179 (22.10.2004)\r\n"
|
||||||
#define VERSTAG "\0$VER: stack.lib 1.183 (13.11.2004)"
|
#define VERSTAG "\0$VER: stack.lib 1.179 (22.10.2004)"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
183
|
179
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: stdio_openiob.c,v 1.3 2004-11-03 15:39:04 obarthel Exp $
|
* $Id: stdio_openiob.c,v 1.1.1.1 2004-07-26 16:31:37 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -48,7 +48,9 @@ __open_iob(const char *filename, const char *mode, int file_descriptor, int slot
|
|||||||
{
|
{
|
||||||
ULONG file_flags;
|
ULONG file_flags;
|
||||||
int result = -1;
|
int result = -1;
|
||||||
|
char actual_mode[8];
|
||||||
int open_mode;
|
int open_mode;
|
||||||
|
size_t mode_len,len,i;
|
||||||
struct fd * fd = NULL;
|
struct fd * fd = NULL;
|
||||||
STRPTR buffer = NULL;
|
STRPTR buffer = NULL;
|
||||||
STRPTR aligned_buffer;
|
STRPTR aligned_buffer;
|
||||||
@@ -84,49 +86,78 @@ __open_iob(const char *filename, const char *mode, int file_descriptor, int slot
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The first character selects the access mode: read, write or append. */
|
/* Options can follow the mode string, separated by a comma.
|
||||||
switch(mode[0])
|
* We don't support any of those.
|
||||||
|
*/
|
||||||
|
len = mode_len = strlen(mode);
|
||||||
|
for(i = 0 ; i < len ; i++)
|
||||||
{
|
{
|
||||||
case 'r':
|
if(mode[i] == ',')
|
||||||
|
{
|
||||||
|
mode_len = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
SHOWMSG("read mode");
|
/* Keep only the first few letters of the mode string. */
|
||||||
|
if(mode_len > sizeof(actual_mode)-1)
|
||||||
|
mode_len = sizeof(actual_mode)-1;
|
||||||
|
|
||||||
|
memmove(actual_mode,mode,mode_len);
|
||||||
|
actual_mode[mode_len] = '\0';
|
||||||
|
|
||||||
|
SHOWSTRING(actual_mode);
|
||||||
|
|
||||||
|
if(strcmp(actual_mode,"r") == SAME || strcmp(actual_mode,"rb") == SAME)
|
||||||
|
{
|
||||||
|
SHOWMSG("read-only");
|
||||||
|
|
||||||
open_mode = O_RDONLY;
|
open_mode = O_RDONLY;
|
||||||
break;
|
file_flags = IOBF_READ;
|
||||||
|
}
|
||||||
case 'w':
|
else if (strcmp(actual_mode,"w") == SAME || strcmp(actual_mode,"wb") == SAME)
|
||||||
|
{
|
||||||
SHOWMSG("write mode");
|
SHOWMSG("write-only");
|
||||||
|
|
||||||
open_mode = O_WRONLY | O_CREAT | O_TRUNC;
|
open_mode = O_WRONLY | O_CREAT | O_TRUNC;
|
||||||
break;
|
file_flags = IOBF_WRITE;
|
||||||
|
}
|
||||||
case 'a':
|
else if (strcmp(actual_mode,"a") == SAME || strcmp(actual_mode,"ab") == SAME)
|
||||||
|
{
|
||||||
SHOWMSG("append mode");
|
SHOWMSG("write-only; append");
|
||||||
|
|
||||||
open_mode = O_WRONLY | O_CREAT | O_APPEND;
|
open_mode = O_WRONLY | O_CREAT | O_APPEND;
|
||||||
break;
|
file_flags = IOBF_WRITE;
|
||||||
|
}
|
||||||
|
else if (strcmp(actual_mode,"r+") == SAME || strcmp(actual_mode,"rb+") == SAME || strcmp(actual_mode,"r+b") == SAME)
|
||||||
|
{
|
||||||
|
SHOWMSG("read/write; don't overwrite");
|
||||||
|
|
||||||
default:
|
open_mode = O_RDWR;
|
||||||
|
file_flags = IOBF_READ | IOBF_WRITE;
|
||||||
|
}
|
||||||
|
else if (strcmp(actual_mode,"w+") == SAME || strcmp(actual_mode,"wb+") == SAME || strcmp(actual_mode,"w+b") == SAME)
|
||||||
|
{
|
||||||
|
SHOWMSG("read/write; overwrite");
|
||||||
|
|
||||||
D(("unsupported file open mode '%lc'",mode[0]));
|
open_mode = O_RDWR | O_CREAT | O_TRUNC;
|
||||||
|
file_flags = IOBF_READ | IOBF_WRITE;
|
||||||
|
}
|
||||||
|
else if (strcmp(actual_mode,"a+") == SAME || strcmp(actual_mode,"ab+") == SAME || strcmp(actual_mode,"a+b") == SAME)
|
||||||
|
{
|
||||||
|
SHOWMSG("read/write; append; don't overwrite");
|
||||||
|
|
||||||
|
open_mode = O_RDWR | O_CREAT | O_APPEND;
|
||||||
|
file_flags = IOBF_READ | IOBF_WRITE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SHOWMSG("unsupported file open mode");
|
||||||
|
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If the second or third character is a '+', switch to read/write mode. */
|
|
||||||
if((mode[1] == '+') || (mode[1] != '\0' && mode[2] == '+'))
|
|
||||||
{
|
|
||||||
SHOWMSG("read/write access");
|
|
||||||
|
|
||||||
CLEAR_FLAG(open_mode,O_RDONLY);
|
|
||||||
CLEAR_FLAG(open_mode,O_WRONLY);
|
|
||||||
|
|
||||||
SET_FLAG(open_mode,O_RDWR);
|
|
||||||
}
|
|
||||||
|
|
||||||
SHOWMSG("allocating file buffer");
|
SHOWMSG("allocating file buffer");
|
||||||
|
|
||||||
/* Allocate a little more memory than necessary. */
|
/* Allocate a little more memory than necessary. */
|
||||||
@@ -162,21 +193,12 @@ __open_iob(const char *filename, const char *mode, int file_descriptor, int slot
|
|||||||
CLEAR_FLAG(fd->fd_Flags,FDF_APPEND);
|
CLEAR_FLAG(fd->fd_Flags,FDF_APPEND);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Figure out the buffered file access mode by looking at the open mode. */
|
|
||||||
file_flags = IOBF_IN_USE | IOBF_NO_NUL;
|
|
||||||
|
|
||||||
if(FLAG_IS_SET(open_mode,O_RDONLY) || FLAG_IS_SET(open_mode,O_RDWR))
|
|
||||||
SET_FLAG(file_flags,IOBF_READ);
|
|
||||||
|
|
||||||
if(FLAG_IS_SET(open_mode,O_WRONLY) || FLAG_IS_SET(open_mode,O_RDWR))
|
|
||||||
SET_FLAG(file_flags,IOBF_WRITE);
|
|
||||||
|
|
||||||
__initialize_iob(file,(HOOKFUNC)__iob_hook_entry,
|
__initialize_iob(file,(HOOKFUNC)__iob_hook_entry,
|
||||||
buffer,
|
buffer,
|
||||||
aligned_buffer,BUFSIZ,
|
aligned_buffer,BUFSIZ,
|
||||||
file_descriptor,
|
file_descriptor,
|
||||||
slot_number,
|
slot_number,
|
||||||
file_flags);
|
IOBF_IN_USE | file_flags | IOBF_NO_NUL);
|
||||||
|
|
||||||
buffer = NULL;
|
buffer = NULL;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: stdio_vfprintf.c,v 1.6 2004-10-23 16:38:18 obarthel Exp $
|
* $Id: stdio_vfprintf.c,v 1.5 2004-09-10 07:39:19 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -979,8 +979,15 @@ vfprintf(FILE * stream,const char * format, va_list arg)
|
|||||||
else
|
else
|
||||||
(void)va_arg(arg, double);
|
(void)va_arg(arg, double);
|
||||||
|
|
||||||
minimum_field_width = 0;
|
#ifndef NDEBUG
|
||||||
format_flags = 0;
|
{
|
||||||
|
output_buffer = "*FLOATING POINT NUMBER*";
|
||||||
|
output_len = strlen(output_buffer);
|
||||||
|
}
|
||||||
|
#endif /* NDEBUG */
|
||||||
|
|
||||||
|
CLEAR_FLAG(format_flags,FORMATF_ProduceSign);
|
||||||
|
CLEAR_FLAG(format_flags,FORMATF_ProduceSpace);
|
||||||
}
|
}
|
||||||
#endif /* FLOATING_POINT_SUPPORT */
|
#endif /* FLOATING_POINT_SUPPORT */
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: stdio_vfscanf.c,v 1.6 2004-11-08 17:57:52 obarthel Exp $
|
* $Id: stdio_vfscanf.c,v 1.3 2004-10-22 10:57:53 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -105,12 +105,24 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
|
|||||||
|
|
||||||
if(isspace(c))
|
if(isspace(c))
|
||||||
{
|
{
|
||||||
|
BOOL finished = FALSE;
|
||||||
|
|
||||||
/* Skip all blank spaces in the stream. */
|
/* Skip all blank spaces in the stream. */
|
||||||
format++;
|
format++;
|
||||||
|
|
||||||
while((c = __getc(stream)) != EOF)
|
while(TRUE)
|
||||||
{
|
{
|
||||||
if(isspace(c))
|
c = __getc(stream);
|
||||||
|
if(c == EOF)
|
||||||
|
{
|
||||||
|
/* Hit the end of the stream. Due to an error? */
|
||||||
|
if(num_conversions == 0 || ferror(stream))
|
||||||
|
goto out;
|
||||||
|
|
||||||
|
finished = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else if (isspace(c))
|
||||||
{
|
{
|
||||||
total_num_chars_read++;
|
total_num_chars_read++;
|
||||||
}
|
}
|
||||||
@@ -127,17 +139,8 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(c == EOF)
|
if(finished)
|
||||||
{
|
|
||||||
SHOWMSG("end of file");
|
|
||||||
|
|
||||||
/* Hit the end of the stream? */
|
|
||||||
if(num_conversions == 0)
|
|
||||||
goto out;
|
|
||||||
|
|
||||||
/* Finished... */
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
/* Resume scanning. */
|
/* Resume scanning. */
|
||||||
continue;
|
continue;
|
||||||
@@ -156,8 +159,8 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
|
|||||||
{
|
{
|
||||||
SHOWMSG("end of file");
|
SHOWMSG("end of file");
|
||||||
|
|
||||||
/* Hit the end of the stream. */
|
/* Hit the end of the stream. Due to an error? */
|
||||||
if(num_conversions == 0)
|
if(num_conversions == 0 || ferror(stream))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@@ -302,11 +305,9 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
/* It's a floating point number. */
|
/* It's a floating point number. */
|
||||||
case 'e':
|
|
||||||
case 'E':
|
|
||||||
case 'f':
|
case 'f':
|
||||||
|
case 'e':
|
||||||
case 'g':
|
case 'g':
|
||||||
case 'G':
|
|
||||||
|
|
||||||
conversion_type = 'f';
|
conversion_type = 'f';
|
||||||
format++;
|
format++;
|
||||||
@@ -320,7 +321,6 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
|
|||||||
case 's': /* string */
|
case 's': /* string */
|
||||||
case 'u': /* unsigned integer */
|
case 'u': /* unsigned integer */
|
||||||
case 'x': /* unsigned integer in hexadecimal format */
|
case 'x': /* unsigned integer in hexadecimal format */
|
||||||
case 'X': /* unsigned integer in hexadecimal format */
|
|
||||||
case '%': /* the % character */
|
case '%': /* the % character */
|
||||||
case '[': /* a range of characters */
|
case '[': /* a range of characters */
|
||||||
|
|
||||||
@@ -339,9 +339,21 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
|
|||||||
conversion_type != 'n' &&
|
conversion_type != 'n' &&
|
||||||
conversion_type != '[')
|
conversion_type != '[')
|
||||||
{
|
{
|
||||||
while((c = __getc(stream)) != EOF)
|
BOOL finished = FALSE;
|
||||||
|
|
||||||
|
while(TRUE)
|
||||||
{
|
{
|
||||||
if(isspace(c))
|
c = __getc(stream);
|
||||||
|
if(c == EOF)
|
||||||
|
{
|
||||||
|
/* Hit the end of the stream. Due to an error? */
|
||||||
|
if(num_conversions == 0 || ferror(stream))
|
||||||
|
goto out;
|
||||||
|
|
||||||
|
finished = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else if (isspace(c))
|
||||||
{
|
{
|
||||||
total_num_chars_read++;
|
total_num_chars_read++;
|
||||||
}
|
}
|
||||||
@@ -357,6 +369,9 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(finished)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
num_chars_processed = 0;
|
num_chars_processed = 0;
|
||||||
@@ -413,8 +428,8 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
|
|||||||
c = __getc(stream);
|
c = __getc(stream);
|
||||||
if(c == EOF)
|
if(c == EOF)
|
||||||
{
|
{
|
||||||
/* Bail out if we hit the end of the stream. */
|
/* Bail out if we hit the end of the stream or an error occured. */
|
||||||
if(num_conversions == 0)
|
if(num_conversions == 0 || ferror(stream))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@@ -594,7 +609,7 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
|
|||||||
maximum_field_width--;
|
maximum_field_width--;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(c == EOF && num_chars_processed == 0 && num_conversions == 0)
|
if(c == EOF && ((num_chars_processed == 0 && num_conversions == 0) || ferror(stream)))
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1185,7 +1200,7 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(c == EOF && num_chars_processed == 0 && num_conversions == 0)
|
if(c == EOF && ((num_chars_processed == 0 && num_conversions == 0) || ferror(stream)))
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1291,8 +1306,8 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
|
|||||||
|
|
||||||
/* The conversion is considered to have failed if an EOF was
|
/* The conversion is considered to have failed if an EOF was
|
||||||
encountered before any non-whitespace characters could be
|
encountered before any non-whitespace characters could be
|
||||||
converted. */
|
converted. We also bail out if we hit an error. */
|
||||||
if(c == EOF && num_chars_processed == 0 && num_conversions == 0)
|
if(c == EOF && (num_chars_processed == 0 || ferror(stream)))
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1415,8 +1430,8 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
|
|||||||
{
|
{
|
||||||
SHOWMSG("end of file");
|
SHOWMSG("end of file");
|
||||||
|
|
||||||
/* Hit the end of the stream. */
|
/* Hit the end of the stream. Due to an error? */
|
||||||
if(num_conversions == 0)
|
if(num_conversions == 0 || ferror(stream))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@@ -1548,7 +1563,7 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
|
|||||||
maximum_field_width--;
|
maximum_field_width--;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(c == EOF && num_chars_processed == 0 && num_conversions == 0)
|
if(c == EOF && ((num_chars_processed == 0 && num_conversions == 0) || ferror(stream)))
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1562,6 +1577,7 @@ __vfscanf(FILE *stream, const char *format, va_list arg)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(num_conversions > 0)
|
||||||
result = num_assignments;
|
result = num_assignments;
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: stdlib_mktemp.c,v 1.3 2004-11-10 17:45:40 obarthel Exp $
|
* $Id: stdlib_mktemp.c,v 1.2 2004-08-07 09:15:32 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -57,19 +57,16 @@ mktemp(char * name_template)
|
|||||||
{
|
{
|
||||||
#if defined(UNIX_PATH_SEMANTICS)
|
#if defined(UNIX_PATH_SEMANTICS)
|
||||||
struct name_translation_info name_template_nti;
|
struct name_translation_info name_template_nti;
|
||||||
|
char * original_name_template = NULL;
|
||||||
#endif /* UNIX_PATH_SEMANTICS */
|
#endif /* UNIX_PATH_SEMANTICS */
|
||||||
char * test_name;
|
|
||||||
struct Process * this_process;
|
struct Process * this_process;
|
||||||
APTR old_window_pointer;
|
APTR old_window_pointer;
|
||||||
char * result = NULL;
|
char * result = NULL;
|
||||||
size_t template_offset;
|
int template_offset;
|
||||||
size_t template_len;
|
int template_len;
|
||||||
size_t name_len;
|
|
||||||
size_t offset;
|
|
||||||
time_t now;
|
time_t now;
|
||||||
ULONG pseudo_random_number;
|
|
||||||
BPTR lock;
|
BPTR lock;
|
||||||
size_t i;
|
int i;
|
||||||
|
|
||||||
ENTER();
|
ENTER();
|
||||||
|
|
||||||
@@ -77,8 +74,6 @@ mktemp(char * name_template)
|
|||||||
|
|
||||||
assert(name_template != NULL);
|
assert(name_template != NULL);
|
||||||
|
|
||||||
this_process = (struct Process *)FindTask(NULL);
|
|
||||||
|
|
||||||
#if defined(CHECK_FOR_NULL_POINTERS)
|
#if defined(CHECK_FOR_NULL_POINTERS)
|
||||||
{
|
{
|
||||||
if(name_template == NULL)
|
if(name_template == NULL)
|
||||||
@@ -94,93 +89,13 @@ mktemp(char * name_template)
|
|||||||
if(__check_abort_enabled)
|
if(__check_abort_enabled)
|
||||||
__check_abort();
|
__check_abort();
|
||||||
|
|
||||||
SHOWSTRING(name_template);
|
|
||||||
|
|
||||||
/* So, how long is that name template? */
|
|
||||||
name_len = strlen(name_template);
|
|
||||||
if(name_len == 0)
|
|
||||||
{
|
|
||||||
SHOWMSG("invalid name template");
|
|
||||||
|
|
||||||
errno = EINVAL;
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Find out how many trailing 'X' characters there are in
|
|
||||||
the template. There should be at least 6. We also want
|
|
||||||
to know where to find the first 'X' and how many of the
|
|
||||||
'X' characters there are. */
|
|
||||||
template_offset = 0;
|
|
||||||
template_len = 0;
|
|
||||||
|
|
||||||
for(i = 0 ; i < name_len ; i++)
|
|
||||||
{
|
|
||||||
assert( name_len >= (i + 1) );
|
|
||||||
|
|
||||||
offset = name_len - (i + 1);
|
|
||||||
|
|
||||||
if(name_template[offset] != 'X')
|
|
||||||
break;
|
|
||||||
|
|
||||||
template_offset = offset;
|
|
||||||
template_len++;
|
|
||||||
}
|
|
||||||
|
|
||||||
SHOWVALUE(template_offset);
|
|
||||||
SHOWVALUE(template_len);
|
|
||||||
|
|
||||||
if(template_len == 0)
|
|
||||||
{
|
|
||||||
SHOWMSG("invalid name template");
|
|
||||||
|
|
||||||
errno = EINVAL;
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Generate a pseudo-random number from the current time and
|
|
||||||
the address of the current process. */
|
|
||||||
time(&now);
|
|
||||||
|
|
||||||
pseudo_random_number = (ULONG)now + (ULONG)this_process;
|
|
||||||
|
|
||||||
/* Fill the template 'X' characters with letters made up by
|
|
||||||
converting the pseudo-random number. */
|
|
||||||
for(i = 0 ; i < template_len ; i++)
|
|
||||||
{
|
|
||||||
name_template[template_offset + i] = 'A' + (pseudo_random_number % 26);
|
|
||||||
|
|
||||||
/* One more letter taken; if we run out of letters,
|
|
||||||
cook up another pseudo-random number. */
|
|
||||||
pseudo_random_number = (pseudo_random_number / 26);
|
|
||||||
if(pseudo_random_number == 0)
|
|
||||||
{
|
|
||||||
time(&now);
|
|
||||||
|
|
||||||
pseudo_random_number = (ULONG)now;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SHOWSTRING(name_template);
|
|
||||||
|
|
||||||
old_window_pointer = this_process->pr_WindowPtr;
|
|
||||||
|
|
||||||
/* Now check if the name we picked is unique. If not, make another name. */
|
|
||||||
while(TRUE)
|
|
||||||
{
|
|
||||||
if(__check_abort_enabled)
|
|
||||||
__check_abort();
|
|
||||||
|
|
||||||
D(("checking '%s'",name_template));
|
|
||||||
|
|
||||||
test_name = name_template;
|
|
||||||
|
|
||||||
/* If necessary, quickly translate the semantics of the file name
|
|
||||||
we cooked up above. */
|
|
||||||
#if defined(UNIX_PATH_SEMANTICS)
|
#if defined(UNIX_PATH_SEMANTICS)
|
||||||
{
|
{
|
||||||
if(__unix_path_semantics)
|
if(__unix_path_semantics)
|
||||||
{
|
{
|
||||||
if(__translate_unix_to_amiga_path_name((char const **)&test_name,&name_template_nti) != 0)
|
original_name_template = name_template;
|
||||||
|
|
||||||
|
if(__translate_unix_to_amiga_path_name((char const **)&name_template,&name_template_nti) != 0)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
if(name_template_nti.is_root)
|
if(name_template_nti.is_root)
|
||||||
@@ -192,12 +107,62 @@ mktemp(char * name_template)
|
|||||||
}
|
}
|
||||||
#endif /* UNIX_PATH_SEMANTICS */
|
#endif /* UNIX_PATH_SEMANTICS */
|
||||||
|
|
||||||
|
SHOWSTRING(name_template);
|
||||||
|
|
||||||
|
template_offset = -1;
|
||||||
|
template_len = 0;
|
||||||
|
|
||||||
|
for(i = strlen(name_template)-1 ; i >= 0 ; i--)
|
||||||
|
{
|
||||||
|
if(name_template[i] == 'X')
|
||||||
|
{
|
||||||
|
template_offset = i;
|
||||||
|
template_len++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(template_offset == -1)
|
||||||
|
{
|
||||||
|
SHOWMSG("invalid name template");
|
||||||
|
|
||||||
|
errno = EINVAL;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
this_process = (struct Process *)FindTask(NULL);
|
||||||
|
|
||||||
|
time(&now);
|
||||||
|
|
||||||
|
now += (time_t)this_process;
|
||||||
|
|
||||||
|
for(i = 0 ; i < template_len ; i++)
|
||||||
|
{
|
||||||
|
name_template[template_offset + i] = 'A' + (now % 26);
|
||||||
|
|
||||||
|
now = (now / 26);
|
||||||
|
if(now == 0)
|
||||||
|
time(&now);
|
||||||
|
}
|
||||||
|
|
||||||
|
old_window_pointer = this_process->pr_WindowPtr;
|
||||||
|
|
||||||
|
while(TRUE)
|
||||||
|
{
|
||||||
|
if(__check_abort_enabled)
|
||||||
|
__check_abort();
|
||||||
|
|
||||||
|
D(("checking '%s'",name_template));
|
||||||
|
|
||||||
/* Turn off DOS error requesters. */
|
/* Turn off DOS error requesters. */
|
||||||
this_process->pr_WindowPtr = (APTR)-1;
|
this_process->pr_WindowPtr = (APTR)-1;
|
||||||
|
|
||||||
/* Does this object exist already? */
|
/* Does this object exist already? */
|
||||||
PROFILE_OFF();
|
PROFILE_OFF();
|
||||||
lock = Lock(test_name,SHARED_LOCK);
|
lock = Lock(name_template,SHARED_LOCK);
|
||||||
PROFILE_ON();
|
PROFILE_ON();
|
||||||
|
|
||||||
/* Restore DOS requesters. */
|
/* Restore DOS requesters. */
|
||||||
@@ -226,7 +191,8 @@ mktemp(char * name_template)
|
|||||||
PROFILE_ON();
|
PROFILE_ON();
|
||||||
|
|
||||||
/* Change one letter; if that 'overflows', start
|
/* Change one letter; if that 'overflows', start
|
||||||
over with 'A' and move on to the next position. */
|
* over with 'A' and move on to the next position.
|
||||||
|
*/
|
||||||
for(i = 0 ; i < template_len ; i++)
|
for(i = 0 ; i < template_len ; i++)
|
||||||
{
|
{
|
||||||
name_template[template_offset + i]++;
|
name_template[template_offset + i]++;
|
||||||
@@ -239,6 +205,20 @@ mktemp(char * name_template)
|
|||||||
|
|
||||||
SHOWSTRING(name_template);
|
SHOWSTRING(name_template);
|
||||||
|
|
||||||
|
#if defined(UNIX_PATH_SEMANTICS)
|
||||||
|
{
|
||||||
|
if(__unix_path_semantics)
|
||||||
|
{
|
||||||
|
if(__translate_amiga_to_unix_path_name((char const **)&name_template,&name_template_nti) != 0)
|
||||||
|
goto out;
|
||||||
|
|
||||||
|
strcpy(original_name_template,name_template);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif /* UNIX_PATH_SEMANTICS */
|
||||||
|
|
||||||
|
SHOWSTRING(name_template);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
|
||||||
RETURN(result);
|
RETURN(result);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: string_strtok.c,v 1.2 2004-10-25 19:53:15 obarthel Exp $
|
* $Id: string_strtok.c,v 1.1.1.1 2004-07-26 16:32:20 obarthel Exp $
|
||||||
*
|
*
|
||||||
* :ts=4
|
* :ts=4
|
||||||
*
|
*
|
||||||
@@ -89,12 +89,9 @@ strtok(char *str, const char *separator_set)
|
|||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
/* This is where the search can resume later. */
|
/* This is where the search can resume later. */
|
||||||
last = &str[size];
|
last = &str[size+1];
|
||||||
|
if((*last) == '\0')
|
||||||
/* If we didn't hit the end of the string already,
|
last = NULL;
|
||||||
skip the separator. */
|
|
||||||
if((*last) != '\0')
|
|
||||||
last++;
|
|
||||||
|
|
||||||
/* This is the token we found; make sure that
|
/* This is the token we found; make sure that
|
||||||
it looks like a valid string. */
|
it looks like a valid string. */
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#define VERSION 1
|
#define VERSION 1
|
||||||
#define REVISION 183
|
#define REVISION 179
|
||||||
#define DATE "13.11.2004"
|
#define DATE "22.10.2004"
|
||||||
#define VERS "unix.lib 1.183"
|
#define VERS "unix.lib 1.179"
|
||||||
#define VSTRING "unix.lib 1.183 (13.11.2004)\r\n"
|
#define VSTRING "unix.lib 1.179 (22.10.2004)\r\n"
|
||||||
#define VERSTAG "\0$VER: unix.lib 1.183 (13.11.2004)"
|
#define VERSTAG "\0$VER: unix.lib 1.179 (22.10.2004)"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
183
|
179
|
||||||
|
|||||||
Reference in New Issue
Block a user