-epoc_spawn( char *cmd, char *cmdline) {
- RProcess p;
- TRequestStatus status;
- TInt rc;
-
- rc = p.Create( _L( cmd), _L( cmdline));
- if (rc != KErrNone)
- return -1;
-
- p.Resume();
-
- p.Logon( status);
- User::WaitForRequest( status);
- if (status!=KErrNone) {
- return -1;
- }
- return 0;
+
+/* Workaround for defect strtoul(). Values with leading + are zero */
+
+unsigned long int epoc_strtoul(const char *nptr, char **endptr,
+ int base) {
+ if (nptr && *nptr == '+')
+ nptr++;
+ return strtoul( nptr, endptr, base);