Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
c3de6ef3
Commit
c3de6ef3
authored
Oct 19, 2004
by
Hans Leidekker
Committed by
Alexandre Julliard
Oct 19, 2004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add ffs() to porting library, needed by MinGW.
parent
edf17b51
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
77 additions
and
0 deletions
+77
-0
configure
configure
+2
-0
configure.ac
configure.ac
+1
-0
chm_lib.c
dlls/itss/chm_lib.c
+1
-0
config.h.in
include/config.h.in
+3
-0
port.h
include/wine/port.h
+5
-0
Makefile.in
libs/port/Makefile.in
+1
-0
ffs.c
libs/port/ffs.c
+64
-0
No files found.
configure
View file @
c3de6ef3
...
...
@@ -16148,6 +16148,7 @@ fi
for
ac_func
in
\
_lwp_create
\
_lwp_self
\
...
...
@@ -16161,6 +16162,7 @@ for ac_func in \
chsize
\
clone
\
epoll_create
\
ffs
\
finite
\
fork
\
fpclass
\
...
...
configure.ac
View file @
c3de6ef3
...
...
@@ -1076,6 +1076,7 @@ AC_CHECK_FUNCS(\
chsize \
clone \
epoll_create \
ffs \
finite \
fork \
fpclass \
...
...
dlls/itss/chm_lib.c
View file @
c3de6ef3
...
...
@@ -46,6 +46,7 @@
***************************************************************************/
#include "config.h"
#include "wine/port.h"
#include <stdarg.h>
#include <stdio.h>
...
...
include/config.h.in
View file @
c3de6ef3
...
...
@@ -83,6 +83,9 @@
/* Define to 1 if you have the `epoll_create' function. */
#undef HAVE_EPOLL_CREATE
/* Define to 1 if you have the `ffs' function. */
#undef HAVE_FFS
/* Define to 1 if you have the `finite' function. */
#undef HAVE_FINITE
...
...
include/wine/port.h
View file @
c3de6ef3
...
...
@@ -282,6 +282,10 @@ extern int getopt_long_only (int ___argc, char *const *___argv,
const
struct
option
*
__longopts
,
int
*
__longind
);
#endif
/* HAVE_GETOPT_LONG */
#ifndef HAVE_FFS
int
ffs
(
int
x
);
#endif
#ifndef HAVE_FUTIMES
struct
timeval
;
int
futimes
(
int
fd
,
const
struct
timeval
tv
[
2
]);
...
...
@@ -431,6 +435,7 @@ extern long interlocked_xchg_add( long *dest, long incr );
#define __WINE_NOT_PORTABLE(func) func##_is_not_portable func##_is_not_portable
#define ffs __WINE_NOT_PORTABLE(ffs)
#define fstatvfs __WINE_NOT_PORTABLE(fstatvfs)
#define futimes __WINE_NOT_PORTABLE(futimes)
#define getopt_long __WINE_NOT_PORTABLE(getopt_long)
...
...
libs/port/Makefile.in
View file @
c3de6ef3
...
...
@@ -7,6 +7,7 @@ VPATH = @srcdir@
MODULE
=
libwine_port.a
C_SRCS
=
\
ffs.c
\
fstatvfs.c
\
futimes.c
\
getopt.c
\
...
...
libs/port/ffs.c
0 → 100644
View file @
c3de6ef3
/*
* ffs function
*
* Copyright 2004 Hans Leidekker
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "config.h"
#include "wine/port.h"
#ifndef HAVE_FFS
int
ffs
(
int
x
)
{
unsigned
int
y
=
(
unsigned
int
)
x
;
if
(
y
&
0x00000001
)
return
1
;
if
(
y
&
0x00000002
)
return
2
;
if
(
y
&
0x00000004
)
return
3
;
if
(
y
&
0x00000008
)
return
4
;
if
(
y
&
0x00000010
)
return
5
;
if
(
y
&
0x00000020
)
return
6
;
if
(
y
&
0x00000040
)
return
7
;
if
(
y
&
0x00000080
)
return
8
;
if
(
y
&
0x00000100
)
return
9
;
if
(
y
&
0x00000200
)
return
10
;
if
(
y
&
0x00000400
)
return
11
;
if
(
y
&
0x00000800
)
return
12
;
if
(
y
&
0x00001000
)
return
13
;
if
(
y
&
0x00002000
)
return
14
;
if
(
y
&
0x00004000
)
return
15
;
if
(
y
&
0x00008000
)
return
16
;
if
(
y
&
0x00010000
)
return
17
;
if
(
y
&
0x00020000
)
return
18
;
if
(
y
&
0x00040000
)
return
19
;
if
(
y
&
0x00080000
)
return
20
;
if
(
y
&
0x00100000
)
return
21
;
if
(
y
&
0x00200000
)
return
22
;
if
(
y
&
0x00400000
)
return
23
;
if
(
y
&
0x00800000
)
return
24
;
if
(
y
&
0x01000000
)
return
25
;
if
(
y
&
0x02000000
)
return
26
;
if
(
y
&
0x04000000
)
return
27
;
if
(
y
&
0x08000000
)
return
28
;
if
(
y
&
0x10000000
)
return
29
;
if
(
y
&
0x20000000
)
return
30
;
if
(
y
&
0x40000000
)
return
31
;
if
(
y
&
0x80000000
)
return
32
;
return
0
;
}
#endif
/* HAVE_FFS */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment