Files
Olaf Barthel cd9dce733f Rollback of all changes made for smbfs 2.23
The proof of concept implementation of mapping the original UTF16LE-encoded path names to hashed versions in the ISO-Latin-1 encoded space did not scale well and would invariably leak memory because there is no safe way to determine whether such a mapping was no longer needed. There appears to be no way to make this work robustly.

So, sadly, I removed Tygre's implementation.

We are back to square one with mapping UTF16LE-encoded path names, and also with mapping file/directory names longer than 107 characters (Windows names can be up to 127 characters long).
2024-09-23 14:40:20 +02:00

88 lines
3.2 KiB
Plaintext

#
# :ts=4
#
# SMB file system wrapper for AmigaOS, using the AmiTCP V3 API
#
# Copyright (C) 2000-2019 by Olaf 'Olsen' Barthel <obarthel -at- gmx -dot- net>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
.c.o:
@echo "Compiling $<"
@gcc -c $(CFLAGS) -o $*.o $<
###############################################################################
PROJECT = smbfs
###############################################################################
WARNINGS = \
-Wall -W -Wshadow -Wpointer-arith -Wsign-compare -Wmissing-prototypes \
-Wundef -Wbad-function-cast -Wmissing-declarations -Wconversion
CPU = -m68020-60
OPTIONS = -fno-builtin -Inetinclude -Iinclude
OPTIMIZE = -O2 -fomit-frame-pointer
DEBUG = -DNDEBUG -g
###############################################################################
CFLAGS = $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(CPU) $(OPTIONS) -Iinclude -I.
LFLAGS = -nostartfiles -nostdlib -L.
###############################################################################
OBJS = \
main.o cp437.o cp850.o crypt.o dump_smb.o parse-smb-url.o proc.o \
quad_math.o smb_abstraction.o sock.o splay.o
###############################################################################
LIBS = -lc -ldebug -lamiga
###############################################################################
all: $(PROJECT)
$(PROJECT): $(OBJS)
gcc -o $@.debug $(OBJS) $(CFLAGS) $(LFLAGS) $(LIBS)
strip --strip-all -o $@ $@.debug
protect $@ +e
exall-example: exall-example.c
gcc -o $@ exall-example.c
###############################################################################
assert.o : assert.c
cp437.o : cp437.c
cp850.o : cp850.c
crypt.o : crypt.c system_headers.h assert.h quad_math.h splay.h smbfs.h
dump_smb.o : dump_smb.c system_headers.h assert.h quad_math.h splay.h smbfs.h dump_smb.h
main.o : main.c system_headers.h assert.h quad_math.h splay.h smbfs.h smb_abstraction.h cp437.h cp850.h errors.h dump_smb.h parse-smb-url.h smbfs_rev.h
parse-smb-url.o : parse-smb-url.c system_headers.h assert.h quad_math.h splay.h smbfs.h parse-smb-url.h
proc.o : proc.c system_headers.h assert.h quad_math.h splay.h smbfs.h errors.h smbfs_rev.h
quad_math.o : quad_math.c quad_math.h
smb_abstraction.o : smb_abstraction.c system_headers.h assert.h quad_math.h splay.h smbfs.h errors.h smb_abstraction.h
sock.o : sock.c system_headers.h assert.h quad_math.h splay.h smbfs.h smb_abstraction.h dump_smb.h errors.h
splay.o : splay.c system_headers.h assert.h quad_math.h splay.h smbfs.h
###############################################################################
clean:
-delete #?.o #?.map $(PROJECT)(%|.debug) exall-example