About: Source:SLASH'EM 0.0.7E7F2/version.c   Sponge Permalink

An Entity of Type : owl:Thing, within Data Space : 134.155.108.49:8890 associated with source dataset(s)

Below is the full text to version.c from the source code of SLASH'EM 0.0.7E7F2. To link to a particular line, write [[SLASH'EM 0.0.7E7F2/version.c#line123]], for example. The latest source code for vanilla NetHack is at Source code.

AttributesValues
rdfs:label
  • Source:SLASH'EM 0.0.7E7F2/version.c
rdfs:comment
  • Below is the full text to version.c from the source code of SLASH'EM 0.0.7E7F2. To link to a particular line, write [[SLASH'EM 0.0.7E7F2/version.c#line123]], for example. The latest source code for vanilla NetHack is at Source code.
dcterms:subject
dbkwik:nethack/pro...iPageUsesTemplate
abstract
  • Below is the full text to version.c from the source code of SLASH'EM 0.0.7E7F2. To link to a particular line, write [[SLASH'EM 0.0.7E7F2/version.c#line123]], for example. The latest source code for vanilla NetHack is at Source code. 1. /* SCCS Id: @(#)version.c 3.4 2003/12/06 */ 2. /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3. /* NetHack may be freely redistributed. See license for details. */ 4. 5. #include "hack.h" 6. #include "date.h" 7. /* 8. * All the references to the contents of patchlevel.h have been moved 9. * into makedefs.... 10. */ 11. #ifdef SHORT_FILENAMES 12. #include "patchlev.h" 13. #else 14. #include "patchlevel.h" 15. #endif 16. 17. /* #define BETA_INFO "" */ /* "[ beta n]" */ 18. 19. /* fill buffer with short version (so caller can avoid including date.h) */ 20. char * 21. version_string(buf) 22. char *buf; 23. { 24. return strcpy(buf, VERSION_STRING); 25. } 26. 27. /* fill and return the given buffer with the long nethack version string */ 28. char * 29. getversionstring(buf) 30. char *buf; 31. { 32. Strcpy(buf, VERSION_ID); 33. #if defined(BETA) && defined(BETA_INFO) 34. Sprintf(eos(buf), " %s", BETA_INFO); 35. #endif 36. #if defined(RUNTIME_PORT_ID) 37. append_port_id(buf); 38. #endif 39. return buf; 40. } 41. 42. int 43. doversion() 44. { 45. char buf[BUFSZ]; 46. 47. pline("%s", getversionstring(buf)); 48. return 0; 49. } 50. 51. int 52. doextversion() 53. { 54. display_file_area(NH_OPTIONS_USED_AREA, NH_OPTIONS_USED, TRUE); 55. return 0; 56. } 57. 58. #ifdef MICRO 59. boolean 60. comp_times(filetime) 61. long filetime; 62. { 63. return((boolean)(filetime < BUILD_TIME)); 64. } 65. #endif 66. 67. boolean 68. check_version(version_data, filename, complain) 69. struct version_info *version_data; 70. const char *filename; 71. boolean complain; 72. { 73. if ( 74. #ifdef VERSION_COMPATIBILITY 75. version_data->incarnation < VERSION_COMPATIBILITY || 76. version_data->incarnation > VERSION_NUMBER 77. #else 78. version_data->incarnation != VERSION_NUMBER 79. #endif 80. ) { 81. if (complain) 82. pline("Version mismatch for file \"%s\".", filename); 83. return FALSE; 84. } else if ( 85. #ifndef IGNORED_FEATURES 86. version_data->feature_set != VERSION_FEATURES || 87. #else 88. (version_data->feature_set & ~IGNORED_FEATURES) != 89. (VERSION_FEATURES & ~IGNORED_FEATURES) || 90. #endif 91. version_data->entity_count != VERSION_SANITY1 || 92. version_data->struct_sizes != VERSION_SANITY2) { 93. if (complain) 94. pline("Configuration incompatibility for file \"%s\".", 95. filename); 96. return FALSE; 97. } 98. return TRUE; 99. } 100. 101. /* this used to be based on file date and somewhat OS-dependant, 102. but now examines the initial part of the file's contents */ 103. boolean 104. uptodate(fd, name) 105. int fd; 106. const char *name; 107. { 108. int rlen; 109. struct version_info vers_info; 110. boolean verbose = name ? TRUE : FALSE; 111. 112. rlen = read(fd, (genericptr_t) &vers_info, sizeof vers_info); 113. minit(); /* ZEROCOMP */ 114. if (rlen == 0) { 115. if (verbose) { 116. pline("File \"%s\" is empty?", name); 117. wait_synch(); 118. } 119. return FALSE; 120. } 121. if (!check_version(&vers_info, name, verbose)) { 122. if (verbose) wait_synch(); 123. return FALSE; 124. } 125. return TRUE; 126. } 127. 128. void 129. store_version(fd) 130. int fd; 131. { 132. const static struct version_info version_data = { 133. VERSION_NUMBER, VERSION_FEATURES, 134. VERSION_SANITY1, VERSION_SANITY2 135. }; 136. 137. bufoff(fd); 138. /* bwrite() before bufon() uses plain write() */ 139. bwrite(fd,(genericptr_t)&version_data,(unsigned)(sizeof version_data)); 140. bufon(fd); 141. return; 142. } 143. 144. #ifdef AMIGA 145. const char amiga_version_string[] = AMIGA_VERSION_STRING; 146. #endif 147. 148. unsigned long 149. get_feature_notice_ver(str) 150. char *str; 151. { 152. char buf[BUFSZ]; 153. int ver_maj, ver_min, patch; 154. char *istr[3]; 155. int j = 0; 156. 157. if (!str) return 0L; 158. str = strcpy(buf, str); 159. istr[j] = str; 160. while (*str) { 161. if (*str == '.') { 162. *str++ = '\0'; 163. j++; 164. istr[j] = str; 165. if (j == 2) break; 166. } else if (index("0123456789", *str) != 0) { 167. str++; 168. } else 169. return 0L; 170. } 171. if (j != 2) return 0L; 172. ver_maj = atoi(istr[0]); 173. ver_min = atoi(istr[1]); 174. patch = atoi(istr[2]); 175. return FEATURE_NOTICE_VER(ver_maj,ver_min,patch); 176. /* macro from hack.h */ 177. } 178. 179. unsigned long 180. get_current_feature_ver() 181. { 182. return FEATURE_NOTICE_VER(VERSION_MAJOR,VERSION_MINOR,PATCHLEVEL); 183. } 184. 185. /*version.c*/
Alternative Linked Data Views: ODE     Raw Data in: CXML | CSV | RDF ( N-Triples N3/Turtle JSON XML ) | OData ( Atom JSON ) | Microdata ( JSON HTML) | JSON-LD    About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 07.20.3217, on Linux (x86_64-pc-linux-gnu), Standard Edition
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2012 OpenLink Software