diff options
Diffstat (limited to 'lib/megaco/src/flex')
-rw-r--r-- | lib/megaco/src/flex/Makefile.in | 31 | ||||
-rw-r--r-- | lib/megaco/src/flex/megaco_flex_scanner_drv.flex.src | 37 | ||||
-rw-r--r-- | lib/megaco/src/flex/megaco_flex_scanner_handler.erl | 4 |
3 files changed, 30 insertions, 42 deletions
diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in index 5af651d89b..69c2425d05 100644 --- a/lib/megaco/src/flex/Makefile.in +++ b/lib/megaco/src/flex/Makefile.in @@ -1,7 +1,7 @@ # # %CopyrightBegin% # -# Copyright Ericsson AB 2001-2010. All Rights Reserved. +# Copyright Ericsson AB 2001-2012. All Rights Reserved. # # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in @@ -271,16 +271,16 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt - $(INSTALL_DIR) $(RELSYSDIR)/ebin - $(INSTALL_DIR) $(RELSYSDIR)/src - $(INSTALL_DIR) $(RELSYSDIR)/src/flex - $(INSTALL_DIR) $(RELSYSDIR)/priv/lib - $(INSTALL_DIR) $(RELSYSDIR)/include - $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(RELSYSDIR)/src/flex - $(INSTALL_DATA) $(TARGET_FILES) $(RELSYSDIR)/ebin + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/flex" + $(INSTALL_DIR) "$(RELSYSDIR)/priv/lib" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/flex" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" ifeq ($(ENABLE_MEGACO_FLEX_SCANNER),true) - $(INSTALL_DATA) $(FLEX_FILES) $(C_TARGETS) $(RELSYSDIR)/src/flex - $(INSTALL_PROGRAM) $(SOLIBS) $(RELSYSDIR)/priv/lib + $(INSTALL_DATA) $(FLEX_FILES) $(C_TARGETS) "$(RELSYSDIR)/src/flex" + $(INSTALL_PROGRAM) $(SOLIBS) "$(RELSYSDIR)/priv/lib" endif @@ -391,7 +391,9 @@ $(STD_DRV).c: $(STD_DRV).flex $(MT_DRV).c: $(MT_DRV).flex $(LEX) $(MT_LEX_FLAGS) -P$* -o$@ $< -solibs: $(LIBDIR) $(OBJDIR) $(SOLIBS) +_create_dirs := $(shell mkdir -p $(OBJDIR) $(LIBDIR)) + +solibs: $(SOLIBS) $(OBJDIR)/$(STD_DRV).o: $(STD_DRV).c @echo "compiling std driver:" @@ -411,10 +413,3 @@ $(LIBDIR)/$(STD_DRV).$(DED_EXT): $(OBJDIR)/$(STD_DRV).o $(LIBDIR)/$(MT_DRV).$(DED_EXT): $(OBJDIR)/$(MT_DRV).o @echo "linking multi-threaded driver:" $(LD) $(LDFLAGS) -o $@ $< - -$(LIBDIR): - -mkdir -p $(LIBDIR) - -$(OBJDIR): - -mkdir -p $(OBJDIR) - diff --git a/lib/megaco/src/flex/megaco_flex_scanner_drv.flex.src b/lib/megaco/src/flex/megaco_flex_scanner_drv.flex.src index 96621193e8..24a0366f58 100644 --- a/lib/megaco/src/flex/megaco_flex_scanner_drv.flex.src +++ b/lib/megaco/src/flex/megaco_flex_scanner_drv.flex.src @@ -60,18 +60,11 @@ #define NUL 0x0 #if defined(MEGACO_REENTRANT_FLEX_SCANNER) - #define MEGACO_EXTENDED_MARKER ERL_DRV_EXTENDED_MARKER - #define MEGACO_DRIVER_FLAGS ERL_DRV_FLAG_USE_PORT_LOCKING - #define MEGACO_EXTENDED_MAJOR_VERSION ERL_DRV_EXTENDED_MAJOR_VERSION - #define MEGACO_EXTENDED_MINOR_VERSION ERL_DRV_EXTENDED_MINOR_VERSION -#else - #define MEGACO_EXTENDED_MARKER 0 - #define MEGACO_DRIVER_FLAGS 0 - #define MEGACO_EXTENDED_MAJOR_VERSION 0 - #define MEGACO_EXTENDED_MINOR_VERSION 0 +# define MEGACO_DRIVER_FLAGS ERL_DRV_FLAG_USE_PORT_LOCKING +#else +# define MEGACO_DRIVER_FLAGS 0 #endif - #define FREE(bufP) driver_free(bufP) #define ALLOC(sz) driver_alloc(sz) #define REALLOC(bufP, sz) driver_realloc(bufP, sz) @@ -327,11 +320,11 @@ static void mfs_load_map_token(); static ErlDrvData mfs_start(ErlDrvPort port, char *buf); static void mfs_stop(ErlDrvData handle); static void mfs_command(ErlDrvData handle, - char *buf, int buf_len); -static int mfs_control(ErlDrvData handle, + char *buf, ErlDrvSizeT buf_len); +static ErlDrvSSizeT mfs_control(ErlDrvData handle, unsigned int command, - char *buf, int buf_len, - char **res_buf, int res_buf_len); + char *buf, ErlDrvSizeT buf_len, + char **res_buf, ErlDrvSizeT res_buf_len); static void mfs_finish(void); /* @@ -355,10 +348,10 @@ static ErlDrvEntry mfs_entry = { NULL, /* flush, port is about to be closed */ NULL, /* call, a syncronous call into the driver */ NULL, /* event, event selected by driver_event() has occurred */ - MEGACO_EXTENDED_MARKER, /* extended_marker, which we use if reentrant */ - MEGACO_EXTENDED_MAJOR_VERSION, /* major_version, ... */ - MEGACO_EXTENDED_MINOR_VERSION, /* minor_version, ... */ - MEGACO_DRIVER_FLAGS, /* driver_flags, used for port lock indication */ + ERL_DRV_EXTENDED_MARKER, + ERL_DRV_EXTENDED_MAJOR_VERSION, + ERL_DRV_EXTENDED_MINOR_VERSION, + MEGACO_DRIVER_FLAGS, /* driver_flags, used for port lock indication */ NULL, /* handle2, emulator internal use */ NULL /* process_exit, Called when a process monitor fires */ }; @@ -1700,17 +1693,17 @@ static void mfs_stop(ErlDrvData handle) } static void mfs_command(ErlDrvData handle, - char *buf, int buf_len) + char *buf, ErlDrvSizeT buf_len) { driver_failure_atom(((MfsErlDrvData*) handle)->port, "bad_usage"); return; } -static int mfs_control(ErlDrvData handle, +static ErlDrvSSizeT mfs_control(ErlDrvData handle, unsigned int command, - char *buf, int buf_len, - char **res_buf, int res_buf_len) + char *buf, ErlDrvSizeT buf_len, + char **res_buf, ErlDrvSizeT res_buf_len) { MfsErlDrvData* dataP = (MfsErlDrvData*) handle; char* tmp; diff --git a/lib/megaco/src/flex/megaco_flex_scanner_handler.erl b/lib/megaco/src/flex/megaco_flex_scanner_handler.erl index 5564fbf7d5..b2c8571623 100644 --- a/lib/megaco/src/flex/megaco_flex_scanner_handler.erl +++ b/lib/megaco/src/flex/megaco_flex_scanner_handler.erl @@ -181,11 +181,11 @@ terminate(_Reason, _S) -> %% Returns: {ok, NewState} %%---------------------------------------------------------------------- -code_change({down, _Vsn}, #state{conf = Conf} = State, downgrade_to_pre_3_15_2) -> +code_change({down, _Vsn}, #state{conf = Conf} = State, downgrade_to_pre_3_16_1) -> NewPorts = bump_flex_scanner(Conf), {ok, State#state{conf = {flex, NewPorts}}}; -code_change(_Vsn, #state{conf = Conf} = State, upgrade_from_pre_3_15_2) -> +code_change(_Vsn, #state{conf = Conf} = State, upgrade_from_pre_3_16_1) -> NewPorts = bump_flex_scanner(Conf), {ok, State#state{conf = {flex, NewPorts}}}; |