Merge pull request #3393 from chungy/freebsd-fixes

Add some defines to build succesfully on FreeBSD
This commit is contained in:
Miran Grča
2023-06-11 13:38:32 +02:00
committed by GitHub
2 changed files with 8 additions and 2 deletions

View File

@@ -66,6 +66,9 @@ extern void seekdir(DIR *, long);
extern int closedir(DIR *);
# define rewinddir(dirp) seekdir(dirp, 0L)
#elif defined(__FreeBSD__)
/* FreeBSD uses dirent.h instead of sys/dir.h */
# include <dirent.h>
#else
/* On linux and macOS, use the standard functions and types */
# include <sys/dir.h>

View File

@@ -21,6 +21,9 @@
# define _DEFAULT_SOURCE 1
# define _BSD_SOURCE 1
#endif
#ifdef __FreeBSD__
# define __BSD_VISIBLE 1
#endif
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
@@ -165,7 +168,7 @@ plat_serpt_set_params(void *p)
term_attr.c_cflag &= CSTOPB;
if (dev->serial->lcr & 0x04)
term_attr.c_cflag |= CSTOPB;
#ifdef __APPLE__
#if defined(__APPLE__) || defined(__FreeBSD__)
term_attr.c_cflag &= PARENB | PARODD;
#else
term_attr.c_cflag &= PARENB | PARODD | CMSPAR;
@@ -174,7 +177,7 @@ plat_serpt_set_params(void *p)
term_attr.c_cflag |= PARENB;
if (!(dev->serial->lcr & 0x10))
term_attr.c_cflag |= PARODD;
#ifndef __APPLE__
#if !defined(__APPLE__) && !defined(__FreeBSD__)
if ((dev->serial->lcr & 0x20))
term_attr.c_cflag |= CMSPAR;
#endif