Commit Graph

530 Commits

Author SHA1 Message Date
zimoch 79624b72e5 extend calc, calcout and sub records and calc expressions to inputs A - U
To accomodate for the increased number of inputs, the size of CALC and OCAL
fields has been doubled to 160 characters.
2025-08-13 09:47:40 -05:00
zimoch 007df69726 fix EPICS_PRINTF_STYLE so old mingw recognizes %ll and %z (#674)
gcc knows __gnu_printf__ since version 4.4.0, not only for MinGW but for
all targets. As we would need to check the gcc version anyway to avoid
"unrecognized format function type" errors with older MinGW versions,
we can simply use it for recent gcc versions and not depend on MinGW at all.
2025-07-30 10:23:19 -05:00
Michael Davidsaver 5ae9cc6536 gethostbyname -> getaddrinfo
Prefer reentrant DNS API
2025-07-30 10:16:23 -05:00
Jerzy Jamroz f4e1019ebe fix: ts{} {} warning: missing initializer for members
- warning: missing initializer for member ‘epicsTimeStamp::secPastEpoch’ [-Wmissing-field-initializers]
- warning: missing initializer for member ‘epicsTimeStamp::nsec’ [-Wmissing-field-initializers]
2025-07-21 10:23:12 -05:00
Andrew Johnson dc776b547a Update CALC expression documentation
Doxygen changes in postfix.h mostly formatting & adding tags.
Rec-ref changes regrouped the operators to match the order in
postfix.h, formatting, and added some missing operators.

Updated description of calcout.OEVT for named events.
2025-07-16 10:25:46 -05:00
Michael Davidsaver 7236f3ad5f macLib: add emphasis when expansion finds an undefined macro 2025-07-07 16:45:44 -07:00
Hinko Kocevar e294bb443c 2nd attempt to fix a linter error for step 49 of "Path" 2025-06-20 16:01:44 -05:00
Hinko Kocevar 5813dcd639 attempt to fix a linter error for step 49 of "Path" 2025-06-20 16:01:44 -05:00
Hinko Kocevar b8e70783d8 trying to fix vs2012 and vs2010 builds 2025-06-20 16:01:44 -05:00
Hinko Kocevar 87b8050437 handle backslash for EPICS command line library (similar to READLINE) 2025-06-20 16:01:44 -05:00
Hinko Kocevar b9b2da26fd detect and handle backslash as part of multi-line string 2025-06-20 16:01:44 -05:00
Jerzy Jamroz 70d5df05c7 refactor: atInit changed to afterIocRunning 2025-06-20 15:42:47 -05:00
Jerzy Jamroz 6683d81eb9 fix: strlen instead of strnlen. 2025-06-20 15:42:47 -05:00
Jerzy Jamroz d87ad35d37 feat: atInit presents its commands in the green colour. 2025-06-20 15:42:47 -05:00
Jerzy Jamroz a9b66218c6 refactor: const adjustment. 2025-06-20 15:42:47 -05:00
Jerzy Jamroz 4cf7077ee2 fix: Copyright update. 2025-06-20 15:42:47 -05:00
Jerzy Jamroz 71e86e51bd fix: error C2059: syntax error at the atInitDef structure. 2025-06-20 15:42:47 -05:00
Jerzy Jamroz 43003ea18a fix: (CWE-126) CodeQL removal. 2025-06-20 15:42:47 -05:00
Jerzy Jamroz 61deabd787 fix: CMP=vs2012 (error C2143) variables to the top of a function. 2025-06-20 15:42:47 -05:00
Jerzy Jamroz 3ece668f6b refactor: strncpy to memcpy; malloc with the identifier. 2025-06-20 15:42:47 -05:00
Jerzy Jamroz d7a02342e5 fix: CodeQL check failure.
Possibly wrong buffer size in string copy (Critical)
2025-06-20 15:42:47 -05:00
Jerzy Jamroz ecd76e5b5b fix: Portability update. 2025-06-20 15:42:47 -05:00
Jerzy Jamroz 9b92a98d06 fix: ELLLIST initialization with ELLLIST_INIT. 2025-06-20 15:42:47 -05:00
Jerzy Jamroz 16fd65639a refactor: initHookRegister moved to atInitRegister; strlcpy -> strncpy
portability.
2025-06-20 15:42:47 -05:00
Jerzy Jamroz f3e24ea8e3 fix: mallocMustSucceed makes this check unnecessary. 2025-06-20 15:42:47 -05:00
Jerzy Jamroz dd09670b35 refactor: initHookRegister wihout the failure check. 2025-06-20 15:42:47 -05:00
Jerzy Jamroz 04c7cdd33a fix: Removal of unnecessary item->cmd NULL check. 2025-06-20 15:42:47 -05:00
Jerzy Jamroz 3a822ccb0c refactor: EPICS license adjustment. 2025-06-20 15:42:47 -05:00
Jerzy Jamroz 45b2be0171 refactor: Extra blank space after #include-s. 2025-06-20 15:42:47 -05:00
Jerzy Jamroz 1468319f31 refactor: Format change
* 4 space indentation
* epicsStdoutPrintf to printf
2025-06-20 15:42:47 -05:00
Jerzy Jamroz 82994d600f perf: Extra safety with strlen(cmd). 2025-06-20 15:42:47 -05:00
Jerzy Jamroz 8752372af1 build: atInit module moved to libcom. 2025-06-20 15:42:47 -05:00
zimoch 72ca94e04c cleanup coding style in fdManager 2025-06-04 12:43:27 -05:00
zimoch 3de1d93059 fdManager: filter poll flags for Window's sake 2025-06-04 12:43:27 -05:00
zimoch 8855d15a3b make fdManagerPrivate::fdReg volatile to avoid codacy warning 2025-06-04 12:43:27 -05:00
zimoch 87bb7d430f use smart pointers in fdManager 2025-06-04 12:43:27 -05:00
zimoch 3963b35c17 fix codacy warning: make fdManagerPrivate constructor explicit 2025-06-04 12:43:27 -05:00
zimoch ec5badc737 fdManager uses poll() on Darwin too 2025-06-04 12:43:27 -05:00
zimoch ca48a217a5 Keep implementation details of fdManager out of header file 2025-06-04 12:43:27 -05:00
zimoch 27db57d386 fdManager use std::vector 2025-06-04 12:43:27 -05:00
zimoch 02d25c3c48 fdManager uses poll() on Windows and RTEMS too
RTEMS needs to use the "new" network stack
Windows has poll since Vista
Don't use poll on cygwin: it emulates poll() using select().
2025-06-04 12:43:27 -05:00
zimoch 4d63e65b9d fdManager changed to use poll()
The implementation using select() limits file desciptors to FD_SETSIZE,
typically 1024 on Linux. This number is too low for some applications,
for example for the CA gateway.
Therefore, Linux builds use poll() instead.
2025-06-04 12:43:27 -05:00
zimoch ea402b0f73 fix for architectures where sizeof(void*) > sizeof(long), i.e. windows-x64 2025-06-04 10:14:59 -05:00
Érico Nogueira 21368dc7b4 Don't include linux/ header in osdSockUnsentCount.
Per the manpage in the file's comment, SIOCOUTQ is equivalent to the
TIOCOUTQ ioctl, whose value can be obtained by including <sys/ioctl.h>,
which allows us to avoid including any system-specific headers. This is
desirable so that, on a musl system, it won't be necessary to install
kernel headers in order to build epics-base.

Since it's first been checked into Git, the Linux kernel has defined
SIOCOUTQ to be TIOCOUTQ [1].

From the three main libc options on Linux: glibc and uclibc use the
kernel headers, so both ioctls are available; and musl defines only
TIOCOUTQ in their own headers.

[1] https://github.com/torvalds/linux/commit/1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
2025-06-04 09:55:04 -05:00
Andrew Johnson 0f6fd8fff7 Improve 'help' self-description message 2025-06-04 09:52:44 -05:00
Andrew Johnson 42e7cbc71d Add color to the softIoc verbose output 2025-06-04 09:52:44 -05:00
Andrew Johnson c0da3dd1f9 Make default iocsh prompt green
The bldEnvData.pl script now syntax-checks the envParam
default values, allowing ANSI color macros to be used
in the IOCSH_PS1 parameter.
2025-06-04 09:52:44 -05:00
Andrew Johnson 55d918e74c Add more colour to iocsh output messages
Includes some unification of error text, narrower wrap margin.
'var' output now lists the variable types.
2025-06-04 09:52:44 -05:00
zimoch b833f12129 fix epicsStrtod for 32 bit architectures 2025-04-23 09:25:17 -05:00
Michael Davidsaver f827bd7e34 true is C23 keyword 2025-04-15 16:10:34 -07:00