Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Cleanup compile warnings - mostly by adding prototypes |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | ferrieux-nacl |
Files: | files | file ages | folders |
SHA1: |
a44ecf099cb3655d0638aa102d5c1556 |
User & Date: | venkat 2011-04-04 21:42:57 |
Context
2011-04-04
| ||
22:03 | Improve README for running the example. check-in: a114bffb5a user: venkat tags: ferrieux-nacl | |
21:42 | Cleanup compile warnings - mostly by adding prototypes check-in: a44ecf099c user: venkat tags: ferrieux-nacl | |
18:56 | Big cleanup, avoiding any symlinks nor copies. More streamlined ./configure step. check-in: 264b36c863 user: ferrieux tags: ferrieux-nacl | |
Changes
Changes to nacl/naclMain.c.
︙ | ︙ | |||
9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <ppapi/c/ppb_instance.h> #include <ppapi/c/ppp.h> #include <ppapi/c/ppp_instance.h> #include <errno.h> #include "tcl.h" static Tcl_Interp *interp = NULL; const char *init_tcl_contents = "set ::tcl_library {/}\n" # include "init.tcl.c" ; | > | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <ppapi/c/ppb_instance.h> #include <ppapi/c/ppp.h> #include <ppapi/c/ppp_instance.h> #include <errno.h> #include "tcl.h" #include "tclInt.h" static Tcl_Interp *interp = NULL; const char *init_tcl_contents = "set ::tcl_library {/}\n" # include "init.tcl.c" ; |
︙ | ︙ | |||
48 49 50 51 52 53 54 | printf("DBUG:Tcl_Init2\n"); if (Tcl_Eval(ii,init_tcl_contents)!=TCL_OK) { printf("Tcl Init Failed: %s !!!\n",Tcl_GetStringResult(ii)); return NULL; } return ii; } | | | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | printf("DBUG:Tcl_Init2\n"); if (Tcl_Eval(ii,init_tcl_contents)!=TCL_OK) { printf("Tcl Init Failed: %s !!!\n",Tcl_GetStringResult(ii)); return NULL; } return ii; } static const char *EvalTcl(char *s) { if (!interp) return "No Tcl Interp!!!"; Tcl_Eval(interp,s); return Tcl_GetStringResult(interp); } |
︙ | ︙ | |||
113 114 115 116 117 118 119 | return var_interface->VarFromUtf8(module_id, str, strlen(str)); return PP_MakeUndefined(); } /** * A simple function that always returns 42. * @return always returns the integer 42 | < > | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | return var_interface->VarFromUtf8(module_id, str, strlen(str)); return PP_MakeUndefined(); } /** * A simple function that always returns 42. * @return always returns the integer 42 static struct PP_Var FortyTwo() { return PP_MakeInt32(42); } */ /** * Called when the NaCl module is instantiated on the web page. The identifier * of the new instance will be passed in as the first argument (this value is * generated by the browser and is an opaque handle). This is called for each * instantiation of the NaCl module, which is each time the <embed> tag for * this module is encountered. |
︙ | ︙ | |||
274 275 276 277 278 279 280 | if (NULL != method_name) { if (strcmp(method_name, "eval") == 0) { if (argc == 1) { if (argv[0].type != PP_VARTYPE_STRING) { v = StrToVar("Arg from Javascript is not a string!"); } else { char* str = strdup(VarToCStr(argv[0])); | | | 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | if (NULL != method_name) { if (strcmp(method_name, "eval") == 0) { if (argc == 1) { if (argv[0].type != PP_VARTYPE_STRING) { v = StrToVar("Arg from Javascript is not a string!"); } else { char* str = strdup(VarToCStr(argv[0])); const char* res = EvalTcl(str); v = StrToVar(res); free(str); } } else { v = StrToVar("Unexpected number of args"); } } else { |
︙ | ︙ |
Changes to nacl/naclMissing.c.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | /* * * naclMissing: "implement" all missing syscalls, library funcs and vars. * */ #include <errno.h> int timezone; /* emulated */ char * getwd (char *buf) { printf("*BADSYSCALL:getwd\n"); strcpy(buf,"/"); return "/"; } /* traced */ int access(const char *name, int mode) { | > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | /* * * naclMissing: "implement" all missing syscalls, library funcs and vars. * */ #include <stdio.h> #include <errno.h> #include <string.h> int timezone; /* emulated */ char * getwd (char *buf) { printf("*BADSYSCALL:getwd\n"); strcpy(buf,"/"); return "/"; } /* traced */ int access(const char *name, int mode) { printf("*BADSYSCALL:access(\"%s\",%d)\n",name,mode); return 0; errno=ENOENT;return -1; } /* plugged */ |
︙ | ︙ |
Changes to nacl/naclcompat.h.
︙ | ︙ | |||
85 86 87 88 89 90 91 92 93 94 95 96 97 98 | #define SO_MARK 36 #define SO_TIMESTAMPING 37 #define SCM_TIMESTAMPING SO_TIMESTAMPING #define SO_PROTOCOL 38 #define SO_DOMAIN 39 struct addrinfo { int ai_flags; /* Input flags. */ int ai_family; /* Protocol family for socket. */ int ai_socktype; /* Socket type. */ int ai_protocol; /* Protocol for socket. */ socklen_t ai_addrlen; /* Length of socket address. */ | > > > | 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | #define SO_MARK 36 #define SO_TIMESTAMPING 37 #define SCM_TIMESTAMPING SO_TIMESTAMPING #define SO_PROTOCOL 38 #define SO_DOMAIN 39 typedef socklen_t __socklen_t; struct addrinfo { int ai_flags; /* Input flags. */ int ai_family; /* Protocol family for socket. */ int ai_socktype; /* Socket type. */ int ai_protocol; /* Protocol for socket. */ socklen_t ai_addrlen; /* Length of socket address. */ |
︙ | ︙ | |||
1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 | extern int connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len); /* Put the address of the peer connected to socket FD into *ADDR (which is *LEN bytes long), and its actual length into *LEN. */ extern int getpeername (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __len) __THROW; /* Send N bytes of BUF to socket FD. Returns the number sent or -1. This function is a cancellation point and therefore not marked with __THROW. */ extern ssize_t send (int __fd, __const void *__buf, size_t __n, int __flags); | > > > > > > > > > > > > > > > > > > > > > > | 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 | extern int connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len); /* Put the address of the peer connected to socket FD into *ADDR (which is *LEN bytes long), and its actual length into *LEN. */ extern int getpeername (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __len) __THROW; /* Return entry from network data base for network with NAME and protocol PROTO. This function is a possible cancellation point and therefore not marked with __THROW. */ extern struct servent *getservbyname (__const char *__name, __const char *__proto); /* Check the first NFDS descriptors each in READFDS (if not NULL) for read readiness, in WRITEFDS (if not NULL) for write readiness, and in EXCEPTFDS (if not NULL) for exceptional conditions. If TIMEOUT is not NULL, time out after waiting the interval specified therein. Returns the number of ready descriptors, or -1 for errors. This function is a cancellation point and therefore not marked with __THROW. */ extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); /* Send N bytes of BUF to socket FD. Returns the number sent or -1. This function is a cancellation point and therefore not marked with __THROW. */ extern ssize_t send (int __fd, __const void *__buf, size_t __n, int __flags); |
︙ | ︙ | |||
1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 | new socket's descriptor, or -1 for errors. This function is a cancellation point and therefore not marked with __THROW. */ extern int accept (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len); #ifdef __USE_GNU /* Similar to 'accept' but takes an additional parameter to specify flags. This function is a cancellation point and therefore not marked with __THROW. */ extern int accept4 (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len, int __flags); | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 | new socket's descriptor, or -1 for errors. This function is a cancellation point and therefore not marked with __THROW. */ extern int accept (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len); #define __nonnull(x) #define __USE_BSD 1 #define __wur #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K /* Truncate the file FD is open on to LENGTH bytes. */ # ifndef __USE_FILE_OFFSET64 extern int ftruncate (int __fd, __off_t __length) __THROW __wur; # else # ifdef __REDIRECT_NTH extern int __REDIRECT_NTH (ftruncate, (int __fd, __off64_t __length), ftruncate64) __wur; # else # define ftruncate ftruncate64 # endif # endif # ifdef __USE_LARGEFILE64 extern int ftruncate64 (int __fd, __off64_t __length) __THROW __wur; # endif #endif /* Use BSD || X/Open Unix || POSIX 2003. */ #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED # ifndef __USE_FILE_OFFSET64 /* Get file attributes about FILE and put them in BUF. If FILE is a symbolic link, do not follow it. */ extern int lstat (__const char *__restrict __file, struct stat *__restrict __buf) __THROW __nonnull ((1, 2)); # else # ifdef __REDIRECT_NTH extern int __REDIRECT_NTH (lstat, (__const char *__restrict __file, struct stat *__restrict __buf), lstat64) __nonnull ((1, 2)); # else # define lstat lstat64 # endif # endif # ifdef __USE_LARGEFILE64 extern int lstat64 (__const char *__restrict __file, struct stat64 *__restrict __buf) __THROW __nonnull ((1, 2)); # endif #endif /* Create a device file named PATH, with permission and special bits MODE and device number DEV (which can be constructed from major and minor device numbers with the `makedev' macro above). */ #if defined __USE_MISC || defined __USE_BSD || defined __USE_XOPEN_EXTENDED extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev) __THROW __nonnull ((1)); #endif /* Create a new FIFO named PATH, with permission bits MODE. */ extern int mkfifo (__const char *__path, __mode_t __mode) __THROW __nonnull ((1)); /* Set the file creation mask of the current process to MASK, and return the old creation mask. */ extern __mode_t umask (__mode_t __mask) __THROW; /* Set the access and modification times of FILE to those given in *FILE_TIMES. If FILE_TIMES is NULL, set them to the current time. */ extern int utime (__const char *__file, __const struct utimbuf *__file_times) __THROW __nonnull ((1)); /* Rewind DIRP to the beginning of the directory. */ extern void rewinddir (DIR *__dirp) __THROW __nonnull ((1)); #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED /* Put the absolute pathname of the current working directory in BUF. If successful, return BUF. If not, put an error message in BUF and return NULL. BUF should be at least PATH_MAX bytes long. */ extern char *getwd (char *__buf) __THROW __nonnull ((1)) __wur; #endif #if defined __USE_BSD || defined __USE_UNIX98 /* Put the name of the current host in no more than LEN bytes of NAME. The result is null-terminated if LEN is large enough for the full name and the terminator. */ extern int gethostname (char *__name, size_t __len) __THROW __nonnull ((1)); #endif /* Return entry from host data base which address match ADDR with length LEN and type TYPE. This function is a possible cancellation point and therefore not marked with __THROW. */ extern struct hostent *gethostbyaddr (__const void *__addr, __socklen_t __len, int __type); /* Return entry from host data base for host with NAME. This function is a possible cancellation point and therefore not marked with __THROW. */ extern struct hostent *gethostbyname (__const char *__name); #ifdef __USE_GNU /* Similar to 'accept' but takes an additional parameter to specify flags. This function is a cancellation point and therefore not marked with __THROW. */ extern int accept4 (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len, int __flags); |
︙ | ︙ | |||
1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 | /* Define some macros helping to catch buffer overflows. */ #if __USE_FORTIFY_LEVEL > 0 && defined __extern_always_inline # include <bits/socket2.h> #endif #define __USE_POSIX /* Extension from POSIX.1g. */ #ifdef __USE_POSIX # ifdef __USE_GNU /* Lookup mode. */ # define GAI_WAIT 0 # define GAI_NOWAIT 1 # endif /* Possible values for `ai_flags' field in `addrinfo' structure. */ | > > > > | 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 | /* Define some macros helping to catch buffer overflows. */ #if __USE_FORTIFY_LEVEL > 0 && defined __extern_always_inline # include <bits/socket2.h> #endif #define __USE_POSIX #define __USE_GNU /* Extension from POSIX.1g. */ #ifdef __USE_POSIX # ifdef __USE_GNU /* Lookup mode. */ # define GAI_WAIT 0 # define GAI_NOWAIT 1 # endif /* Possible values for `ai_flags' field in `addrinfo' structure. */ |
︙ | ︙ | |||
1235 1236 1237 1238 1239 1240 1241 | # define NI_DGRAM 16 /* Look up UDP service rather than TCP. */ # ifdef __USE_GNU # define NI_IDN 32 /* Convert name from IDN format. */ # define NI_IDN_ALLOW_UNASSIGNED 64 /* Don't reject unassigned Unicode code points. */ # define NI_IDN_USE_STD3_ASCII_RULES 128 /* Validate strings according to STD3 rules. */ | > > > > > > > > > > > > > > > > > > > > > > > > > | > | 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 | # define NI_DGRAM 16 /* Look up UDP service rather than TCP. */ # ifdef __USE_GNU # define NI_IDN 32 /* Convert name from IDN format. */ # define NI_IDN_ALLOW_UNASSIGNED 64 /* Don't reject unassigned Unicode code points. */ # define NI_IDN_USE_STD3_ASCII_RULES 128 /* Validate strings according to STD3 rules. */ /* Translate name of a service location and/or a service name to set of socket addresses. This function is a possible cancellation point and therefore not marked with __THROW. */ extern int getaddrinfo (__const char *__restrict __name, __const char *__restrict __service, __const struct addrinfo *__restrict __req, struct addrinfo **__restrict __pai); /* Free `addrinfo' structure AI including associated storage. */ extern void freeaddrinfo (struct addrinfo *__ai) __THROW; /* Convert error return from getaddrinfo() to a string. */ extern __const char *gai_strerror (int __ecode) __THROW; /* Translate a socket address to a location and service name. This function is a possible cancellation point and therefore not marked with __THROW. */ extern int getnameinfo (__const struct sockaddr *__restrict __sa, socklen_t __salen, char *__restrict __host, socklen_t __hostlen, char *__restrict __serv, socklen_t __servlen, unsigned int __flags); # endif /* POSIX */ #endif /* We can optimize calls to the conversion functions. Either nothing has to be done or we are using directly the byte-swapping functions which often can be inlined. */ # if __BYTE_ORDER == __BIG_ENDIAN /* The host byte order is the same as network byte order, |
︙ | ︙ | |||
1257 1258 1259 1260 1261 1262 1263 1264 | # define ntohl(x) __bswap_32 (x) # define ntohs(x) __bswap_16 (x) # define htonl(x) __bswap_32 (x) # define htons(x) __bswap_16 (x) # endif # endif extern int timezone; | > > > > | 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 | # define ntohl(x) __bswap_32 (x) # define ntohs(x) __bswap_16 (x) # define htonl(x) __bswap_32 (x) # define htons(x) __bswap_16 (x) # endif # endif extern int timezone; /* Convert Internet number in IN to ASCII representation. The return value is a pointer to an internal array containing the string. */ extern char *inet_ntoa (struct in_addr __in) __THROW; |