묻고답하기

c ,php가 가능한 프로그래머 입니다.
예전 게시판을 마이그레이션 할 수 있는 방법을 알고 싶습니다...

오픈소스 이용에 감사 드립니다.

 more convGDBM2ASC.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>

#include "gdbm.h"
#include "qDecoder.h"

#define TRUE    (1)
#define FALSE   (0)

void main(int argc, char **argv) {
  GDBM_FILE dbf;
  FILE *fp;
  datum key, nextkey, data;
  char *encdata;
  char gdbmpath[0xff], ascpath[0xff];
  int  progress;

  if(argc != 3) {
    printf("Usage : convGDBM2ASC DB_PATH ASC_PATH\n");
    printf("ex) convGDBM2ASC data/test.gdbm data/test.asc\n");
    printf("ex) convGDBM2ASC /htdocs/abcd.gdbm abcd.asc\n");
    exit(1);
  }

  strcpy(gdbmpath, argv[1]);
  strcpy(ascpath, argv[2]);

  /* DB open */
  dbf = gdbm_open(gdbmpath, 0, GDBM_READER, 0, NULL);
  if(dbf == NULL) {
    printf("There is no gdbm database file in this path(%s).\n", gdbmpath);
    exit(1);
  }

  /* File open */
  fp = fopen(ascpath, "wt");
  if(fp == NULL) {
    printf("File(%s) open fail.\n", ascpath);
    exit(1);
  }

  /* Main */
  printf("-- GDBM -> ASCII indian converting.\n");
  printf("-- Designed for 'CrazyWWWBoard'\n");
  printf("-- Target GDBM  file : %s\n", gdbmpath);
  printf("-- Saved  ASCII file : %s\n", ascpath);
  printf("\n");
  printf("Converting progress.\n");


  key = gdbm_firstkey(dbf);
  for(progress = 1; key.dptr != NULL; progress++) {
    data = gdbm_fetch(dbf, key);
    encdata = qURLencode(data.dptr);

    /* save */
    fprintf(fp, "%s=%s\n", key.dptr, encdata);

    /* progress status */
    printf(".");
    if(progress % 60 == 0) printf("\n");

    /* find next */
    nextkey = gdbm_nextkey(dbf, key);

    free(key.dptr), free(data.dptr), free(encdata);

    key = nextkey;
  }

  printf("\n");
  printf("Converted %d keys.\n", progress);
  printf("Converting completed.\n");

  /* close */
  fclose(fp);
  gdbm_close(dbf);
}

글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
가이아82 게시판 글쓰기에 미리 출력된 글.. [1] 2007.08.10
최성규 제로보드에서 회원개인공간을 지원하는 방법있나요?  
박경민 간단하지만 몰라서 질문요... [2] 2007.08.10
중열™ if문 else문 질문입니다. [1] 2007.08.10
Wonyonguri o:p 라는 태그가 무엇인가요? [1] 2007.08.10
인자기 이폰트를..아시나요?? [1] 2007.08.10
송아영 퍼미션변경이 안되네요..  
파시.. 특정 htm에 로그인 걸기 [2] 2007.08.10
람군 헤드와 풋을 사용하여 홈페이지를 만들려고 하는데요.. [1] 2007.08.10
김광천 query 상에서 처리할수 있는 방법좀알려주세요.  
+_+ FCK 에디터를 제로에 설치하는 방법좀 갈쳐주세요 (봐주세요)  
(王) 디자이너 찾습니다. [1] 2007.08.10
고용제 말 풍선 말들기 소스??  
최영걸 동영상파일을 구동시킬때 매개변수에 궁금합니다. [1] 2007.08.10
이진환 서버를 내 컴터에서 원격제어 하는 방법좀 알려주세요 터미널로... [1] 2007.08.10
승리의박성환 급히 말합니다!! 저 한소프트 리눅스 2005 깔려고 했는데...ㅡ; [2] 2007.08.10
Euna PHP Array 질문... [1] 2007.08.10
송동섭 리턴값을 DB에 저장하려면 ASP/MS-SQL  
가이아82 서버를 만드려고합니다..  
한순영 나모에서 프레임을 짤때질문입니다 [1] 2007.08.10