Hi,
Need to check this one too.
make[1]: Entering directory `/home/ros/rosapps/sysutils/ctm'
ctm: [CC] ctm.c
ctm.c: In function `PerfDataRefresh':
ctm.c:356: error: `PSYSTEM_PROCESSES' undeclared (first use in this function)
ctm.c:356: error: (Each undeclared identifier is reported only once
ctm.c:356: error: for each function it appears in.)
ctm.c:356: error: syntax error before "pSPI"
ctm.c:361: error: `PSYSTEM_PROCESSORTIME_INFO' undeclared (first use in this function)
ctm.c:361: error: syntax error before "SysProcessorTimeInfo"
ctm.c:377: error: `SysProcessorTimeInfo' undeclared (first use in this function)
ctm.c:377: error: syntax error before "malloc"
ctm.c:378: error: `SYSTEM_PROCESSORTIME_INFO' undeclared (first use in this function)
ctm.c:382: error: syntax error before ')' token
ctm.c:419: error: `pSPI' undeclared (first use in this function)
ctm.c:419: error: syntax error before "pBuffer"
ctm.c:431: error: syntax error before "pBuffer"
make[1]: *** [ctm.o] Error 1
make[1]: Leaving directory `/home/ros/rosapps/sysutils/ctm'
James
Thanks Martin!
On 4/17/05, J.S. Martin <josmar52789(a)gmail.com> wrote:
> I think you guys are doing a great job with ReactOS. I tried it out
> about a year ago and I thought it was OK, not useful to my needs, but
> a good effort. Then I tried it out yesterday and I was absolutely
> amazed! If you guys keep trying and keep making progress, you will
> certainly make this a great OS and I will definitely be willing to use
> it all the time. Keep up the great work!
> --
> J.S. Martin
>
WARNING: This e-mail has been altered by MIMEDefang. Following this
paragraph are indications of the actual changes made. For more
information about your site's MIMEDefang policy, contact
MIMEDefang Administrator <postmaster(a)deos.tudelft.nl>. For more information about MIMEDefang, see:
http://www.roaringpenguin.com/mimedefang/enduser.php3
An attachment named listdlls.exe was removed from this document as it
constituted a security hazard. If you require this document, please contact
the sender and arrange an alternate means of receiving it.
Hi,
Here is list dlls utility,
James
Hello everybody,
I've uploaded a "patch" to bugzilla that adds support for Swiss German
keyboards (kbdsg.dll) to ReactOS.
http://www.reactos.com/bugzilla/show_bug.cgi?id=509
(The zip-file I uploaded contains the content of .../lib/kbdsg)
I've tested it on qemu and on real hardware and as far as I can tell it
works great. It would be great if it were included into the official
ReactOS sources. If you need any further information (or files) please let
me know.
kind regards
Roman Hoegg
roman.hoegg(a)unisg.ch
romanh(a)unisg.ch
P.S. I'm sorry if you have received this email twice. I tried to send this
information to the mailinglist yesterday but it didn't seem to get
through.
------------------------------------------
Roman Högg
Research Assistant
=mcm institute
for Media and Communications Management
University of St. Gallen, Switzerland
Blumenbergplatz 9, 9000 St. Gallen
Phone +41 (0)71 224 34 39
Mobile +41 (0)79 418 59 13
e-mail roman.hoegg(a)unisg.ch
http://www.mcm.unisg.ch
Hi,
I am experiencing problems building current source as follows
gdi32: [LD] gdi32.nostrip.dll
objects/brush.o(.text+0x52): In function `CreateDIBPatternBrush':
I:/reactos/lib/gdi32/objects/brush.c:41: undefined reference to
`NtGdiCreateDIBBrush@16'
objects/brush.o(.text+0xc7): In function `CreateDIBPatternBrushPt':
I:/reactos/lib/gdi32/objects/brush.c:71: undefined reference to
`NtGdiCreateDIBBrush@16'
collect2: ld returned 1 exit status
make[1]: *** [gdi32.nostrip.dll] Error 1
make: *** [gdi32] Error 2
I have made sure I am fully current with the source and have tried a full
"clean" but to no avail.
Can anyone throw some light onto this problem.
Mike Lerwill
Hi,
I guess that the implementation of strtoull is slightly wrong.
The current function prototype is:
unsigned long
strtoull(const char *nptr, char **endptr, int base)
But (IMHO) it should be:
unsigned long long
strtoull(const char *nptr, char **endptr, int base)
A patch is attached. This patch tries to determine the macro that
defines the maximum value for an unsigned long long and the
corresponding type. It tests for the existance of several macros and
optionally falls back to an unsigned long (you might want to remove this
"feature" - don't know if it's useful). The header file
<internal/file.h> is added to make it compilable without warning. I
changed both strtoull.c files but it seems that neither of them is
compiled/used, therefore I added strtoull.o to the lib/crt/makefile.
The existance of the sources below lib/crtdll/ is very confusing because
these sources arent't compiled at all. What's the cause to keep them in
the repository?
BTW: Where's the definition of strtoll? Is it required? Or was my work
useless at all?
Regards,
Mark
Index: lib/crt/stdlib/strtoull.c
===================================================================
--- lib/crt/stdlib/strtoull.c (revision 14631)
+++ lib/crt/stdlib/strtoull.c (working copy)
@@ -4,21 +4,49 @@
#include <ctype.h>
#include <errno.h>
#include <stdlib.h>
-//#include <msvcrt/unconst.h>
+/* #include <msvcrt/unconst.h> */
+/* required to get prototype for __set_errno() */
+#include <internal/file.h>
+
+#if defined(LONG_LONG_MAX)
+/* GCC-style constant */
+#define ROS_LLONG_MAX LONG_LONG_MAX
+#define ROS_ULLONG_MAX ULONG_LONG_MAX
+typedef long long ros_ll;
+typedef unsigned long long ros_ull;
+#elif defined(_I64_MAX)
+/* MSVC-style constant */
+#define ROS_LLONG_MAX _I64_MAX
+#define ROS_ULLONG_MAX _UI64_MAX
+typedef __int64 ros_ll;
+typedef unsigned __int64 ros_ull;
+#elif defined(LLONG_MAX)
+/* C9x-style constant */
+#define ROS_LLONG_MAX LLONG_MAX
+#define ROS_ULLONG_MAX ULLONG_MAX
+#include <stdint.h>
+typedef int64_t ros_ll;
+typedef uint64_t ros_ull;
+#else
+#define ROS_LLONG_MAX LONG_MAX
+#define ROS_ULLONG_MAX ULONG_MAX
+typedef long ros_ll;
+typedef unsigned long ros_ull;
+#endif
+
/*
* Convert a string to an unsigned long integer.
*
* Ignores `locale' stuff. Assumes that the upper and lower case
* alphabets and digits are each contiguous.
*/
-unsigned long
+ros_ull
strtoull(const char *nptr, char **endptr, int base)
{
const char *s = nptr;
- unsigned long acc;
+ ros_ull acc, cutoff;
int c;
- unsigned long cutoff;
int neg = 0, any, cutlim;
/*
@@ -43,8 +71,8 @@
}
if (base == 0)
base = c == '0' ? 8 : 10;
- cutoff = (unsigned long)ULONG_MAX / base;
- cutlim = (unsigned long)ULONG_MAX % base;
+ cutoff = (ros_ull)ROS_ULLONG_MAX / base;
+ cutlim = (int) ((ros_ull)ROS_ULLONG_MAX % base);
for (acc = 0, any = 0;; c = *s++)
{
if (isdigit(c))
@@ -65,7 +93,7 @@
}
if (any < 0)
{
- acc = ULONG_MAX;
+ acc = ROS_ULLONG_MAX;
__set_errno ( ERANGE );
}
else if (neg)
Index: lib/crt/makefile
===================================================================
--- lib/crt/makefile (revision 14631)
+++ lib/crt/makefile (working copy)
@@ -369,6 +369,7 @@
stdlib/strtod.o \
stdlib/strtol.o \
stdlib/strtoul.o \
+ stdlib/strtoull.o \
stdlib/swab.o \
stdlib/wcstod.o \
stdlib/wcstol.o \
Index: lib/crtdll/stdlib/strtoull.c
===================================================================
--- lib/crtdll/stdlib/strtoull.c (revision 14631)
+++ lib/crtdll/stdlib/strtoull.c (working copy)
@@ -4,21 +4,46 @@
#include <msvcrt/ctype.h>
#include <msvcrt/errno.h>
#include <msvcrt/stdlib.h>
-//#include <msvcrt/unconst.h>
+/* #include <msvcrt/unconst.h> */
+#if defined(LONG_LONG_MAX)
+/* GCC-style constant */
+#define ROS_LLONG_MAX LONG_LONG_MAX
+#define ROS_ULLONG_MAX ULONG_LONG_MAX
+typedef long long ros_ll;
+typedef unsigned long long ros_ull;
+#elif defined(_I64_MAX)
+/* MSVC-style constant */
+#define ROS_LLONG_MAX _I64_MAX
+#define ROS_ULLONG_MAX _UI64_MAX
+typedef __int64 ros_ll;
+typedef unsigned __int64 ros_ull;
+#elif defined(LLONG_MAX)
+/* C9x-style constant */
+#define ROS_LLONG_MAX LLONG_MAX
+#define ROS_ULLONG_MAX ULLONG_MAX
+#include <stdint.h>
+typedef int64_t ros_ll;
+typedef uint64_t ros_ull;
+#else
+#define ROS_LLONG_MAX LONG_MAX
+#define ROS_ULLONG_MAX ULONG_MAX
+typedef long ros_ll;
+typedef unsigned long ros_ull;
+#endif
+
/*
* Convert a string to an unsigned long integer.
*
* Ignores `locale' stuff. Assumes that the upper and lower case
* alphabets and digits are each contiguous.
*/
-unsigned long
+ros_ull
strtoull(const char *nptr, char **endptr, int base)
{
const char *s = nptr;
- unsigned long acc;
+ ros_ull acc, cutoff;
int c;
- unsigned long cutoff;
int neg = 0, any, cutlim;
/*
@@ -43,8 +68,8 @@
}
if (base == 0)
base = c == '0' ? 8 : 10;
- cutoff = (unsigned long)ULONG_MAX / base;
- cutlim = (unsigned long)ULONG_MAX % base;
+ cutoff = (ros_ull)ROS_ULLONG_MAX / base;
+ cutlim = (int) ((ros_ull)ROS_ULLONG_MAX % base);
for (acc = 0, any = 0;; c = *s++)
{
if (isdigit(c))
@@ -65,7 +90,7 @@
}
if (any < 0)
{
- acc = ULONG_MAX;
+ acc = ROS_ULLONG_MAX;
errno = ERANGE;
}
else if (neg)