📄 chang~xm.c
字号:
/* SCCSID @(#)changever.c 1.7 3/27/97 */#include "stdio.h"#include "stdlib.h"#include "time.h"#define MAXTEXT 128 /* Max text number in each line *//* Version: 0x FFF| F | FF | FF SCCSID mon dat yea*//* changever.c: when sccsget has SCCSID (not changever.c 1.1 1/14/97) we just pick that ID and time as our ROM version. When sccsget is generated new,we go to SCCS/ , and find its previous version, then +1, as its version. its date is the same date as sccsget generated. */long split();main(){ FILE *fp; long version; fp = fopen("version.h", "w"); if (!fp) { system("rm -f version.h"); fp = fopen("version.h", "w"); } version = GetVersion(); fprintf(fp, "long version = 0x%x;\n", version); fclose(fp); change_bank30(version); exit(0);}change_bank30(version)long version;{ FILE *fp; fp = fopen("bank30.rom", "r"); if (!fp) { fprintf(stderr, "bank30.rom open failed. \nTo keep bank30.rom to the same version as your distributed code,\nafter you generate bank30.rom, run \"changever \"."); return; } fclose(fp); fp = fopen("bank30.rom", "a"); fseek(fp, 0, 0); fwrite(&version, sizeof(long), 1, fp); fclose(fp);}GetVersion(){ FILE *fp; char ss[128]; long version; fp = fopen("sccsget", "r"); if (!fp) { printf("Cannot open \"sccsget\"!\n"); exit(1); } while (fgets(ss, 128, fp)) { if (!strncmp(ss, "# SCCSID", 8)) { if (version = split(ss)) break; else { } } } fclose(fp); return version;}long split(ss)char *ss;{ char s1[32], s2[32], s3[32], s4[32], s5[32]; char s6[4], ch[128]; long version; long i, j, date, mon, year; char *p; FILE *fp; time_t tmp; sscanf(ss, "%s%s%s%s%s", s1, s2, s3, s4, s5); p = s4; while (*p && *p!='.') p++; if (!*p) { strcpy(s1, "SCCS/s.sccsget"); fp = fopen(s1, "r"); if (!fp) { strcpy(s1,getenv("PROJECTDIR")); strcat(s1,"/SCCS/s.sccsget"); fp = fopen(s1, "r"); if (!fp) { printf("Please Check in sccsget first!\n"); exit(1); } } while (fgets(ch, 128, fp)) { if (ch[0]== 001 && ch[1]=='d') { p = &ch[5]; while (*p && *p!='.') p++; break; } } fclose(fp); p++; version = atoi(p) + 1; time(&tmp); strftime(p, 20, "%D", localtime(&tmp)); } else { p++; version = atoi(p); p = s5; } sscanf(p, "%d", &mon); while (*p!='/') p++; p++; sscanf(p, "%d", &date); while (*p!='/') p++; p++; sscanf(p, "%d", &year); version = version << 20; mon = mon << 16; date = date << 8; version = version | mon | date | year; return version;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -